Problem 3 Compleate with Test and Visitor