コード例 #1
0
    def test_setup_packages(self):
        item = ItemTuple('Item1', [1, 2, 3], 0)
        normal_box = self.make_generic_box('NORM')

        packed_boxes = {normal_box: [[item]]}
        box_dictionary = setup_packages(packed_boxes)
        expected_return = Packaging(box=normal_box,
                                    items_per_box=[[item]],
                                    last_parcel=None)
        self.assertEqual(expected_return, box_dictionary)
コード例 #2
0
 def test_setup_packages_smaller_volume(self):
     '''
     asserts the the dictionary uses the smallest box with the fewest parcels
     '''
     item = ItemTuple('Item1', [1, 2, 3], 0)
     normal_box = self.make_generic_box('NORM')
     bigger_box = self.make_generic_box('Big', volume=2000)
     packed_boxes = {normal_box: [[item, item]], bigger_box: [[item, item]]}
     box_dictionary = setup_packages(packed_boxes)
     expected_return = Packaging(box=normal_box,
                                 items_per_box=[[item, item]],
                                 last_parcel=None)
     self.assertEqual(expected_return, box_dictionary)
コード例 #3
0
 def test_setup_packages_three_flat_rates(self):
     '''
     assert that when there are two flat rates that require a different
     number of boxes, it selects the one that requires the fewest
     '''
     item = ItemTuple('Item1', [1, 2, 3], 0)
     normal_box = self.make_generic_box('NORM')
     packed_boxes = {normal_box: [[item, item]]}
     box_dictionary = setup_packages(packed_boxes)
     expected_return = Packaging(box=normal_box,
                                 items_per_box=[[item, item]],
                                 last_parcel=None)
     self.assertEqual(expected_return, box_dictionary)
コード例 #4
0
    def test_setup_packages_fewest_parcels(self):
        '''
        asserts the the dictionary uses the smallest box with the fewest parcels
        and if flat rate has more parcels, don't even return it.
        '''
        item = ItemTuple('Item1', [1, 2, 3], 0)
        normal_box = self.make_generic_box('NORM')
        smaller_box = self.make_generic_box('Small', volume=500)

        packed_boxes = {
            normal_box: [[item, item]],
            smaller_box: [[item], [item]]
        }
        box_dictionary = setup_packages(packed_boxes)
        expected_return = Packaging(box=normal_box,
                                    items_per_box=[[item, item]],
                                    last_parcel=None)
        self.assertEqual(expected_return, box_dictionary)
コード例 #5
0
 def test_setup_packages_complex(self):
     '''
     asserts that in complex situations, it chooses the smallest,
     fewest parcels, cheapest box.
     '''
     item = ItemTuple('Item1', [1, 2, 3], 0)
     normal_box = self.make_generic_box('NORM')
     smaller_box = self.make_generic_box('Small', volume=500)
     bigger_box = self.make_generic_box('Big', volume=2000)
     packed_boxes = {
         normal_box: [[item, item]],
         bigger_box: [[item, item]],
         smaller_box: [[item], [item]]
     }
     expected_return = Packaging(box=normal_box,
                                 items_per_box=[[item, item]],
                                 last_parcel=None)
     box_dictionary = setup_packages(packed_boxes)
     self.assertEqual(expected_return, box_dictionary)
コード例 #6
0
 def test_setup_packages_no_packed_boxes(self):
     with self.assertRaises(BoxError) as context:
         setup_packages({})
     self.assertEqual('There are no packed boxes available to return.',
                      context.exception.message)