Пример #1
0
        public void TestShopBuyXmlGetAttributes()
        {
            string xml =
            @"<roar tick=""125555445657"">
                <shop>
                    <buy status=""ok"">
                        <costs>
                            <cost type=""stat_change"" ikey=""coins"" value=""-5""/>
                            <cost type=""stat_change"" ikey=""premium_currency"" value=""-67""/>
                            <cost type=""stat_change"" ikey=""coins"" value=""-4""/>
                            <cost type=""removed_items"" ikey=""talisman"" count=""4""/>
                            <cost type=""removed_items"" ikey=""talisman"" count=""3""/>
                            <cost type=""removed_items"" ikey=""ring_of_power"" count=""1""/>
                        </costs>
                        <modifiers>
                            <modifier type=""add_xp"" value=""100""/>
                            <modifier type=""add_item"" ikey=""item_key"" item_id=""16268470388190951200""/>
                            <modifier type=""add_xp"" value=""45""/>
                            <modifier type=""add_item"" ikey=""talisman"" item_id=""1117206301""/>
                            <modifier type=""add_item"" ikey=""talisman"" item_id=""1039149107""/>
                            <modifier type=""removed_items"" ikey=""talisman"" count=""2""/>
                            <modifier type=""stat_change"" ikey=""premium_currency"" value=""16""/>
                            <modifier type=""stat_change"" ikey=""premium_currency"" value=""7""/>
                            <modifier type=""add_xp"" value=""9""/>
                            <modifier type=""stat_change"" ikey=""premium_currency"" value=""177""/>
                            <modifier type=""add_xp"" value=""1567""/>
                            <modifier type=""add_xp"" value=""3456""/>
                            <modifier type=""stat_change"" ikey=""premium_currency"" value=""9876""/>
                        </modifiers>
                        <tags>
                            <tag value=""special""/>
                            <tag value=""magic""/>
                        </tags>
                    </buy>
                </shop>
                <!--Server block shows server updates below-->
                <server>
                    <update type=""currency"" ikey=""coins"" value=""203""/>
                    <inventory_changed/>
                </server>
            </roar>";

            System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml);

            Roar.DataConversion.Responses.Shop.Buy converter = new Roar.DataConversion.Responses.Shop.Buy();
            BuyResponse response = converter.Build(nn);

            Assert.IsNotNull(response.buy_response);

            Assert.AreEqual(response.buy_response.stat_change.Count, 2);
            Assert.AreEqual(response.buy_response.stat_change["coins"], -9);
            Assert.AreEqual(response.buy_response.stat_change["premium_currency"], 10009);

            Assert.AreEqual(response.buy_response.removed_items.Count, 2);
            Assert.AreEqual(response.buy_response.removed_items["talisman"], 9);
            Assert.AreEqual(response.buy_response.removed_items["ring_of_power"], 1);

            Assert.AreEqual(response.buy_response.add_xp, 5177);

            Assert.AreEqual(response.buy_response.add_item.Count, 2);
            Assert.AreEqual(response.buy_response.add_item["item_key"][0], "16268470388190951200");
            Assert.AreEqual(response.buy_response.add_item["talisman"][0], "1117206301");
            Assert.AreEqual(response.buy_response.add_item["talisman"][1], "1039149107");

            Assert.AreEqual(response.buy_response.tags.Count, 2);
            Assert.AreEqual(response.buy_response.tags[0], "special");
            Assert.AreEqual(response.buy_response.tags[1], "magic");
        }
Пример #2
0
        public void TestShopBuyXmlGetAttributes()
        {
            string xml =
                @"<roar tick=""125555445657"">
				<shop>
					<buy status=""ok"">
						<costs>
							<cost type=""stat_change"" ikey=""coins"" value=""-5""/>
							<cost type=""stat_change"" ikey=""premium_currency"" value=""-67""/>
							<cost type=""stat_change"" ikey=""coins"" value=""-4""/>
							<cost type=""removed_items"" ikey=""talisman"" count=""4""/>
							<cost type=""removed_items"" ikey=""talisman"" count=""3""/>
							<cost type=""removed_items"" ikey=""ring_of_power"" count=""1""/>
						</costs>
						<modifiers>
							<modifier type=""add_xp"" value=""100""/>
							<modifier type=""add_item"" ikey=""item_key"" item_id=""16268470388190951200""/>
							<modifier type=""add_xp"" value=""45""/>
							<modifier type=""add_item"" ikey=""talisman"" item_id=""1117206301""/>
							<modifier type=""add_item"" ikey=""talisman"" item_id=""1039149107""/>
							<modifier type=""removed_items"" ikey=""talisman"" count=""2""/>
							<modifier type=""stat_change"" ikey=""premium_currency"" value=""16""/>
							<modifier type=""stat_change"" ikey=""premium_currency"" value=""7""/>
							<modifier type=""add_xp"" value=""9""/>
							<modifier type=""stat_change"" ikey=""premium_currency"" value=""177""/>
							<modifier type=""add_xp"" value=""1567""/>
							<modifier type=""add_xp"" value=""3456""/>
							<modifier type=""stat_change"" ikey=""premium_currency"" value=""9876""/>
						</modifiers>
						<tags>
							<tag value=""special""/>
							<tag value=""magic""/>
						</tags>
					</buy>
				</shop>
				<!--Server block shows server updates below-->
				<server>
					<update type=""currency"" ikey=""coins"" value=""203""/>
					<inventory_changed/>
				</server>
			</roar>"            ;

            System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml);

            Roar.DataConversion.Responses.Shop.Buy converter = new Roar.DataConversion.Responses.Shop.Buy();
            BuyResponse response = converter.Build(nn);

            Assert.IsNotNull(response.buy_response);

            Assert.AreEqual(response.buy_response.stat_change.Count, 2);
            Assert.AreEqual(response.buy_response.stat_change["coins"], -9);
            Assert.AreEqual(response.buy_response.stat_change["premium_currency"], 10009);

            Assert.AreEqual(response.buy_response.removed_items.Count, 2);
            Assert.AreEqual(response.buy_response.removed_items["talisman"], 9);
            Assert.AreEqual(response.buy_response.removed_items["ring_of_power"], 1);

            Assert.AreEqual(response.buy_response.add_xp, 5177);

            Assert.AreEqual(response.buy_response.add_item.Count, 2);
            Assert.AreEqual(response.buy_response.add_item["item_key"][0], "16268470388190951200");
            Assert.AreEqual(response.buy_response.add_item["talisman"][0], "1117206301");
            Assert.AreEqual(response.buy_response.add_item["talisman"][1], "1039149107");

            Assert.AreEqual(response.buy_response.tags.Count, 2);
            Assert.AreEqual(response.buy_response.tags[0], "special");
            Assert.AreEqual(response.buy_response.tags[1], "magic");
        }