Test driven object oriented ATM program