Example #1
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);
        }
Example #2
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);
        }