def test_show_month(): obj = month.Month('jan') stashObj = stash.Stash('wallet', 150) obj.add_stash(stashObj) stash2Obj = stash.Stash('bank', 200) obj.add_stash(stash2Obj) answer = 'jan\nTotal: 350.0\nwallet: 150.0\nbank: 200.0\n\n' assert_equal(obj.show_month(), answer)
def test_add_remove_stash(): obj = month.Month('jan') stashObj = stash.Stash('wallet', 150) obj.add_stash(stashObj) assert_equal(len(obj.stashList), 1) stash2Obj = stash.Stash('bank', 200) obj.add_stash(stash2Obj) assert_equal(len(obj.stashList), 2) assert_equal(obj.totalStash.amount, 350) stash3Obj = stash.Stash('sock', 50) assert_raises(Exception, obj.remove_stash, stash3Obj) obj.remove_stash(stash2Obj) assert_equal(len(obj.stashList), 1) assert_equal(obj.totalStash.amount, 150)
def add_month(self): """Lets user to input and save data for certain month.""" # User inputs about year number and later about month name, # stash names and values are being asked internally, while # creating certain objects. yearObj = year.Year() if yearObj.number in self.userObj.yearDict: yearObj = self.userObj.yearDict[yearObj.number] monthObj = month.Month() # Leaves function if user decided to not to override month. if yearObj.add_month(monthObj) == False: return for stashName in self.userObj.stashNames: yearObj.monthDict[monthObj.name].add_stash(stash.Stash(stashName)) self.userObj.add_year(yearObj) notify_observers(self.userObj) print('\nData for year {} saved:'.format(yearObj.number)) print(yearObj.monthDict[monthObj.name].show_month()) input('\nHit enter to go back to menu.')
def test_init(): obj = stash.Stash('wallet', 120.556789) assert_equal(obj.name, 'wallet') assert_equal(obj.amount, 120.56) assert_raises(Exception, stash.Stash, 'wallet', 'a lot')
def test_show_stash(): obj = stash.Stash('wallet', 120.556789) assert_equal(obj.show_stash(), 'wallet: 120.56')
def test_increase_and_decrease(): obj = stash.Stash('wallet', 120.556789) obj.increase_amount(3.45678) assert_equal(obj.amount, 124.02) obj.decrease_amount(22.123) assert_equal(obj.amount, 101.9)