def test_init(self): name = ["ICE", "AIR"] emblem = ["MAMMOTH", "OWL"] ice_kingdom = Kingdom(name[0], emblem[0]) air_kingdom = Kingdom(name[1], emblem[1]) message_text = "ROZO" message = Message(air_kingdom, ice_kingdom, message_text) self.assertIsInstance(message, Message)
def test_register_kingdoms(self): kingdoms = [("SPACE","GORILLA"), ("LAND","PANDA"),("WATER","OCTOPUS"), ("ICE", "MAMMOTH")] southeros = Southeros(kingdoms) self.assertEqual(4, southeros.get_total_kingdoms()) other_kingdoms = [("AIR", "OWL"), ("FIRE", "DRAGON")] southeros.register_kingdoms(other_kingdoms) self.assertEqual(6, southeros.get_total_kingdoms()) Kingdom.remove_all_kingdoms()
def test_get_kingdom(self): southeros = Southeros() name = "SPACE" emblem = "GORILLA" southeros.register_kingdom(name, emblem) space_kingdom = southeros.get_kingdom(name) self.assertIsInstance(space_kingdom, Kingdom) self.assertEqual(name, space_kingdom.name()) Kingdom.remove_all_kingdoms()
def test_get_message(self): name = ["ICE", "AIR"] emblem = ["MAMMOTH", "OWL"] ice_kingdom = Kingdom(name[0], emblem[0]) air_kingdom = Kingdom(name[1], emblem[1]) message_text = "ROZO" message = Message(air_kingdom, ice_kingdom, message_text) self.assertEqual(message.get_message(), message_text) Kingdom.remove_all_kingdoms()
def main(): input_file = sys.argv[1] data = ir.read_input(input_file) messages = ir.validate_format(config_data.get("std_input_format"), data) home_kingdom = config_data.get("home_kingdom") home_kngdm_obj = Kingdom(home_kingdom) home_kngdm_obj.send_secret_msg(messages) allies = home_kngdm_obj.form_rule() output = op.Outputter(allies) output.print_standard_output()
def test_verify(self): name = "AIR" emblem = "OWL" air_kingdom = Kingdom(name, emblem) message_text = "ROZO" response = MessageVerify.verify(air_kingdom, message_text) self.assertTrue(response) message_text = "OWLAOWLBOWLC" response = MessageVerify.verify(air_kingdom, message_text) self.assertFalse(response) Kingdom.remove_all_kingdoms()
def test_ruler(self): kingdoms = [("SPACE","GORILLA"), ("LAND","PANDA"),("WATER","OCTOPUS"), ("ICE", "MAMMOTH")] southeros = Southeros(kingdoms) space_kingdom = southeros.get_kingdom("SPACE") land_kingdom = southeros.get_kingdom("LAND") water_kingdom = southeros.get_kingdom("WATER") ice_kingdom = southeros.get_kingdom("ICE") self.assertIsNone(southeros.ruler()) space_kingdom.add_ally(ice_kingdom) space_kingdom.add_ally(land_kingdom) space_kingdom.add_ally(water_kingdom) ruler = southeros.ruler() self.assertIsInstance(ruler, Kingdom) self.assertEqual(ruler, space_kingdom) self.assertNotEqual(ruler, ice_kingdom) Kingdom.remove_all_kingdoms()
def test_send_message(self): name = ["ICE", "AIR"] emblem = ["MAMMOTH", "OWL"] ice_kingdom = Kingdom(name[0], emblem[0]) air_kingdom = Kingdom(name[1], emblem[1]) message_text = "ROZO" message = Message(air_kingdom, ice_kingdom, message_text) response = air_kingdom.send_message(message) self.assertFalse(response) message = Message(ice_kingdom, air_kingdom, message_text) response = ice_kingdom.send_message(message) self.assertTrue(response) Kingdom.remove_all_kingdoms()
def register_kingdom(self, name, emblem): """Creates a Kingdom Class for the given kingdom name and emblem Args: name (string): Name of the Kingdom emblem (string): Emblem of the Kingdom Returns: Kingdom Object: Return the new kingdom object """ new_kingdom = Kingdom(name, emblem) self.__kingdom_count += 1 return new_kingdom
def generate_kingdom(): new_kingdom = {0: 30, 1: 30, 2: 30, 3: 8, 4: 8, 5: 8, 6: 10} # TODO eventually need to randomly select 10 cards for the kingdom for i in range(7, params.max_card_id + 1): if random.random() < 1: new_kingdom[i] = 10 else: new_kingdom[i] = 0 # new_kingdom[9] = 1 return Kingdom(new_kingdom)
def get_kingdom(self, name): """Get the Kingdom Object from the Name of the kingdom Args: name (string): Name of the Kingdom Returns: Kingdom Object: Kingdom Object for the given name Raises: KingdomNotFound: If no Kingdom is found for the kingdom name passed in as a parameter. """ return Kingdom.get_kingdom(name)
class Menu: """ Take input and call the simulation """ def __init__(self): self.kingdom = Kingdom() def run(self): """ Get the number of simulations and number of subjects If either is zero, we exit the simulation """ subjects = int(input("Enter number of subjects: ")) loopcount = int(input("Enter number of games to play: ")) successes = 0 for i in range(0,loopcount): if self.kingdom.playgame(subjects): successes += 1 print(successes,"Wins, ", loopcount, "Games, ", successes*100/loopcount, "Percent Wins" )
def _get_field_names(cls_name): lookup = { 'Republic': Republic(), 'Monarchy': Monarchy(), 'Kingdom': Kingdom(), 'State': State() } my_dict = lookup[cls_name].__dict__ present_field = [] is_callable = (types.FunctionType, types.MethodType) i = 1 for key, value in my_dict.items(): if not isinstance(value, is_callable): present_field.append(key) ind = key.rindex("__") key = key[ind + 2:len(key)] print("{0} - {1}".format(i, key)) i += 1 return present_field
class TestKingdom(unittest.TestCase): """Test of Kingdom class.""" def _setUp(self): self.kingdom_obj = Kingdom("KINGDOMONE") def test_if_kingdom_object_is_created_with_correct_properties(self): with patch.dict(config_data, test_config_data, clear=True): self._setUp() self.assertEqual(self.kingdom_obj.name, "KINGDOMONE") self.assertEqual(self.kingdom_obj.emblem, "EmblemOne") length_of_emblem = 9 self.assertEqual(self.kingdom_obj.cipher_key, length_of_emblem) self.assertEqual(self.kingdom_obj.allies, []) def test_send_one_correct_msg_and_one_incorrect_msg_to_other_kingdoms( self): msg = [{ "name": "KINGDOMTWO", "msg": "'NJVKUGGNVCRRFX'" }, { "name": "KINGDOMTHREE", "msg": "ABCEFGHIEMBLEMIJK" }] with patch.dict(config_data, test_config_data, clear=True): self._setUp() actual = self.kingdom_obj.send_secret_msg(msg) expected = ["KINGDOMTWO"] self.assertEqual(actual, expected) def test_send_two_correct_messages_to_other_kingdoms_returns_kingdom_names( self): msg = [{ "name": "KINGDOMTWO", "msg": "NJVKUGGNVCRRFX" }, { "name": "KINGDOMTHREE", "msg": "PLXMWIIPXESSCPP" }] with patch.dict(config_data, test_config_data, clear=True): self._setUp() actual = self.kingdom_obj.send_secret_msg(msg) expected = ["KINGDOMTWO", "KINGDOMTHREE"] self.assertEqual(actual, expected) def test_no_correct_message_to_other_kingdoms_returns_empty_list(self): msg = [{ "name": "KINGDOMTWO", "msg": "KINGDOMTWONOCIPHER" }, { "name": "KINGDOMTHREE", "msg": "KINGDUMTHRI" }] with patch.dict(config_data, test_config_data, clear=True): self._setUp() actual = self.kingdom_obj.send_secret_msg(msg) expected = [] self.assertEqual(actual, expected) def test_receive_correct_message_from_a_kingdom_returns_True(self): with patch.dict(config_data, test_config_data, clear=True): self._setUp() result = self.kingdom_obj.receive_secret_msg('VNKUNVQQXWN') self.assertTrue(result) def test_receive_incorrect_message_from_a_kingdom_returns_False(self): with patch.dict(config_data, test_config_data, clear=True): self._setUp() result = self.kingdom_obj.receive_secret_msg('INKORRECT') self.assertFalse(result) def test_form_rule_with_sufficient_allies_returns_kingdom_with_allies( self): with patch.dict(config_data, test_config_data, clear=True): self._setUp() self.kingdom_obj.allies = ["KINGDOMTWO", "KINGDOMTHREE"] actual = ["KINGDOMONE", "KINGDOMTWO", "KINGDOMTHREE"] # Number of allies to win in test data is 2. expected = self.kingdom_obj.form_rule() self.assertEqual(actual, expected) def test_form_rule_with_insufficient_allies_returns_kingdom_with_allies( self): with patch.dict(config_data, test_config_data, clear=True): self._setUp() self.kingdom_obj.allies = ["KINGDOMTWO"] actual = ["NONE"] # Number of allies to win in test data is 2. expected = self.kingdom_obj.form_rule() self.assertEqual(actual, expected)
def _setUp(self): self.kingdom_obj = Kingdom("KINGDOMONE")
def test_init_parameterised(self): kingdoms = [("SPACE","GORILLA"), ("LAND","PANDA"),("WATER","OCTOPUS"), ("ICE", "MAMMOTH"), ("AIR", "OWL"), ("FIRE", "DRAGON")] southeros = Southeros(kingdoms) self.assertIsInstance(southeros, Southeros) Kingdom.remove_all_kingdoms()
def test_add_ally_and_is_ally(self): name = ["ICE", "AIR", "WATER"] emblem = ["MAMMOTH", "OWL", "OCTOPUS"] ice_kingdom = Kingdom(name[0], emblem[0]) air_kingdom = Kingdom(name[1], emblem[1]) water_kingdom = Kingdom(name[2], emblem[2]) ice_kingdom.add_ally(air_kingdom) self.assertTrue(ice_kingdom.is_ally(air_kingdom)) self.assertTrue(air_kingdom.is_ally(ice_kingdom)) self.assertFalse(water_kingdom.is_ally(ice_kingdom)) Kingdom.remove_all_kingdoms()
def test_check_ruler(self): name = ["ICE", "AIR", "WATER", "FIRE"] emblem = ["MAMMOTH", "OWL", "OCTOPUS", "DRAGON"] ice_kingdom = Kingdom(name[0], emblem[0]) air_kingdom = Kingdom(name[1], emblem[1]) water_kingdom = Kingdom(name[2], emblem[2]) fire_kingdom = Kingdom(name[3], emblem[3]) ice_kingdom.add_ally(air_kingdom) ice_kingdom.add_ally(water_kingdom) ice_kingdom.add_ally(air_kingdom) ice_kingdom.add_ally(fire_kingdom) self.assertTrue(ice_kingdom.is_ruler()) self.assertFalse(fire_kingdom.is_ruler()) Kingdom.remove_all_kingdoms()
def test_name(self): name = "ICE" emblem = "MAMMOTH" ice_kingdom = Kingdom(name, emblem) self.assertEqual(name, ice_kingdom.name()) Kingdom.remove_all_kingdoms()
def __ruling_kingdom(self): """Get the Ruler of Southeros Returns: Kingdom Object: Ruling Kingdom Object otherwise None """ return Kingdom.get_ruler()
def test_emblem_length(self): name = "ICE" emblem = "MAMMOTH" ice_kingdom = Kingdom(name, emblem) self.assertEqual(len(emblem), ice_kingdom.emblem_length()) Kingdom.remove_all_kingdoms()
def test_get_kingdom(self): name = "ICE" emblem = "MAMMOTH" ice_kingdom = Kingdom(name, emblem) self.assertEqual(ice_kingdom, Kingdom.get_kingdom(name)) Kingdom.remove_all_kingdoms()
def test_init(self): southeros = Southeros() self.assertIsInstance(southeros, Southeros) Kingdom.remove_all_kingdoms()
def test_ally_count(self): name = ["ICE", "AIR", "WATER"] emblem = ["MAMMOTH", "OWL", "OCTOPUS"] ice_kingdom = Kingdom(name[0], emblem[0]) air_kingdom = Kingdom(name[1], emblem[1]) water_kingdom = Kingdom(name[2], emblem[2]) ice_kingdom.add_ally(air_kingdom) ice_kingdom.add_ally(water_kingdom) self.assertEqual(2, ice_kingdom.total_allies()) self.assertEqual(1, water_kingdom.total_allies()) self.assertNotEqual(2, air_kingdom.total_allies()) Kingdom.remove_all_kingdoms()
def test_register_kingdom(self): southeros = Southeros() southeros.register_kingdom("SPACE", "GORILLA") self.assertEqual(1, southeros.get_total_kingdoms()) Kingdom.remove_all_kingdoms()
def test_init(self): name = "ICE" emblem = "MAMMOTH" ice_kingdom = Kingdom(name, emblem) self.assertIsInstance(ice_kingdom, Kingdom) Kingdom.remove_all_kingdoms()
def __init__(self): self.kingdom = Kingdom()
def test_get_ruler(self): name = ["ICE", "AIR", "WATER", "FIRE"] emblem = ["MAMMOTH", "OWL", "OCTOPUS", "DRAGON"] ice_kingdom = Kingdom(name[0], emblem[0]) air_kingdom = Kingdom(name[1], emblem[1]) water_kingdom = Kingdom(name[2], emblem[2]) fire_kingdom = Kingdom(name[3], emblem[3]) ice_kingdom.add_ally(air_kingdom) self.assertIsNone(Kingdom.get_ruler()) ice_kingdom.add_ally(water_kingdom) ice_kingdom.add_ally(air_kingdom) ice_kingdom.add_ally(fire_kingdom) self.assertEqual(ice_kingdom, Kingdom.get_ruler()) self.assertNotEqual(fire_kingdom, Kingdom.get_ruler()) Kingdom.remove_all_kingdoms()
def _create_kingdom_instance(words): kingdom = Kingdom(int(words[0]), float(words[1]), words[2], words[3]) return kingdom