def test_process_pallets_mixed_bag(self): pallet1 = Mock(Pallet)('one') pallet1.is_ready_to_ship = Mock(return_value=True) pallet1.requires_processing = Mock(return_value=False) pallet1.success = (True, ) pallet2 = Mock(Pallet)('two') pallet2.is_ready_to_ship = Mock(return_value=False) pallet2.requires_processing = Mock(return_value=False) pallet2.success = (True, ) pallet3 = Mock(Pallet)('three') pallet3.is_ready_to_ship = Mock(return_value=True) pallet3.requires_processing = Mock(return_value=True) pallet3.success = (True, ) lift.process_pallets([pallet1, pallet2, pallet3]) pallet1.ship.assert_called_once() pallet1.process.assert_not_called() pallet2.ship.assert_not_called() pallet2.process.assert_not_called() pallet3.ship.assert_called_once() pallet3.process.assert_called_once() pallet = self.PalletMock() process_error = Exception('process error') pallet.process.side_effect = process_error pallet.success = (True, ) lift.process_pallets([pallet]) self.assertEqual(pallet.success, (False, process_error))
def test_process_pallets_mixed_bag(self): pallet1 = Mock(Pallet)('one') pallet1.is_ready_to_ship = Mock(return_value=True) pallet1.requires_processing = Mock(return_value=False) pallet1.success = (True,) pallet2 = Mock(Pallet)('two') pallet2.is_ready_to_ship = Mock(return_value=False) pallet2.requires_processing = Mock(return_value=False) pallet2.success = (True,) pallet3 = Mock(Pallet)('three') pallet3.is_ready_to_ship = Mock(return_value=True) pallet3.requires_processing = Mock(return_value=True) pallet3.success = (True,) lift.process_pallets([pallet1, pallet2, pallet3]) pallet1.ship.assert_called_once() pallet1.process.assert_not_called() pallet2.ship.assert_not_called() pallet2.process.assert_not_called() pallet3.ship.assert_called_once() pallet3.process.assert_called_once() pallet = self.PalletMock() pallet.process.side_effect = Exception('process error') pallet.success = (True,) lift.process_pallets([pallet]) self.assertEqual(pallet.success, (False, 'process error'))
def test_process_pallets_all_ready_to_ship(self): ready_pallet = self.PalletMock() ready_pallet.is_ready_to_ship.return_value = True ready_pallet.success = (True, ) lift.process_pallets([ready_pallet, ready_pallet]) self.assertEqual(ready_pallet.ship.call_count, 2)
def test_process_pallets_all_ready_to_ship(self): ready_pallet = self.PalletMock() ready_pallet.is_ready_to_ship.return_value = True ready_pallet.success = (True,) lift.process_pallets([ready_pallet, ready_pallet]) self.assertEqual(ready_pallet.ship.call_count, 2)
def test_process_pallets_handles_ship_exception(self): pallet = self.PalletMock() pallet.ship.side_effect = Exception('ship error') pallet.success = (True,) lift.process_pallets([pallet]) self.assertEqual(pallet.success, (False, 'ship error'))
def test_process_pallets_handles_ship_exception(self): pallet = self.PalletMock() ship_error = Exception('ship error') pallet.ship.side_effect = ship_error pallet.success = (True, ) lift.process_pallets([pallet]) self.assertEqual(pallet.success, (False, ship_error))
def test_process_pallets_resets_arcpy(self): pallet = self.PalletMock() pallet2 = Mock(Pallet) import arcpy def modify_workspace(value): arcpy.env.workspace = value pallet.ship.side_effect = modify_workspace('forklift') pallet.success = (True, ) self.assertEqual(arcpy.env.workspace, 'forklift') pallet2.success = (True, ) lift.process_pallets([pallet, pallet2]) self.assertEqual(arcpy.env.workspace, None)
def test_process_pallets_resets_arcpy(self): pallet = self.PalletMock() pallet2 = Mock(Pallet) import arcpy def modify_workspace(value): arcpy.env.workspace = value pallet.ship.side_effect = modify_workspace('forklift') pallet.success = (True,) self.assertEqual(arcpy.env.workspace, 'forklift') pallet2.success = (True,) lift.process_pallets([pallet, pallet2]) self.assertEqual(arcpy.env.workspace, None)
def test_process_pallets_post_copy(self): pallet1 = Mock(Pallet)('one') pallet1.is_ready_to_ship = Mock(return_value=True) pallet1.requires_processing = Mock(return_value=False) pallet1.success = (True, ) pallet2 = Mock(Pallet)('two') pallet2.is_ready_to_ship = Mock(return_value=False) pallet2.requires_processing = Mock(return_value=False) pallet2.success = (True, ) pallet3 = Mock(Pallet)('three') pallet3.is_ready_to_ship = Mock(return_value=True) pallet3.requires_processing = Mock(return_value=True) pallet3.success = (True, ) lift.process_pallets([pallet1, pallet2, pallet3], is_post_copy=True) pallet1.post_copy_process.assert_not_called() pallet2.post_copy_process.assert_not_called() pallet3.post_copy_process.assert_called_once()
def test_process_pallets_post_copy(self): pallet1 = Mock(Pallet)('one') pallet1.is_ready_to_ship = Mock(return_value=True) pallet1.requires_processing = Mock(return_value=False) pallet1.success = (True,) pallet2 = Mock(Pallet)('two') pallet2.is_ready_to_ship = Mock(return_value=False) pallet2.requires_processing = Mock(return_value=False) pallet2.success = (True,) pallet3 = Mock(Pallet)('three') pallet3.is_ready_to_ship = Mock(return_value=True) pallet3.requires_processing = Mock(return_value=True) pallet3.success = (True,) lift.process_pallets([pallet1, pallet2, pallet3], is_post_copy=True) pallet1.post_copy_process.assert_not_called() pallet2.post_copy_process.assert_not_called() pallet3.post_copy_process.assert_called_once()