예제 #1
0
    def __init__(self, family_name: str, salary_one: float, salary_two: float,  *children):
        super().__init__(family_name, salary_one + salary_two, 2 + len(children))
        self.room_cost = 30
        self.children = list(children)

        self.appliances = [TV(), Fridge(), Laptop(), TV(), Fridge(), Laptop()]
        for _ in range(len(children)):
            self.appliances.extend([TV(), Fridge(), Laptop()])

        self.calculate_expenses(self.appliances, self.children)

    # def calculate_expenses(self, *args):
    #     total = 0
    #     for i in self.appliances:
    #         total += i.get_monthly_expense()
    #     for c in self.children:
    #         total += c.cost * 30
    #     self.expenses = total
    #     return self.expenses


# child1 = Child(5, 1, 2, 1)
# child2 = Child(3, 2)
#
# yo = YoungCoupleWithChildren("Peterson", 600, 520, child1, child2)
# print(yo.calculate_expenses())
예제 #2
0
 def __init__(self, family_name, pension_one, pension_two):
     super().__init__(family_name,
                      pension_one + pension_two,
                      members_count=2)
     self.room_cost = 15
     self.appliances = [TV(), Fridge(), Stove(), TV(), Fridge(), Stove()]
     self.calculate_expenses(self.appliances)
예제 #3
0
class YoungCouple(Room):
    room_cost = 20
    appliances = [TV(), Fridge(), Laptop(), TV(), Fridge(), Laptop()]

    def __init__(self, family_name: str, salary_one: float, salary_two: float):
        super().__init__(family_name, salary_one + salary_two, 2)
        self.calculate_expenses(self.appliances)
예제 #4
0
 def __init__(self, family_name: str, pension_one: float,
              pension_two: float):
     super().__init__(name=family_name,
                      budget=(pension_one + pension_two),
                      members_count=2)
     self.appliances = [TV(), Fridge(), Stove(), TV(), Fridge(), Stove()]
     self.calculate_expenses(self.appliances)
 def __init__(self, family_name, salary_one, salary_two):
     super().__init__(family_name,
                      budget=salary_one + salary_two,
                      members_count=2)
     self.room_cost = YoungCouple.__ROOM_COST
     self.appliances = [TV(), Fridge(), Laptop(), TV(), Fridge(), Laptop()]
     self.calculate_expenses(self.appliances)
 def __init__(self, family_name: str, salary_ne: float, salary_two: float):
     super().__init__(name=family_name,
                      budget=(salary_ne + salary_two),
                      members_count=2)
     self.room_cost = 20
     self.appliances = [TV(), Fridge(), Laptop(), TV(), Fridge(), Laptop()]
     self.calculate_expenses(self.appliances)
예제 #7
0
 def __init__(self, family_name, salary_one, salary_two, *children):
     super().__init__(family_name, budget=salary_one + salary_two, members_count=2 + len(children))
     self.room_cost = YoungCoupleWithChildren.__ROOM_COST
     self.children = list(children)
     self.appliances = [TV(), Fridge(), Laptop(), TV(), Fridge(), Laptop()]
     for _ in children:
         self.appliances.extend([TV(), Fridge(), Laptop()])
     self.calculate_expenses(self.appliances, children)
예제 #8
0
 def __init__(self, family_name: str, salary_one: float, salary_two: float, *children):
     super().__init__(family_name, budget=salary_one + salary_two, members_count=2 + len(children))
     self.room_cost = 30
     self.children = children
     self.appliances = [[TV(), Fridge(), Laptop(), TV(), Fridge(), Laptop()]]
     for _ in range(len(children)):
         self.appliances.append([TV(), Fridge(), Laptop()])
     self.calculate_expense(*self.appliances, children)
