コード例 #1
0
    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);
    }
コード例 #2
0
    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);
    }
コード例 #3
0
    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);
    }
コード例 #4
0
    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);
    }
コード例 #5
0
    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);
    }
コード例 #6
0
    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);
    }
コード例 #7
0
    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);
    }
コード例 #8
0
    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);
    }
コード例 #9
0
    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);
    }
コード例 #10
0
        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);
        }
コード例 #11
0
ファイル: ModifierTests.cs プロジェクト: joaokucera/sdk-unity
    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);
    }
コード例 #12
0
    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);
    }
コード例 #13
0
        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");
        }
コード例 #14
0
        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");
        }
コード例 #15
0
        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);
        }
コード例 #16
0
    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);
    }
コード例 #17
0
        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);
        }
コード例 #18
0
        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);
        }
コード例 #19
0
ファイル: ModifierTests.cs プロジェクト: joaokucera/sdk-unity
    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);
    }
コード例 #20
0
ファイル: ModifierTests.cs プロジェクト: joaokucera/sdk-unity
    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);
    }
コード例 #21
0
ファイル: ModifierTests.cs プロジェクト: joaokucera/sdk-unity
    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");
    }
コード例 #22
0
        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);
        }
コード例 #23
0
        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();
        }
コード例 #24
0
        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();
        }
コード例 #25
0
        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");
        }
コード例 #26
0
ファイル: ModifierTests.cs プロジェクト: joaokucera/sdk-unity
    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);
    }
コード例 #27
0
ファイル: ModifierTests.cs プロジェクト: joaokucera/sdk-unity
    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);
    }
コード例 #28
0
    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)");
    }
コード例 #29
0
    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");
    }
コード例 #30
0
    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");
    }