コード例 #1
0
 def test_add_the_same_overflow(self):
     """
     Fills bus with two identical groupss with overflow
     """
     with mock.patch(LINE_NAME + ".bus_capacity", new_callable=PropertyMock) as mocked_bus_capacity:
         mocked_bus_capacity.return_value = 20
         group1 = get_group(10, "A")
         group2 = get_group(30, "A")
         bus = Bus(get_empty_line(), 0)
         self.are_lists_equal(bus.passengers, [])
         after_fill = bus.fill([group1])
         assert bus.count == 10
         assert len(bus.passengers) == 1
         after_fill = bus.fill([group2])
         self.are_lists_equal(after_fill, [get_group(20, "A")], passenger_group_equality)
         assert bus.count == 20
         assert len(bus.passengers) == 1
         self.are_equal(bus.passengers[0], get_group(20, "A"), passenger_group_equality)
コード例 #2
0
 def test_two_different_in_two_overflow(self):
     """
     Fills bus with two groups one by one with overflow
     """
     with mock.patch(LINE_NAME + ".bus_capacity", new_callable=PropertyMock) as mocked_bus_capacity:
         mocked_bus_capacity.return_value = 20
         group1 = get_group(10, "A")
         group2 = get_group(30, "B")
         bus = Bus(get_empty_line(), 0)
         self.are_lists_equal(bus.passengers, [])
         after_fill = bus.fill([group1])
         assert after_fill == []
         assert bus.count == 10
         assert len(bus.passengers) == 1
         after_fill = bus.fill([group2])
         self.are_lists_equal(after_fill, [get_group(20, "B")], passenger_group_equality)
         assert bus.count == 20
         assert len(bus.passengers) == 2
コード例 #3
0
 def test_basic(self):
     """
     Fills bus with one group without overflow
     """
     with mock.patch(LINE_NAME + ".bus_capacity", new_callable=PropertyMock) as mocked_bus_capacity:
         mocked_bus_capacity.return_value = 10
         group = get_group(10)
         bus = Bus(get_empty_line(), 0)
         assert bus.passengers == []
         assert [] == bus.fill([group])
         assert len(bus.passengers) == 1
         assert isinstance(bus.passengers[0], PassengersGroup)
         assert bus.passengers[0].count == 10
コード例 #4
0
 def test_overflow_basic(self):
     """
     Fills bus with one group with overflow
     """
     with mock.patch(LINE_NAME + ".bus_capacity", new_callable=PropertyMock) as mocked_bus_capacity:
         mocked_bus_capacity.return_value = 10
         group = get_group(30, "A")
         bus = Bus(get_empty_line(), 0)
         self.are_lists_equal(bus.passengers, [])
         after_fill = bus.fill([group])
         self.are_lists_equal([PassengersGroup("A", 20)], after_fill, passenger_group_equality)
         assert len(bus.passengers) == 1
         assert bus.count == 10
         assert isinstance(bus.passengers[0], PassengersGroup)
         self.are_equal(bus.passengers[0], PassengersGroup("A", 10), passenger_group_equality)
コード例 #5
0
 def test_two_different_in_one_overflow(self):
     """
     Fills bus with two groupss (as one list) with overflow
     """
     with mock.patch(LINE_NAME + ".bus_capacity", new_callable=PropertyMock) as mocked_bus_capacity:
         mocked_bus_capacity.return_value = 20
         group1 = get_group(10, "A")
         group2 = get_group(30, "B")
         bus = Bus(get_empty_line(), 0)
         self.are_lists_equal(bus.passengers, [])
         after_fill = bus.fill([group1, group2])
         assert sum([i.count for i in after_fill]) == 20
         assert after_fill != []
         assert bus.count == 20
         assert len(bus.passengers) == 2
         assert bus.passengers[0] != bus.passengers[1]