예제 #9
0
class OldCouple(Room):
    room_cost = 15
    appliances = [TV(), Fridge(), Stove(), TV(), Fridge(), Stove()]

    def __init__(self, family_name: str, pension_one: float,
                 pension_two: float):
        super().__init__(family_name, pension_one + pension_two, 2)
        self.calculate_expenses(self.appliances)
 def __init__(self, family_name, salary_one, salary_two, *children):
     super().__init__(family_name, salary_one + salary_two,
                      2 + len(children))
     self.room_cost = 30
     self.children = list(children)
     self.appliances = [TV(), Fridge(), Laptop(), TV(), Fridge(), Laptop()]
     for _ in range(len(children)):
         self.appliances.extend([TV(), Fridge(), Laptop()])
     self.calculate_expenses(self.appliances, children)
    def __init__(self, family_name: str, salary_one: float, salary_two: float, *children):
        super().__init__(name=family_name, budget=(salary_one + salary_two), members_count=2 + len(children))
        self.children = list(children)
        self.appliances = [TV(), Fridge(), Laptop(), TV(), Fridge(), Laptop()]

        for _ in children:
            self.appliances.extend([TV(), Fridge(), Laptop()])

        self.calculate_expenses(self.appliances, self.children)
예제 #12
0
 def __init__(self, family_name: str, salary_one: float, salary_two: float,
              *children):
     super().__init__(family_name, salary_one + salary_two,
                      2 + len(children))
     self.children = list(children)
     self.room_cost = 30
     self.appliances = [TV(), Fridge(), Laptop(), TV(), Fridge(), Laptop()]
     for _ in range(len(children)):
         self.appliances.append(TV())
         self.appliances.append(Fridge())
         self.appliances.append(Laptop())
     self.calculate_expenses(*self.appliances, *self.children)
예제 #13
0
 def __init__(self, family_name: str, salary_one, salary_two):
     super().__init__(family_name, salary_one + salary_two, 2)
     self.room_cost = 20
     self.appliances = [
         TV(),
         Fridge(),
         Stove(),
         Laptop(),
         TV(),
         Fridge(),
         Stove(),
         Laptop()
     ]
     self.calculate_expenses(self.appliances)
 def __init__(self, family_name, salary_one, salary_two, *children):
     member_count = len(children) + 2
     super().__init__(family_name, salary_one + salary_two, member_count)
     self.room_cost = 30
     self.children = list(children)
     self.appliances = [TV(), Fridge(), Laptop()] * member_count
     self.calculate_expenses(self.children, self.appliances)
예제 #15
0
class AloneYoung(Room):
    room_cost = 10
    appliances = [TV()]

    def __init__(self, family_name: str, salary: float):
        super().__init__(family_name, salary, 1)
        self.calculate_expenses(self.appliances)
예제 #16
0
class AloneYoung(Room):
    room_cost = 10
    appliances = [TV()]

    def __init__(self, family_name: str, salary: float):
        super().__init__(name=family_name, budget=salary, members_count=1)
        self.calculate_expenses(*self.appliances)
예제 #17
0
 def __get_appliances(self):
     tv = self.members_count * TV()
     laptop = self.members_count * Laptop()
     fridge = self.members_count * Fridge()
     [self.appliances.append(obj) for obj in tv]
     [self.appliances.append(obj) for obj in laptop]
     [self.appliances.append(obj) for obj in fridge]
예제 #18
0
 def __get_appliances(self):
     tv = self.members_count * TV()
     stove = self.members_count * Stove()
     fridge = self.members_count * Fridge()
     [self.appliances.append(obj) for obj in tv]
     [self.appliances.append(obj) for obj in stove]
     [self.appliances.append(obj) for obj in fridge]
예제 #19
0
 def __init__(self, family_name, salary_one, salary_two, *children):
     super().__init__(family_name, salary_one + salary_two, len(children) + 2)
     self.room_cost = 30
     self.children = [*children]
     self.appliances = [TV().get_monthly_expense(), Fridge().get_monthly_expense(), Laptop().get_monthly_expense()] * self.members_count
     self.children_expenses = [x.cost for x in self.children] * 30
     self.expenses = sum([x for x in self.appliances]) + sum(self.children_expenses)
예제 #20
0
 def __init__(self, family_name, salary_one, salary_two):
     super().__init__(family_name,
                      budget=salary_one + salary_two,
                      members_count=2)
     self.room_cost = 20
     self.children = []
     self.appliances = [TV(), Fridge(), Laptop()] * 2
     self.__expenses = self.calculate_expenses()
