public void EngineShouldReadResponseXmlOfSpinResult(int level) { var collapsingSpinResult = GenerateWinningCollapsingSpinResult(level); var xElement = collapsingSpinResult.ToXElement(); Assert.DoesNotThrow(() => { using (var xmlReader = xElement.CreateReader()) { var responseXml = new CollapsingSpinXml(); responseXml.ReadXml(xmlReader); } }); }
public void EngineShouldCopyAddedSymbolsFromSpinToXml(int level) { var collapsingSpinResult = GenerateWinningCollapsingSpinResult(level); var xElement = collapsingSpinResult.ToXElement(); var responseXml = new CollapsingSpinXml(); using (var xmlReader = xElement.CreateReader()) { responseXml.ReadXml(xmlReader); } var expectedReels = string.Join(',', collapsingSpinResult.CollapsingAdds.SelectMany(kv => kv.Value)); var actualReels = string.Join(',', responseXml.CollapsingAdds.SelectMany(kv => kv.Value)); Assert.AreEqual(expectedReels, actualReels); }
public void EngineShouldCopySpinValuesFromSpinToXml(int level) { var collapsingSpinResult = GenerateWinningCollapsingSpinResult(level); var xElement = collapsingSpinResult.ToXElement(); var responseXml = new CollapsingSpinXml(); using (var xmlReader = xElement.CreateReader()) { responseXml.ReadXml(xmlReader); } Assert.IsNull(responseXml.GetSchema()); Assert.AreEqual(collapsingSpinResult.SpinBet.UserGameKey.GameId, responseXml.GameIdXml); Assert.AreEqual(collapsingSpinResult.Type, responseXml.Type); Assert.AreEqual(collapsingSpinResult.Bet, responseXml.Bet); Assert.AreEqual(collapsingSpinResult.Win, responseXml.WinElement.Value); Assert.AreEqual(collapsingSpinResult.XmlType, responseXml.XmlType); Assert.AreEqual(collapsingSpinResult.TransactionId, responseXml.TransactionId); }
public void EngineShouldCopyBonusPositionsFromSpinToXml(int level) { var collapsingSpinResult = GenerateWinningCollapsingSpinResult(level); var xElement = collapsingSpinResult.ToXElement(); var responseXml = new CollapsingSpinXml(); using (var xmlReader = xElement.CreateReader()) { responseXml.ReadXml(xmlReader); } for (var bonusPositionIndex = 0; bonusPositionIndex < collapsingSpinResult.BonusPositions.Count; bonusPositionIndex++) { var expectedObject = collapsingSpinResult.BonusPositions[bonusPositionIndex]; var actualObject = responseXml.BonusPositions[bonusPositionIndex]; Assert.AreEqual(expectedObject.Symbol, actualObject.Symbol); Assert.AreEqual(expectedObject.Count, actualObject.Count); Assert.AreEqual(string.Join(',', expectedObject.RowPositions), string.Join(',', actualObject.RowPositions)); } }
public void EngineShouldWriteXmlOfSpinResultXml(int level) { var collapsingSpinResult = GenerateWinningCollapsingSpinResult(level); var xElement = collapsingSpinResult.ToXElement(); Assert.DoesNotThrow(() => { var responseXml = new CollapsingSpinXml(); 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("spin"); responseXml.WriteXml(xmlWriter); } }); }