def test_hold_army_002(): """ Tests hold army """ raw_order = 'A ABC H' order_str = '' order_dict = {} order_from_string = Order(raw_order) order_from_dict = Order(order_dict) # Validating assert order_from_string.to_string() == order_str assert compare_dicts(order_from_string.to_dict(), order_dict) assert order_from_dict.to_string() == order_str assert compare_dicts(order_from_dict.to_dict(), order_dict)
def order_dict_to_str(order_dict, phase, map_id=1): """ Converts an order from the dictionary format to the string format :param order_dict: The order in dictionary format from webdiplomacy.net :param phase: The current phase ('Diplomacy', 'Retreats', 'Builds') :return: A tuple consisting of: 1) The power who submitted the order (e.g. 'FRANCE') 2) The order in string format (e.g. 'A PAR H') """ req_fields = ('countryID',) if [1 for field in req_fields if field not in order_dict]: LOGGER.error('The required fields for order dict are %s. Cannot translate %s', req_fields, order_dict) return '', '', '' # Extracting information country_id = int(order_dict['countryID']) # Validating if country_id not in CACHE[map_id]['ix_to_power']: LOGGER.error('Unknown countryID "%s" for mapID "%s".', country_id, map_id) return '', '' # Getting power name and phase_type power_name = CACHE[map_id]['ix_to_power'][country_id] phase_type = {'Diplomacy': 'M', 'Retreats': 'R', 'Builds': 'A'}[phase] # Getting order in string format order = Order(order_dict, map_id=map_id, phase_type=phase_type) if not order: return '', '' # Returning return power_name, order.to_string()
def test_move_army_001(): """ Tests move army """ raw_order = 'A YOR - LON' order_str = 'A YOR - LON' order_dict = { 'terrID': 4, 'unitType': 'Army', 'type': 'Move', 'toTerrID': 6, 'fromTerrID': '', 'viaConvoy': 'No' } order_from_string = Order(raw_order) order_from_dict = Order(order_dict) # Validating assert order_from_string.to_string() == order_str assert compare_dicts(order_from_string.to_dict(), order_dict) assert order_from_dict.to_string() == order_str assert compare_dicts(order_from_dict.to_dict(), order_dict)
def test_hold_fleet_001(): """ Tests hold fleet """ raw_order = 'F LON H' order_str = 'F LON H' order_dict = { 'terrID': 6, 'unitType': 'Fleet', 'type': 'Hold', 'toTerrID': '', 'fromTerrID': '', 'viaConvoy': '' } order_from_string = Order(raw_order) order_from_dict = Order(order_dict) # Validating assert order_from_string.to_string() == order_str assert compare_dicts(order_from_string.to_dict(), order_dict) assert order_from_dict.to_string() == order_str assert compare_dicts(order_from_dict.to_dict(), order_dict)
def test_disband_fleet_002(): """ Tests disband fleet """ raw_order = 'F BRE D' order_str = 'F BRE D' order_dict = { 'terrID': 46, 'unitType': 'Fleet', 'type': 'Destroy', 'toTerrID': 46, 'fromTerrID': '', 'viaConvoy': '' } order_from_string = Order(raw_order, phase_type='A') order_from_dict = Order(order_dict, phase_type='A') # Validating assert order_from_string.to_string() == order_str assert compare_dicts(order_from_string.to_dict(), order_dict) assert order_from_dict.to_string() == order_str assert compare_dicts(order_from_dict.to_dict(), order_dict)
def test_disband_fleet_coast_001(): """ Tests disband fleet (retreats phase) """ raw_order = 'F SPA/NC D' order_str = 'F SPA/NC D' order_dict = { 'terrID': 76, 'unitType': 'Fleet', 'type': 'Disband', 'toTerrID': '', 'fromTerrID': '', 'viaConvoy': '' } order_from_string = Order(raw_order, phase_type='R') order_from_dict = Order(order_dict, phase_type='R') # Validating assert order_from_string.to_string() == order_str assert compare_dicts(order_from_string.to_dict(), order_dict) assert order_from_dict.to_string() == order_str assert compare_dicts(order_from_dict.to_dict(), order_dict)
def test_build_army_001(): """ Tests build army """ raw_order = 'A PAR B' order_str = 'A PAR B' order_dict = { 'terrID': 47, 'unitType': 'Army', 'type': 'Build Army', 'toTerrID': 47, 'fromTerrID': '', 'viaConvoy': '' } order_from_string = Order(raw_order) order_from_dict = Order(order_dict) # Validating assert order_from_string.to_string() == order_str assert compare_dicts(order_from_string.to_dict(), order_dict) assert order_from_dict.to_string() == order_str assert compare_dicts(order_from_dict.to_dict(), order_dict)
def test_retreat_fleet_001(): """ Tests retreat fleet """ raw_order = 'F BRE R SPA/SC' order_str = 'F BRE R SPA/SC' order_dict = { 'terrID': 46, 'unitType': 'Fleet', 'type': 'Retreat', 'toTerrID': 77, 'fromTerrID': '', 'viaConvoy': '' } order_from_string = Order(raw_order) order_from_dict = Order(order_dict) # Validating assert order_from_string.to_string() == order_str assert compare_dicts(order_from_string.to_dict(), order_dict) assert order_from_dict.to_string() == order_str assert compare_dicts(order_from_dict.to_dict(), order_dict)
def test_disband_army_001(): """ Tests disband army """ raw_order = 'A PAR D' order_str = 'A PAR D' order_dict = { 'terrID': 47, 'unitType': 'Army', 'type': 'Disband', 'toTerrID': '', 'fromTerrID': '', 'viaConvoy': '' } order_from_string = Order(raw_order, phase_type='R') order_from_dict = Order(order_dict, phase_type='R') # Validating assert order_from_string.to_string() == order_str assert compare_dicts(order_from_string.to_dict(), order_dict) assert order_from_dict.to_string() == order_str assert compare_dicts(order_from_dict.to_dict(), order_dict)
def test_retreat_army_002(): """ Tests retreat army """ raw_order = 'A PAR - LON' order_str = 'A PAR R LON' order_dict = { 'terrID': 47, 'unitType': 'Army', 'type': 'Retreat', 'toTerrID': 6, 'fromTerrID': '', 'viaConvoy': '' } order_from_string = Order(raw_order, phase_type='R') order_from_dict = Order(order_dict, phase_type='R') # Validating assert order_from_string.to_string() == order_str assert compare_dicts(order_from_string.to_dict(), order_dict) assert order_from_dict.to_string() == order_str assert compare_dicts(order_from_dict.to_dict(), order_dict)
def test_convoy_001(): """ Tests convoy """ raw_order = 'F MAO C A PAR - LON' order_str = 'F MAO C A PAR - LON' order_dict = { 'terrID': 61, 'unitType': 'Fleet', 'type': 'Convoy', 'toTerrID': 6, 'fromTerrID': 47, 'viaConvoy': '' } order_from_string = Order(raw_order) order_from_dict = Order(order_dict) # Validating assert order_from_string.to_string() == order_str assert compare_dicts(order_from_string.to_dict(), order_dict) assert order_from_dict.to_string() == order_str assert compare_dicts(order_from_dict.to_dict(), order_dict)
def test_support_move_002(): """ Tests support move """ raw_order = 'F MAO S A PAR - BRE' order_str = 'F MAO S PAR - BRE' order_dict = { 'terrID': 61, 'unitType': 'Fleet', 'type': 'Support move', 'toTerrID': 46, 'fromTerrID': 47, 'viaConvoy': '' } order_from_string = Order(raw_order) order_from_dict = Order(order_dict) # Validating assert order_from_string.to_string() == order_str assert compare_dicts(order_from_string.to_dict(), order_dict) assert order_from_dict.to_string() == order_str assert compare_dicts(order_from_dict.to_dict(), order_dict)
def test_support_hold_001(): """ Tests for support hold """ raw_order = 'A PAR S F BRE' order_str = 'A PAR S BRE' order_dict = { 'terrID': 47, 'unitType': 'Army', 'type': 'Support hold', 'toTerrID': 46, 'fromTerrID': '', 'viaConvoy': '' } order_from_string = Order(raw_order) order_from_dict = Order(order_dict) # Validating assert order_from_string.to_string() == order_str assert compare_dicts(order_from_string.to_dict(), order_dict) assert order_from_dict.to_string() == order_str assert compare_dicts(order_from_dict.to_dict(), order_dict)
def test_move_fleet_001(): """ Tests move fleet """ raw_order = 'F BRE - MAO' order_str = 'F BRE - MAO' order_dict = { 'terrID': 46, 'unitType': 'Fleet', 'type': 'Move', 'toTerrID': 61, 'fromTerrID': '', 'viaConvoy': 'No' } order_from_string = Order(raw_order) order_from_dict = Order(order_dict) # Validating assert order_from_string.to_string() == order_str assert compare_dicts(order_from_string.to_dict(), order_dict) assert order_from_dict.to_string() == order_str assert compare_dicts(order_from_dict.to_dict(), order_dict)