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)
Beispiel #3
0
    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)