public void EngineShouldWriteXmlOfRevealBonusResultXml(int gameId, int level) { var config = new Configuration(); var requestContext = GetMockBonusRequestContext(0, gameId); var spinResult = GenerateWithMultiplierSpinResult(level); var bonus = MultiplierBonusEngine.CreateMultiplierBonus(spinResult); var multiplier = MultiplierBonusEngine.GetMultiplier(config); var totalWin = MultiplierBonusEngine.CalculateWin(spinResult.BonusPositions.First().Symbol, 1, multiplier, config); bonus.UpdateBonus(multiplier); var multiplierBonusResult = MultiplierBonusEngine.CreateMultiplierBonusResult(bonus, totalWin); var xElement = multiplierBonusResult.ToXElement(); Assert.DoesNotThrow(() => { var responseXml = new MultiplierBonusXml(); 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); } }); }
public void EngineShouldReadResponseXmlOfRevealBonusResult(int gameId, int level) { var config = new Configuration(); var requestContext = GetMockBonusRequestContext(0, gameId); var spinResult = GenerateWithMultiplierSpinResult(level); var bonus = MultiplierBonusEngine.CreateMultiplierBonus(spinResult); var multiplier = MultiplierBonusEngine.GetMultiplier(config); var totalWin = MultiplierBonusEngine.CalculateWin(spinResult.BonusPositions.First().Symbol, 1, multiplier, config); bonus.UpdateBonus(multiplier); var multiplierBonusResult = MultiplierBonusEngine.CreateMultiplierBonusResult(bonus, totalWin); var xElement = multiplierBonusResult.ToXElement(); Assert.DoesNotThrow(() => { using (var xmlReader = xElement.CreateReader()) { var responseXml = new MultiplierBonusXml(); responseXml.ReadXml(xmlReader); } }); }
public void EngineShouldCopyBonusValuesFromResultToXml(int gameId, int level) { var config = new Configuration(); var requestContext = GetMockBonusRequestContext(0, gameId); var spinResult = GenerateWithMultiplierSpinResult(level); var bonus = MultiplierBonusEngine.CreateMultiplierBonus(spinResult); var multiplier = MultiplierBonusEngine.GetMultiplier(config); var totalWin = MultiplierBonusEngine.CalculateWin(spinResult.BonusPositions.First().Symbol, 1, multiplier, config); bonus.UpdateBonus(multiplier); var multiplierBonusResult = MultiplierBonusEngine.CreateMultiplierBonusResult(bonus, totalWin); var xElement = multiplierBonusResult.ToXElement(); var responseXml = new MultiplierBonusXml(); using (var xmlReader = xElement.CreateReader()) { responseXml.ReadXml(xmlReader); } Assert.IsNull(responseXml.GetSchema()); Assert.AreEqual(multiplierBonusResult.Win, responseXml.Win); Assert.AreEqual(multiplierBonusResult.Multiplier, responseXml.Multiplier); }