コード例 #1
0
        public void EngineShouldWriteXmlOfRevealBonusResultXml(int gameId, int level)
        {
            var module      = GetModule(gameId);
            var spinResult  = GenerateWithBonusSpinResult(level);
            var revealItems = RevealBonusEngine.CreateRevealItems(module.Configuration.BonusConfig.Reveal.ItemWeights);
            var revealBonus = RevealBonusEngine.CreateRevealBonus(spinResult);
            var revealItem  = RandomNumberEngine.Next(Reveal.RandomWeightMinRange, Reveal.RandomWeightMaxRange);

            revealBonus.UpdateBonus(revealItems, revealItem);

            var revealBonusResult = RevealBonusEngine.CreateRevealBonusResult(revealBonus);
            var xElement          = revealBonusResult.ToXElement();

            Assert.DoesNotThrow(() =>
            {
                var responseXml = new RevealBonusXml();
                using (var xmlReader = xElement.CreateReader())
                {
                    responseXml.ReadXml(xmlReader);
                }

                using (var memStream = new MemoryStream())
                    using (var xmlWriter = XmlWriter.Create(memStream, new XmlWriterSettings()
                    {
                        ConformanceLevel = ConformanceLevel.Auto
                    }))
                    {
                        xmlWriter.WriteStartElement("bonus");
                        responseXml.WriteXml(xmlWriter);
                    }
            });
        }
コード例 #2
0
        public void EngineShouldCopyBonusValuesFromResultToXml(int gameId, int level)
        {
            var module      = GetModule(gameId);
            var spinResult  = GenerateWithBonusSpinResult(level);
            var revealItems = RevealBonusEngine.CreateRevealItems(module.Configuration.BonusConfig.Reveal.ItemWeights);
            var revealBonus = RevealBonusEngine.CreateRevealBonus(spinResult);
            var revealItem  = RandomNumberEngine.Next(Reveal.RandomWeightMinRange, Reveal.RandomWeightMaxRange);

            revealBonus.UpdateBonus(revealItems, revealItem);

            var revealBonusResult = RevealBonusEngine.CreateRevealBonusResult(revealBonus);
            var xElement          = revealBonusResult.ToXElement();
            var responseXml       = new RevealBonusXml();

            using (var xmlReader = xElement.CreateReader())
            {
                responseXml.ReadXml(xmlReader);
            }

            Assert.IsNull(responseXml.GetSchema());
            Assert.AreEqual(revealBonusResult.Win, responseXml.Win);
            Assert.AreEqual(revealBonusResult.Multiplier, responseXml.Multiplier);
            Assert.AreEqual(revealBonusResult.RevealItem, responseXml.RevealItem);
            Assert.AreEqual(string.Join(',', revealBonusResult.RevealItems), string.Join(',', responseXml.RevealItems));
        }
コード例 #3
0
        public void EngineShouldReadResponseXmlOfRevealBonusResult(int gameId, int level)
        {
            var module      = GetModule(gameId);
            var spinResult  = GenerateWithBonusSpinResult(level);
            var revealItems = RevealBonusEngine.CreateRevealItems(module.Configuration.BonusConfig.Reveal.ItemWeights);
            var revealBonus = RevealBonusEngine.CreateRevealBonus(spinResult);
            var revealItem  = RandomNumberEngine.Next(Reveal.RandomWeightMinRange, Reveal.RandomWeightMaxRange);

            revealBonus.UpdateBonus(revealItems, revealItem);

            var revealBonusResult = RevealBonusEngine.CreateRevealBonusResult(revealBonus);
            var xElement          = revealBonusResult.ToXElement();

            Assert.DoesNotThrow(() =>
            {
                using (var xmlReader = xElement.CreateReader())
                {
                    var responseXml = new RevealBonusXml();
                    responseXml.ReadXml(xmlReader);
                }
            });
        }