public void TestUnequip() { string xml = @"<unequip item_id=""1234""/>"; bool eventTriggered = false; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Action <Roar.Events.UnequipEvent> callback = (Roar.Events.UnequipEvent eve) => { eventTriggered = true; StringAssert.IsMatch(eve.item_id, "1234"); }; RoarManager.roarServerUnequipEvent += callback; try { RoarManager.OnServerEvent(nn); } finally { RoarManager.roarServerUnequipEvent -= callback; } Assert.IsTrue(eventTriggered); }
public void TestTransaction() { string xml = @"<transaction ikey=""diamonds"" value=""120"" />"; bool eventTriggered = false; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Action <Roar.Events.TransactionEvent> callback = (Roar.Events.TransactionEvent eve) => { eventTriggered = true; StringAssert.IsMatch(eve.ikey, "diamonds"); StringAssert.IsMatch(eve.val, "120"); }; RoarManager.roarServerTransactionEvent += callback; try { RoarManager.OnServerEvent(nn); } finally { RoarManager.roarServerTransactionEvent -= callback; } Assert.IsTrue(eventTriggered); }
public void TestMailIn() { string xml = @"<mail_in/>"; bool eventTriggered = false; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Action <Roar.Events.MailInEvent> callback = (Roar.Events.MailInEvent eve) => { eventTriggered = true; }; RoarManager.roarServerMailInEvent += callback; try { RoarManager.OnServerEvent(nn); } finally { RoarManager.roarServerMailInEvent -= callback; } Assert.IsTrue(eventTriggered); }
public void TestFriendRequest() { string xml = @"<friend_request name=""Lex Luthor"" from_player_id=""12313231"" level=""123"" friend_invite_row_id=""12341345"" />"; bool eventTriggered = false; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Action <Roar.Events.FriendRequestEvent> callback = (Roar.Events.FriendRequestEvent eve) => { eventTriggered = true; StringAssert.IsMatch(eve.name, "Lex Luthor"); StringAssert.IsMatch(eve.from_player_id, "12313231"); StringAssert.IsMatch(eve.level, "123"); StringAssert.IsMatch(eve.friend_invite_row_id, "12341345"); }; RoarManager.roarServerFriendRequestEvent += callback; try { RoarManager.OnServerEvent(nn); } finally { RoarManager.roarServerFriendRequestEvent -= callback; } Assert.IsTrue(eventTriggered); }
public void TestInviteAccepted() { string xml = @"<invite_accepted name=""Lex Luthor"" player_id=""12313231"" level=""123"" />"; bool eventTriggered = false; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Action <Roar.Events.InviteAcceptedEvent> callback = (Roar.Events.InviteAcceptedEvent eve) => { eventTriggered = true; StringAssert.IsMatch(eve.name, "Lex Luthor"); StringAssert.IsMatch(eve.player_id, "12313231"); StringAssert.IsMatch(eve.level, "123"); }; RoarManager.roarServerInviteAcceptedEvent += callback; try { RoarManager.OnServerEvent(nn); } finally { RoarManager.roarServerInviteAcceptedEvent -= callback; } Assert.IsTrue(eventTriggered); }
public void TestCollectChanged() { string xml = @"<collect_changed ikey=""health"" next=""12313231"" />"; bool eventTriggered = false; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Action <Roar.Events.CollectChangedEvent> callback = (Roar.Events.CollectChangedEvent eve) => { eventTriggered = true; StringAssert.IsMatch(eve.ikey, "health"); StringAssert.IsMatch(eve.next, "12313231"); }; RoarManager.roarServerCollectChangedEvent += callback; try { RoarManager.OnServerEvent(nn); } finally { RoarManager.roarServerCollectChangedEvent -= callback; } Assert.IsTrue(eventTriggered); }
public void TestScript() { string xml = @"<script key=""abc"" value=""blah""/>"; bool eventTriggered = false; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Action <Roar.Events.ScriptEvent> callback = (Roar.Events.ScriptEvent eve) => { eventTriggered = true; StringAssert.IsMatch(eve.key, "abc"); StringAssert.IsMatch(eve.val, "blah"); }; RoarManager.roarServerScriptEvent += callback; try { RoarManager.OnServerEvent(nn); } finally { RoarManager.roarServerScriptEvent -= callback; } Assert.IsTrue(eventTriggered); }
public void TestChromeWebStore() { string xml = @"<chrome_web_store ikey=""abc"" transaction_id=""abc""> <costs> </costs> <modifiers> </modifiers> </chrome_web_store>" ; bool eventTriggered = false; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Action <Roar.Events.ChromeWebStoreEvent> callback = (Roar.Events.ChromeWebStoreEvent eve) => { eventTriggered = true; }; RoarManager.roarServerChromeWebStoreEvent += callback; try { RoarManager.OnServerEvent(nn); } finally { RoarManager.roarServerChromeWebStoreEvent -= callback; } Assert.IsTrue(eventTriggered); }
public void TestUpdate() { string xml = @"<update type=""core"" ikey=""health"" value=""120"" />"; bool eventTriggered = false; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Action <Roar.Events.UpdateEvent> callback = (Roar.Events.UpdateEvent eve) => { eventTriggered = true; StringAssert.IsMatch(eve.ikey, "health"); StringAssert.IsMatch(eve.type, "core"); StringAssert.IsMatch(eve.val, "120"); }; RoarManager.roarServerUpdateEvent += callback; try { RoarManager.OnServerEvent(nn); } finally { RoarManager.roarServerUpdateEvent -= callback; } Assert.IsTrue(eventTriggered); }
public void TestTasksStartXmlGetAttributes() { string xml = @"<roar tick=""128555552127""> <tasks> <start status=""ok""/> </tasks> <server> <task_complete> <ikey>task_ikey</ikey> <label>Task label</label> <description>Task description</description> <location/> <tags>comma,separated,tags</tags> <costs> <stat_change ikey=""energy"" value=""10""/> </costs> <modifiers> <stat_change ikey=""xp"" value=""20""/> </modifiers> <mastery level=""3"" progress=""100""/> </task_complete> <update type=""resource"" ikey=""energy"" value=""20""/> <update type=""xp"" ikey=""xp"" value=""20""/> </server> </roar>" ; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Roar.DataConversion.Responses.Tasks.Start start_parser = new Roar.DataConversion.Responses.Tasks.Start(); StartResponse response = start_parser.Build(nn); Assert.IsNotNull(response); }
public void TestRandomChoice() { XCRMParser parser = new XCRMParser(); System.Xml.XmlElement xmlelement = RoarExtensions.CreateXmlElement( "<random_choice>" + "<choice weight=\"78\">" + "<modifier/>" + "<requirement/>" + "</choice>" + "<choice weight=\"12\">" + "<modifier/>" + "<requirement/>" + "</choice>" + "</random_choice>" ); Assert.IsNotNull(xmlelement); List <Modifier> rc1_modifiers = new List <Modifier>(); System.Xml.XmlNode rc1_modifier_node = xmlelement.SelectSingleNode("./choice[1]/modifier"); Assert.IsNotNull(rc1_modifier_node); List <Requirement> rc1_requirements = new List <Requirement>(); System.Xml.XmlNode rc1_requirement_node = xmlelement.SelectSingleNode("./choice[1]/requirement"); Assert.IsNotNull(rc1_requirement_node); List <Modifier> rc2_modifiers = new List <Modifier>(); System.Xml.XmlNode rc2_modifier_node = xmlelement.SelectSingleNode("./choice[2]/modifier"); Assert.IsNotNull(rc2_modifier_node); List <Requirement> rc2_requirements = new List <Requirement>(); System.Xml.XmlNode rc2_requirement_node = xmlelement.SelectSingleNode("./choice[2]/requirement"); Assert.IsNotNull(rc2_requirement_node); parser.crm = mockery.NewMock <IXCRMParser>(); Expect.Once.On(parser.crm).Method("ParseModifierList").With(rc1_modifier_node).Will(Return.Value(rc1_modifiers)); Expect.Once.On(parser.crm).Method("ParseRequirementList").With(rc1_requirement_node).Will(Return.Value(rc1_requirements)); Expect.Once.On(parser.crm).Method("ParseModifierList").With(rc2_modifier_node).Will(Return.Value(rc2_modifiers)); Expect.Once.On(parser.crm).Method("ParseRequirementList").With(rc2_requirement_node).Will(Return.Value(rc2_requirements)); RandomChoice m = parser.ParseAModifier(xmlelement) as RandomChoice; mockery.VerifyAllExpectationsHaveBeenMet(); Assert.IsNotNull(m); Assert.AreEqual(2, m.choices.Count); Assert.AreEqual(78, m.choices[0].weight); Assert.AreSame(rc1_modifiers, m.choices[0].modifiers); Assert.AreSame(rc1_requirements, m.choices[0].requirements); Assert.AreEqual(12, m.choices[1].weight); Assert.AreSame(rc2_modifiers, m.choices[1].modifiers); Assert.AreSame(rc2_requirements, m.choices[1].requirements); }
public void TestLevelUp() { string xml = @"<level_up value=""5"" />"; bool eventTriggered = false; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Action <Roar.Events.LevelUpEvent> callback = (Roar.Events.LevelUpEvent eve) => { eventTriggered = true; StringAssert.IsMatch(eve.val, "5"); }; RoarManager.roarServerLevelUpEvent += callback; try { RoarManager.OnServerEvent(nn); } finally { RoarManager.roarServerLevelUpEvent -= callback; } Assert.IsTrue(eventTriggered); }
public void TestUserViewXmlGetAttributes() { string xml = @"<roar tick=""135595331857""> <user> <view status=""ok""> <attribute type=""special"" ikey=""id"" value=""635902077904630318""/> <attribute type=""special"" ikey=""xp"" value=""16807"" level_start=""5"" next_level=""7""/> <attribute ikey=""energy"" label=""Energy"" value=""10"" type=""resource"" min=""2"" max=""10"" regen_amount=""1"" regen_every=""18000"" next_regen=""135595635357""/> <attribute name=""status"" value=""No current status update available"" type=""custom""/> <regen_scripts/> </view> </user> </roar>" ; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Roar.DataConversion.Responses.User.View view_parser = new Roar.DataConversion.Responses.User.View(); ViewResponse response = view_parser.Build(nn); Assert.IsNotNull(response.attributes); Assert.AreEqual(response.attributes.Count, 4); Assert.AreEqual(response.attributes[0].type, "special"); Assert.AreEqual(response.attributes[0].ikey, "id"); Assert.AreEqual(response.attributes[0].value, "635902077904630318"); Assert.AreEqual(response.attributes[1].level_start, "5"); Assert.AreEqual(response.attributes[1].next_level, "7"); Assert.AreEqual(response.attributes[2].label, "Energy"); Assert.AreEqual(response.attributes[2].min, "2"); Assert.AreEqual(response.attributes[2].max, "10"); Assert.AreEqual(response.attributes[2].regen_amount, "1"); Assert.AreEqual(response.attributes[2].regen_every, "18000"); Assert.AreEqual(response.attributes[2].next_regen, "135595635357"); Assert.AreEqual(response.attributes[3].name, "status"); }
public void TestGoogleFriendsXmlGetAttributes() { string xml = @"<roar tick=""128455369786""> <google> <friends status=""ok""> <!-- ""Mashton"" is already playing this game and has an 'id' we can use --> <friend gplus_name=""Mashton Groober"" gplus_id=""51151277315"" name=""Mashton"" id=""7877788777""/> <!-- These other two friends are not playing this game (no 'id' or 'name') --> <friend gplus_name=""Jumpy Maxton"" gplus_id=""529465555""/> <friend gplus_name=""Ami Jones"" gplus_id=""523055555""/> </friends> </google> </roar>" ; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Roar.DataConversion.Responses.Google.Friends friends_parser = new Roar.DataConversion.Responses.Google.Friends(); FriendsResponse response = friends_parser.Build(nn); Assert.AreEqual(response.friends.Count, 3); Assert.AreEqual(response.friends[0].id, "7877788777"); Assert.AreEqual(response.friends[0].name, "Mashton"); Assert.AreEqual(response.friends[0].gplus_id, "51151277315"); Assert.AreEqual(response.friends[0].gplus_name, "Mashton Groober"); Assert.IsNull(response.friends[1].id); Assert.IsNull(response.friends[1].name); Assert.AreEqual(response.friends[1].gplus_id, "529465555"); Assert.AreEqual(response.friends[1].gplus_name, "Jumpy Maxton"); Assert.IsNull(response.friends[2].id); Assert.IsNull(response.friends[2].name); Assert.AreEqual(response.friends[2].gplus_id, "523055555"); Assert.AreEqual(response.friends[2].gplus_name, "Ami Jones"); }
public void TestParseLeaderboardListResponse() { string xml = @"<roar tick=""135510457230""> <leaderboards> <list status=""ok""> <board board_id=""4000"" ikey=""premium_currency"" resource_id=""4000"" label=""""/> <board board_id=""5001"" ikey=""xp"" resource_id=""5001"" label=""""/> </list> </leaderboards> </roar>" ; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Roar.WebObjects.Leaderboards.ListResponse response = (new Roar.DataConversion.Responses.Leaderboards.List()).Build(nn); Assert.IsNotNull(response); Assert.AreEqual(2, response.boards.Count); Assert.AreEqual("4000", response.boards[0].board_id); Assert.AreEqual("premium_currency", response.boards[0].ikey); Assert.AreEqual("4000", response.boards[0].resource_id); Assert.AreEqual("", response.boards[0].label); Assert.AreEqual("5001", response.boards[1].board_id); Assert.AreEqual("xp", response.boards[1].ikey); Assert.AreEqual("5001", response.boards[1].resource_id); Assert.AreEqual("", response.boards[1].label); }
public void TestItemLose() { string xml = @"<item_lose item_id=""1234"" item_ikey=""somthing""/>"; bool eventTriggered = false; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Action <Roar.Events.ItemLoseEvent> callback = (Roar.Events.ItemLoseEvent eve) => { eventTriggered = true; StringAssert.IsMatch(eve.item_id, "1234"); StringAssert.IsMatch(eve.item_ikey, "somthing"); }; RoarManager.roarServerItemLoseEvent += callback; try { RoarManager.OnServerEvent(nn); } finally { RoarManager.roarServerItemLoseEvent -= callback; } Assert.IsTrue(eventTriggered); }
public void TestTasksListParseMechanics() { string xml = @"<roar tick=""135577684654""> <tasks> <list status=""ok""> <task ikey=""dungeon_crawl""> <label>Dungeon crawl</label> <description>Go into the pits</description> <location>Australia</location> <tags> <tag value=""protect""/> <tag value=""monsters""/> </tags> <costs> <item_cost ikey=""mariner"" number_required=""3"" ok=""false"" reason=""requires mariner(3)""/> <stat_cost type=""currency"" ikey=""premium_currency"" value=""477"" ok=""true""/> </costs> <rewards> <grant_stat type=""currency"" ikey=""premium_currency"" value=""453""/> <grant_xp value=""234""/> </rewards> <mastery level=""2"" progress=""5""/> <requires> <item_requirement ikey=""talisman"" number_required=""2"" ok=""false"" reason=""requires talisman(2)""/> </requires> </task> </list> </tasks> </roar>" ; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Mockery mockery = new Mockery(); Roar.DataConversion.IXCRMParser ixcrm_parser = mockery.NewMock <Roar.DataConversion.IXCRMParser>(); Roar.DataConversion.Responses.Tasks.List list_parser = new Roar.DataConversion.Responses.Tasks.List(); list_parser.ixcrm_parser = ixcrm_parser; Roar.DomainObjects.Task task_data = new Roar.DomainObjects.Task(); Expect.Once.On(ixcrm_parser).Method("ParseCostList").With(nn.SelectSingleNode("./tasks/list/task/costs")).Will(Return.Value(task_data.costs)); Expect.Once.On(ixcrm_parser).Method("ParseModifierList").With(nn.SelectSingleNode("./tasks/list/task/rewards")).Will(Return.Value(task_data.rewards)); Expect.Once.On(ixcrm_parser).Method("ParseRequirementList").With(nn.SelectSingleNode("./tasks/list/task/requires")).Will(Return.Value(task_data.requirements)); Expect.Once.On(ixcrm_parser).Method("ParseTagList").With(nn.SelectSingleNode("./tasks/list/task/tags")).Will(Return.Value(task_data.tags)); ListResponse response = list_parser.Build(nn); mockery.VerifyAllExpectationsHaveBeenMet(); Assert.AreEqual(response.tasks.Count, 1); Assert.AreEqual(response.tasks[0].costs.Count, 0); Assert.AreEqual(response.tasks[0].rewards.Count, 0); Assert.AreEqual(response.tasks[0].requirements.Count, 0); Assert.AreEqual(response.tasks[0].tags.Count, 0); Assert.AreEqual(response.tasks[0].costs, task_data.costs); Assert.AreEqual(response.tasks[0].rewards, task_data.rewards); Assert.AreEqual(response.tasks[0].requirements, task_data.requirements); Assert.AreEqual(response.tasks[0].tags, task_data.tags); }
public void TestWhatCanIAcceptParseMechanics() { string xml = @"<roar tick=""128555554651""> <mail> <what_can_i_accept status=""ok""> <package type=""item"" id=""15850999291750564699"" message=""Enjoy the beans!"" sender_id=""123123"" sender_name=""John""> <item id=""15850999291750564699"" ikey=""magic_beans"" count=""1"" label=""Magic Beans"" type=""custom_type"" description=""Grow a beanstalk!"" consumable=""true""/> <tag value=""test_tag""/> <tag value=""next tag""/> <modifiers> <grant_item ikey=""item_ikey_1""/> </modifiers> </package> </what_can_i_accept> </mail> </roar>" ; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Roar.DataConversion.Responses.Mail.WhatCanIAccept what_can_i_accept_parser = new Roar.DataConversion.Responses.Mail.WhatCanIAccept(); Mockery mockery = new Mockery(); Roar.DataConversion.IXCRMParser ixcrm_parser = mockery.NewMock <Roar.DataConversion.IXCRMParser>(); what_can_i_accept_parser.ixcrm_parser = ixcrm_parser; IList <string> tag_list = new List <string>(); IList <Roar.DomainObjects.Modifier> modifier_list = new List <Roar.DomainObjects.Modifier>(); IList <Roar.DomainObjects.ItemStat> item_stat_list = new List <Roar.DomainObjects.ItemStat>(); IList <Roar.DomainObjects.Modifier> item_price_list = new List <Roar.DomainObjects.Modifier>(); IList <string> item_tag_list = new List <string>(); Expect.Once.On(ixcrm_parser).Method("ParseItemStatList").With(nn.SelectSingleNode("./mail/what_can_i_accept/package/item/stats")).Will(Return.Value(item_stat_list)); Expect.Once.On(ixcrm_parser).Method("ParseModifierList").With(nn.SelectSingleNode("./mail/what_can_i_accept/package/item/price")).Will(Return.Value(item_price_list)); Expect.Once.On(ixcrm_parser).Method("ParseTagList").With(nn.SelectSingleNode("./mail/what_can_i_accept/package/item/tags")).Will(Return.Value(item_tag_list)); Expect.Once.On(ixcrm_parser).Method("ParseTagList").With(nn.SelectSingleNode("./mail/what_can_i_accept/package")).Will(Return.Value(tag_list)); Expect.Once.On(ixcrm_parser).Method("ParseModifierList").With(nn.SelectSingleNode("./mail/what_can_i_accept/package/modifiers")).Will(Return.Value(modifier_list)); WhatCanIAcceptResponse response = what_can_i_accept_parser.Build(nn); mockery.VerifyAllExpectationsHaveBeenMet(); Assert.AreEqual(response.packages.Count, 1); Assert.AreEqual(response.packages[0].id, "15850999291750564699"); Assert.AreEqual(response.packages[0].type, "item"); Assert.AreEqual(response.packages[0].sender_id, "123123"); Assert.AreEqual(response.packages[0].sender_name, "John"); Assert.AreEqual(response.packages[0].message, "Enjoy the beans!"); Assert.AreEqual(response.packages[0].items.Count, 1); Assert.AreEqual(response.packages[0].tags.Count, 0); Assert.AreEqual(response.packages[0].modifiers.Count, 0); Assert.AreEqual(response.packages[0].items[0].stats, item_stat_list); Assert.AreEqual(response.packages[0].items[0].price, item_price_list); Assert.AreEqual(response.packages[0].tags, tag_list); Assert.AreEqual(response.packages[0].modifiers, modifier_list); }
public void TestNothing() { XCRMParser parser = new XCRMParser(); System.Xml.XmlElement xmlelement = RoarExtensions.CreateXmlElement("<nothing/>"); Modifier m = parser.ParseAModifier(xmlelement); mockery.VerifyAllExpectationsHaveBeenMet(); Assert.IsNotNull(m as Nothing); }
public void TestGrantXP() { XCRMParser parser = new XCRMParser(); System.Xml.XmlElement xmlelement = RoarExtensions.CreateXmlElement("<grant_xp value=\"25\"/>"); Modifier m = parser.ParseAModifier(xmlelement); mockery.VerifyAllExpectationsHaveBeenMet(); Assert.IsNotNull(m as GrantXp); Assert.AreEqual((m as GrantXp).value, 25); }
public void TestGrantItem() { XCRMParser parser = new XCRMParser(); System.Xml.XmlElement xmlelement = RoarExtensions.CreateXmlElement("<grant_item ikey=\"christmas_tree\"/>"); Modifier m = parser.ParseAModifier(xmlelement); mockery.VerifyAllExpectationsHaveBeenMet(); Assert.IsNotNull(m as GrantItem); Assert.AreEqual((m as GrantItem).ikey, "christmas_tree"); }
public void TestItemsViewXmlParseMechanics() { string xml = @"<roar tick=""135536803344""> <items> <view status=""ok""> <item> <stats> <regen_stat_limited ikey=""premium_currency"" value=""345"" repeat=""12"" times_used=""4""/> </stats> <properties> <property ikey=""mariner"" value=""543""/> </properties> <tags> <tag value=""magicitem""/> </tags> <price> <grant_item ikey=""talisman""/> </price> </item> </view> </items> </roar>" ; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Mockery mockery = new Mockery(); Roar.DataConversion.IXCRMParser ixcrm_parser = mockery.NewMock <Roar.DataConversion.IXCRMParser>(); List <Roar.DomainObjects.ItemStat> item_stat_list = new List <Roar.DomainObjects.ItemStat>(); List <Roar.DomainObjects.Modifier> modifier_list = new List <Roar.DomainObjects.Modifier>(); List <string> tag_list = new List <string>(); Roar.DataConversion.Responses.Items.View items_view_response_parser = new Roar.DataConversion.Responses.Items.View(); items_view_response_parser.ixcrm_parser = ixcrm_parser; System.Xml.XmlNode stat_node = nn.SelectSingleNode("./items/view/item/stats"); Expect.Once.On(ixcrm_parser).Method("ParseItemStatList").With(stat_node).Will(Return.Value(item_stat_list)); System.Xml.XmlNode modifiers_node = nn.SelectSingleNode("./items/view/item/price"); Expect.Once.On(ixcrm_parser).Method("ParseModifierList").With(modifiers_node).Will(Return.Value(modifier_list)); System.Xml.XmlNode tag_node = nn.SelectSingleNode("./items/view/item/tags"); Expect.Once.On(ixcrm_parser).Method("ParseTagList").With(tag_node).Will(Return.Value(tag_list)); ViewResponse response = items_view_response_parser.Build(nn); mockery.VerifyAllExpectationsHaveBeenMet(); Assert.IsNotNull(response.items); Assert.AreEqual(response.items.Count, 1); Assert.AreEqual(response.items[0].stats, item_stat_list); Assert.AreEqual(response.items[0].price, modifier_list); Assert.AreEqual(response.items[0].tags, tag_list); }
public void TestErrorsOnMissingLabel() { System.Xml.XmlElement shopElement = RoarExtensions.CreateXmlElement("shop_entry", ""); shopElement.SetAttribute("ikey", "shop_item_ikey_1"); shopElement.SetAttribute("description", "Lorem Ipsum"); Roar.DomainObjects.ShopEntry shopentry = converter.Build(shopElement); Assert.AreEqual("", shopentry.label); mockery.VerifyAllExpectationsHaveBeenMet(); }
public void TestDeafultOnMissingDescription() { System.Xml.XmlElement shopElement = RoarExtensions.CreateXmlElement("shop_entry", ""); shopElement.SetAttribute("ikey", "shop_item_ikey_1"); shopElement.SetAttribute("label", "Shop item 1"); Roar.DomainObjects.ShopEntry shopentry = converter.Build(shopElement); Assert.AreEqual("", shopentry.description); mockery.VerifyAllExpectationsHaveBeenMet(); }
public void TestWhatCanIAcceptGetXmlAttributes() { string xml = @"<roar tick=""128555554651""> <mail> <what_can_i_accept status=""ok""> <package type=""item"" id=""15850999291750564699"" message=""Enjoy the beans!"" sender_id=""123123"" sender_name=""John""> <item id=""15850999291750564699"" ikey=""magic_beans"" count=""1"" label=""Magic Beans"" type=""custom_type"" description=""Grow a beanstalk!"" consumable=""true""/> </package> <package type=""gift"" id=""6760640600796911244"" message=""Have a happy day"" sender_id=""234"" sender_name=""Brenda""> <tag value=""test_tag""/> <tag value=""next tag""/> <modifiers> <grant_item ikey=""item_ikey_1""/> </modifiers> </package> </what_can_i_accept> </mail> </roar>" ; System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml); Roar.DataConversion.Responses.Mail.WhatCanIAccept what_can_i_accept_parser = new Roar.DataConversion.Responses.Mail.WhatCanIAccept(); WhatCanIAcceptResponse response = what_can_i_accept_parser.Build(nn); Assert.AreEqual(response.packages.Count, 2); Assert.AreEqual(response.packages[0].id, "15850999291750564699"); Assert.AreEqual(response.packages[0].type, "item"); Assert.AreEqual(response.packages[0].sender_id, "123123"); Assert.AreEqual(response.packages[0].sender_name, "John"); Assert.AreEqual(response.packages[0].message, "Enjoy the beans!"); Assert.AreEqual(response.packages[0].items.Count, 1); Assert.AreEqual(response.packages[0].tags.Count, 0); Assert.AreEqual(response.packages[0].items[0].id, "15850999291750564699"); Assert.AreEqual(response.packages[0].items[0].ikey, "magic_beans"); Assert.AreEqual(response.packages[0].items[0].count, 1); Assert.AreEqual(response.packages[0].items[0].label, "Magic Beans"); Assert.AreEqual(response.packages[0].items[0].type, "custom_type"); Assert.AreEqual(response.packages[0].items[0].description, "Grow a beanstalk!"); Assert.IsTrue(response.packages[0].items[0].consumable); Assert.AreEqual(response.packages[0].modifiers.Count, 0); Assert.AreEqual(response.packages[1].id, "6760640600796911244"); Assert.AreEqual(response.packages[1].type, "gift"); Assert.AreEqual(response.packages[1].sender_id, "234"); Assert.AreEqual(response.packages[1].sender_name, "Brenda"); Assert.AreEqual(response.packages[1].message, "Have a happy day"); Assert.AreEqual(response.packages[1].items.Count, 0); Assert.AreEqual(response.packages[1].tags.Count, 2); Assert.AreEqual(response.packages[1].modifiers.Count, 1); Assert.AreEqual(response.packages[1].tags[0], "test_tag"); Assert.AreEqual(response.packages[1].tags[1], "next tag"); Assert.AreEqual((response.packages[1].modifiers[0] as Roar.DomainObjects.Modifiers.GrantItem).ikey, "item_ikey_1"); }
public void TestGrantXPRange() { XCRMParser parser = new XCRMParser(); System.Xml.XmlElement xmlelement = RoarExtensions.CreateXmlElement("<grant_xp_range min=\"33\" max=\"44\"/>"); Modifier m = parser.ParseAModifier(xmlelement); mockery.VerifyAllExpectationsHaveBeenMet(); Assert.IsNotNull(m as GrantXpRange); Assert.AreEqual((m as GrantXpRange).min, 33); Assert.AreEqual((m as GrantXpRange).max, 44); }
public void TestRemoveItems() { XCRMParser parser = new XCRMParser(); System.Xml.XmlElement xmlelement = RoarExtensions.CreateXmlElement("<remove_items ikey=\"christmas_tree\" count=\"15\"/>"); Modifier m = parser.ParseAModifier(xmlelement); mockery.VerifyAllExpectationsHaveBeenMet(); Assert.IsNotNull(m as RemoveItems); Assert.AreEqual((m as RemoveItems).ikey, "christmas_tree"); Assert.AreEqual((m as RemoveItems).count, 15); }
public void TestItem() { XCRMParser parser = new XCRMParser(); System.Xml.XmlElement xmlelement = RoarExtensions.CreateXmlElement("<item_requirement ikey=\"christmas_tree\" number_required=\"56\" ok=\"false\" reason=\"required christmas_tree(56)\"/>"); Roar.DomainObjects.Requirements.Item r = parser.ParseARequirement(xmlelement) as Roar.DomainObjects.Requirements.Item; mockery.VerifyAllExpectationsHaveBeenMet(); Assert.IsNotNull(r); Assert.AreEqual(r.ikey, "christmas_tree"); Assert.AreEqual(r.number_required, 56); Assert.AreEqual(r.ok, false); Assert.AreEqual(r.reason, "required christmas_tree(56)"); }
public void TestLevel() { XCRMParser parser = new XCRMParser(); System.Xml.XmlElement xmlelement = RoarExtensions.CreateXmlElement("<level_requirement level=\"3\" ok=\"false\" reason=\"requires level 3\"/>"); Level r = parser.ParseARequirement(xmlelement) as Level; mockery.VerifyAllExpectationsHaveBeenMet(); Assert.IsNotNull(r); Assert.AreEqual(r.level, 3); Assert.AreEqual(r.ok, false); Assert.AreEqual(r.reason, "requires level 3"); }
public void TestFriends() { XCRMParser parser = new XCRMParser(); System.Xml.XmlElement xmlelement = RoarExtensions.CreateXmlElement("<friends_requirement required=\"5\" ok=\"false\" reason=\"Insufficient friends\"/>"); Friends r = parser.ParseARequirement(xmlelement) as Friends; mockery.VerifyAllExpectationsHaveBeenMet(); Assert.IsNotNull(r); Assert.AreEqual(r.required, 5); Assert.AreEqual(r.ok, false); Assert.AreEqual(r.reason, "Insufficient friends"); }