예제 #21
0
class OldCouple(Room):
    room_cost = 15
    appliances = [TV(), Fridge(), Stove()]

    def __init__(self, family_name: str, pension_one: float, pension_two: float):
        super().__init__(name = family_name, budget=pension_one + pension_two, members_count=2)
        self.appliances *= 2
        self.calculate_expenses(*self.appliances)
 def __init__(self, family_name: str, salary_one: float, salary_two: float,
              *args):
     super().__init__(name=family_name,
                      budget=salary_one + salary_two,
                      members_count=2)
     self.children = [*args]
     self.members_count += len(self.children)
     self.appliances = [TV(), Fridge(), Laptop()] * self.members_count
 def __init__(self, family_name, salary_one, salary_two, *children):
     Room.__init__(self, family_name, budget=None, members_count=2, children=children, expenses=None)
     self.appliances = [TV(), Fridge(), Laptop()]
     self.budget = salary_one + salary_two
     self.room_cost = 30
     self.members_count += len(children)
     self.child_cost = sum([c.cost for c in children])
     self.expenses = sum([a.get_monthly_expense() * self.members_count for a in self.appliances]) + self.child_cost
예제 #24
0
 def __init__(self, family_name: str, pension_one: float,
              pension_two: float):
     super().__init__(family_name,
                      budget=pension_one + pension_two,
                      members_count=2)
     self.room_cost = 15
     self.appliances = [TV(), Fridge(), Stove()] * 2
     self.expenses = self.calculate_expenses(self.appliances)
예제 #25
0
 def __init__(self, family_name: str, salary_one, salary_two):
     super().__init__(family_name,
                      budget=salary_one + salary_two,
                      members_count=2)
     self.appliances = [TV() for _ in range(self.members_count)] + [
         Fridge() for _ in range(self.members_count)
     ] + [Laptop() for _ in range(self.members_count)]
     self.calculate_expenses(self.appliances)
예제 #26
0
 def __init__(self, family_name: str, salary_one: float, salary_two: float):
     super().__init__(family_name, (salary_one + salary_two), 2)
     self.room_cost = 20
     tv = TV()
     fridge = Fridge()
     laptop = Laptop()
     self.appliances = [tv, tv, fridge, fridge, laptop, laptop]
     self.expenses = sum([a.get_monthly_expense() for a in self.appliances])
예제 #27
0
class AloneYoung(Room):
    _adults_count: ClassVar[int] = 1
    _default_room_cost: ClassVar[int] = 10
    _default_appliances: ClassVar[List[Appliance]] = [TV()]

    def __init__(self, family_name: str, salary: float) -> None:
        super().__init__(family_name, salary, self._adults_count)
        self.appliances = self._default_appliances * self._adults_count
        self.calculate_expenses(self.appliances)
예제 #28
0
 def __init__(self, family_name: str, pension_one, pension_two):
     super().__init__(family_name,
                      budget=pension_one + pension_two,
                      members_count=2)
     self.appliances = self.appliances = [
         TV() for _ in range(self.members_count)
     ] + [Stove() for _ in range(self.members_count)
          ] + [Fridge() for _ in range(self.members_count)]
     self.calculate_expenses(self.appliances)
예제 #29
0
    def test_room_calculate_expenses__expect_calculation_of_all_costs_for_one_month(
            self):
        self.room.children = [Child(5, 5, 5), Child(4, 6, 2)]
        appliances = [Fridge(), Laptop(), Stove(), TV()]
        self.room.calculate_expenses(self.room.children, appliances)

        expected_cost = 942
        actual_cost = self.room.expenses
        self.assertEqual(expected_cost, actual_cost)
예제 #30
0
class OldCouple(Room):
    _adults_count: ClassVar[int] = 2
    _default_room_cost: ClassVar[int] = 15
    _default_appliances: ClassVar[List[Appliance]] = [TV(), Fridge(), Stove()]

    def __init__(self, family_name: str, pension1: float, pension2: float) -> None:
        super().__init__(family_name, pension1+pension2, self._adults_count)
        self.appliances = self._default_appliances * self._adults_count
        self.calculate_expenses(self.appliances)