Esempio n. 1
0
def create_user_obj():
   yearObj = year.Year(2017)
   monthObj = month.Month('jan')
   month2Obj = month.Month('feb')
   yearObj.add_month(monthObj)
   yearObj.add_month(month2Obj)
   obj = user.User('Lucas', 'randomPassword')
   obj.add_year(yearObj)
   year2Obj = year.Year(2018)
   year2Obj.add_month(month2Obj)
   obj.add_year(year2Obj)
   return obj
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)
Esempio n. 3
0
 def analyze_chosen_month(self):
     """Asks which month to check and runs analyze function with it."""
     yearNumber = year.Year().number
     monthName = month.Month().name
     try:
         monthObj = self.userObj.yearDict[yearNumber].monthDict[monthName]
     except KeyError:
         input('No such data in database. Hit enter. ')
         return
     self.analyze_month(yearNumber, monthObj)
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)
Esempio n. 5
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 = month.Month('jan')
    assert_equal(obj.name, 'jan')

    assert_raises(Exception, month.Month, 'January')