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)); }
public void EngineShouldCreateRevealBonusInstance(int level) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); Assert.IsNotNull(RevealBonusEngine.CreateRevealBonus(spinResult)); }
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); } }); }
public decimal EngineShouldCreateCorrectPayout(string revealItemString, int revealItem, int level) { var config = new Configuration(); var spinBet = MainGameEngine.GenerateSpinBet(new RequestContext <SpinArgs>("", "", PlatformType.Web) { GameSetting = new Model.Entity.GameSetting { GameSettingGroupId = 0 }, Currency = new Model.Entity.Currency { Id = 0 }, Parameters = new SpinArgs { LineBet = 1, Multiplier = 1 }, }); var spinResult = GenerateWithBonusSpinResult(level); var revealItems = Array.ConvertAll(revealItemString.Split(','), Convert.ToInt32); var revealBonus = RevealBonusEngine.CreateRevealBonus(spinResult); revealBonus.UpdateBonus(revealItems, revealItem); var revealBonusResult = RevealBonusEngine.CreateRevealBonusResult(revealBonus); return(revealBonusResult.Win); }
public void EngineShouldCreateRevealBonusWithTransactionId(int level) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var revealBonus = RevealBonusEngine.CreateRevealBonus(spinResult); Assert.IsTrue(revealBonus.SpinTransactionId == spinResult.TransactionId); }
public void EngineShouldCreateRevealBonusWithValidGuid(int level) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var revealBonus = RevealBonusEngine.CreateRevealBonus(spinResult); Assert.IsTrue(!string.IsNullOrWhiteSpace(revealBonus.Guid.ToString())); }
public void EngineShouldIncompleteRevealBonusOnUpdateWithoutSelectedIndex(int level) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var revealItems = RevealBonusEngine.CreateRevealItems(config.BonusConfig.Reveal.ItemWeights); var revealBonus = RevealBonusEngine.CreateRevealBonus(spinResult); Assert.IsTrue(!revealBonus.IsCompleted); }
public void EngineShouldCreateRevealBonusWithGameResult(int level) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var revealBonus = RevealBonusEngine.CreateRevealBonus(spinResult); Assert.AreSame(spinResult, revealBonus.GameResult); Assert.AreSame(spinResult, revealBonus.SpinResult); }
public void EngineShouldThrowExceptionOnInvalidRevealSelectionIndex(int level, int revealItem) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var revealBonus = RevealBonusEngine.CreateRevealBonus(spinResult); var revealItems = RevealBonusEngine.CreateRevealItems(config.BonusConfig.Reveal.ItemWeights); Assert.Throws(typeof(ArgumentException), () => revealBonus.UpdateBonus(revealItems, revealItem)); }
public void EngineShouldContinueBonusOnWinBonusResult(int level) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var revealItems = RevealBonusEngine.CreateRevealItems(config.BonusConfig.Reveal.ItemWeights); var revealBonus = RevealBonusEngine.CreateRevealBonus(spinResult); revealBonus.UpdateBonus(revealItems, 1); Assert.IsTrue(revealBonus.IsCompleted); }
public void EngineShouldNotThrowExceptionOnValidRevealSelectionIndex(int level, int revealItem) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var revealBonus = RevealBonusEngine.CreateRevealBonus(spinResult); var revealItems = RevealBonusEngine.CreateRevealItems(config.BonusConfig.Reveal.ItemWeights); revealBonus.UpdateBonus(revealItems, revealItem); Assert.DoesNotThrow(() => RevealBonusEngine.CreateRevealBonusResult(revealBonus)); }
public void EngineShouldCreateRevealBonusResultWithSameSpinTransactionId(int level, int revealItem) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var revealBonus = RevealBonusEngine.CreateRevealBonus(spinResult); var revealItems = RevealBonusEngine.CreateRevealItems(config.BonusConfig.Reveal.ItemWeights); revealBonus.UpdateBonus(revealItems, revealItem); var revealBonusResult = RevealBonusEngine.CreateRevealBonusResult(revealBonus); Assert.IsTrue(revealBonusResult.SpinTransactionId == revealBonus.SpinTransactionId); }
public void EngineShouldCreateRevealBonusResultWithSameGameResultAndBonus(int level, int revealItem) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var revealBonus = RevealBonusEngine.CreateRevealBonus(spinResult); var revealItems = RevealBonusEngine.CreateRevealItems(config.BonusConfig.Reveal.ItemWeights); revealBonus.UpdateBonus(revealItems, revealItem); var revealBonusResult = RevealBonusEngine.CreateRevealBonusResult(revealBonus); Assert.AreSame(revealBonusResult.Bonus, revealBonus); }
public void EngineShouldCreateBonusResponseXmlOfRevealBonusResult(int level) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var revealItems = RevealBonusEngine.CreateRevealItems(config.BonusConfig.Reveal.ItemWeights); var revealBonus = RevealBonusEngine.CreateRevealBonus(spinResult); revealBonus.UpdateBonus(revealItems, 0); var revealBonusResult = RevealBonusEngine.CreateRevealBonusResult(revealBonus); var responseXml = revealBonusResult.ToResponseXml(ResponseXmlFormat.History); Assert.IsNotNull(responseXml); }
public void EngineShouldCreateBonusResponseXmlOfRevealBonusResult(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 responseXml = revealBonusResult.ToResponseXml(ResponseXmlFormat.History); Assert.IsNotNull(responseXml); }
public void EngineShouldCreateBonusXElementOfRevealBonusResult(int level) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var revealItems = RevealBonusEngine.CreateRevealItems(config.BonusConfig.Reveal.ItemWeights); var revealBonus = RevealBonusEngine.CreateRevealBonus(spinResult); revealBonus.UpdateBonus(revealItems, 0); var revealBonusResult = RevealBonusEngine.CreateRevealBonusResult(revealBonus); var xElement = revealBonusResult.ToXElement(); Assert.IsNotNull(xElement); }
public void EngineShouldReadResponseXmlOfRevealBonusResult(int level) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var revealItems = RevealBonusEngine.CreateRevealItems(config.BonusConfig.Reveal.ItemWeights); var revealBonus = RevealBonusEngine.CreateRevealBonus(spinResult); revealBonus.UpdateBonus(revealItems, 0); var revealBonusResult = RevealBonusEngine.CreateRevealBonusResult(revealBonus); var xElement = revealBonusResult.ToXElement(); Assert.DoesNotThrow(() => { using (var xmlReader = xElement.CreateReader()) { var responseXml = new BonusXml(); responseXml.ReadXml(xmlReader); } }); }
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); } }); }
public void EngineShouldCreateCorrectRevealItemIndex() { var config = new Configuration(); Assert.DoesNotThrow(() => RevealBonusEngine.GetRevealItem(config.BonusConfig.Reveal.ItemWeights)); }