def test_work_order(self, json_file=None): from work_order import ( get_work_order, get_sorted_work_order, get_work_order_msg, ) from common import get_object_list if json_file is None: json_file = os.path.join(pkg_path, 'data/apc-a.json') # for original work order work_order = list(get_work_order(json_file)) self.assertEqual(len(work_order), len('abcdefghijkl')) object_list = get_object_list() for bin_, object_ in work_order: self.assertIn(bin_, 'abcdefghijkl') self.assertIn(object_, object_list) # for sorted work order sorted_work_order = list(get_sorted_work_order(json_file)) self.assertEqual(len(sorted_work_order), len('abcdefghijkl')) for bin_, object_ in sorted_work_order: self.assertIn(bin_, 'abcdefghijkl') self.assertIn(object_, object_list) # for msg msg = get_work_order_msg(json_file) self.assertEqual(len(msg['left'].array), 8) self.assertEqual(len(msg['right'].array), 4) for lr in ('left', 'right'): for order in msg[lr].array: self.assertIn(order.bin, 'abcdefghijkl') self.assertIn(order.object, object_list)
def test_work_order(self, json_file=None): from work_order import ( get_work_order, get_sorted_work_order, get_work_order_msg, ) if json_file is None: json_file = os.path.join(pkg_path, 'data/apc-a.json') # for original work order work_order = list(get_work_order(json_file)) self.assertEqual(len(work_order), len('abcdefghijkl')) object_list = jsk_apc2015_common.data.object_list() for bin_, object_ in work_order: self.assertIn(bin_, 'abcdefghijkl') self.assertIn(object_, object_list) # for sorted work order sorted_work_order = list(get_sorted_work_order(json_file)) self.assertEqual(len(sorted_work_order), len('abcdefghijkl')) for bin_, object_ in sorted_work_order: self.assertIn(bin_, 'abcdefghijkl') self.assertIn(object_, object_list) # for msg msg = get_work_order_msg(json_file) self.assertEqual(len(msg['left'].array), 8) self.assertEqual(len(msg['right'].array), 4) for lr in ('left', 'right'): for order in msg[lr].array: self.assertIn(order.bin, 'abcdefghijkl') self.assertIn(order.object, object_list)
def test_work_order(self, json_file=None): from work_order import get_work_order, get_sorted_work_order, get_work_order_msg if json_file is None: json_file = os.path.join(pkg_path, "data/apc-a.json") # for original work order work_order = list(get_work_order(json_file)) self.assertEqual(len(work_order), len("abcdefghijkl")) object_list = jsk_2015_apc_common.data.object_list() for bin_, object_ in work_order: self.assertIn(bin_, "abcdefghijkl") self.assertIn(object_, object_list) # for sorted work order sorted_work_order = list(get_sorted_work_order(json_file)) self.assertEqual(len(sorted_work_order), len("abcdefghijkl")) for bin_, object_ in sorted_work_order: self.assertIn(bin_, "abcdefghijkl") self.assertIn(object_, object_list) # for msg msg = get_work_order_msg(json_file) self.assertEqual(len(msg["left"].array), 8) self.assertEqual(len(msg["right"].array), 4) for lr in ("left", "right"): for order in msg[lr].array: self.assertIn(order.bin, "abcdefghijkl") self.assertIn(order.object, object_list)
'kong_air_dog_squeakair_tennis_ball': 1, 'dr_browns_bottle_brush': 2, 'kong_duck_dog_toy': 1, 'laugh_out_loud_joke_book': 3, } SCORING = { 'MOVE_FROM_MULTI_ITEM_BIN': 20, 'MOVE_FROM_DOUBLE_ITEM_BIN': 15, 'MOVE_FROM_SINGLE_ITEM_BIN': 10, 'MOVE_NON_TARGET_ITEM': -12, 'DAMAGE_ITEM': -5, 'DROP_TARGET_ITEM': -3, } bin_contents = dict(get_bin_contents(args.json)) work_order = dict(get_work_order(args.json)) cprint('#------------------#', 'blue') cprint('# SCORE CALCULATOR #', 'blue') cprint('#------------------#', 'blue') def display_score(scores): cprint('---------------------', 'blue') for type_, score in scores.items(): if score == 0: continue score = '+{0}'.format(score) if score > 0 else str(score) print('{0}: {1}'.format(type_, score)) bin_score = sum(scores.values()) cprint('SCORE of bin_{0}: {1}'.format(bin_.upper(), bin_score), 'magenta')
'kong_air_dog_squeakair_tennis_ball': 1, 'dr_browns_bottle_brush': 2, 'kong_duck_dog_toy': 1, 'laugh_out_loud_joke_book': 3, } SCORING = { 'MOVE_FROM_MULTI_ITEM_BIN': 20, 'MOVE_FROM_DOUBLE_ITEM_BIN': 15, 'MOVE_FROM_SINGLE_ITEM_BIN': 10, 'MOVE_NON_TARGET_ITEM': -12, 'DAMAGE_ITEM': -5, 'DROP_TARGET_ITEM': -3, } bin_contents = dict(get_bin_contents(args.json)) work_order = dict(get_work_order(args.json)) cprint('#------------------#', 'blue') cprint('# SCORE CALCULATOR #', 'blue') cprint('#------------------#', 'blue') def display_score(scores): cprint('---------------------', 'blue') for type_, score in scores.items(): if score == 0: continue score = '+{0}'.format(score) if score > 0 else str(score) print('{0}: {1}'.format(type_, score)) bin_score = sum(scores.values()) cprint('SCORE of bin_{0}: {1}'.format(bin_.upper(), bin_score), 'magenta') cprint('---------------------', 'blue')
def _init_work_order(self, json_file): work_order = get_work_order(json_file) self.work_order = dict(work_order)