public void ThenGameDataIsPassedToGateway(string sessionID, string messageID, string cardID, int packVersion, int seed, string cardtoAdd, float probability) { GameDataGatewaySpy gameDataGatewaySpy = new GameDataGatewaySpy(); Tuple <string, float>[] cardsToAdd = { new Tuple <string, float>(cardtoAdd, probability) }; SaveNewGameData saveNewGameData = new SaveNewGameData(gameDataGatewaySpy, new PublishEndPointDummy()); saveNewGameData.Execute( sessionID, messageID, new GameDataDummy() { CurrentCardID = cardID, Seed = seed, PackVersion = packVersion, CardsToAdd = cardsToAdd } ); Assert.True(gameDataGatewaySpy.SaveSessionID == sessionID); Assert.True(gameDataGatewaySpy.SaveGameData.CurrentCardID == cardID); Assert.True(gameDataGatewaySpy.SaveGameData.Seed == seed); Assert.True(gameDataGatewaySpy.SaveGameData.PackVersion == packVersion); Assert.True(gameDataGatewaySpy.SaveGameData.CardsToAdd[0].Item1 == cardtoAdd); Assert.True(Math.Abs(gameDataGatewaySpy.SaveGameData.CardsToAdd[0].Item2 - probability) < 0.05f); }
public void ThenThrowsInvalidSessionIDException(string sessionID) { SaveNewGameData saveNewGameData = new SaveNewGameData(new GameDataGatewayDummy(), new PublishEndPointDummy()); Assert.Throws <InvalidSessionIDException>(() => { saveNewGameData.Execute(sessionID, "MessageID", new GameDataDummy()); }); }
public void ThenGameResponseIsPublishedWithMessageIDAndSessionID(string sessionID, string messageID, string cardID, int packVersion, int seed, string cardtoAdd, float probability) { GameDataGatewaySpy gameDataGatewaySpy = new GameDataGatewaySpy(); PublishEndPointSpy publishEndPointSpy = new PublishEndPointSpy(); Tuple <string, float>[] cardsToAdd = { new Tuple <string, float>(cardtoAdd, probability) }; SaveNewGameData saveNewGameData = new SaveNewGameData(gameDataGatewaySpy, publishEndPointSpy); saveNewGameData.Execute( sessionID, messageID, new GameDataDummy { CurrentCardID = cardID, Seed = seed, PackVersion = packVersion, CardsToAdd = cardsToAdd } ); Assert.True(publishEndPointSpy.MessageObject is IGameResponse); IGameResponse gameResponse = (IGameResponse)publishEndPointSpy.MessageObject; Assert.True(gameResponse.SessionID == sessionID); Assert.True(gameResponse.MessageID == messageID); }
public void ThenThrowsInvalidMessageIDException(string messageID) { SaveNewGameData saveNewGameData = new SaveNewGameData(new GameDataGatewayDummy(), new PublishEndPointDummy()); Assert.Throws <InvalidMessageIDException>(() => { saveNewGameData.Execute("SessionID", messageID, new GameDataDummy() { CurrentCardID = "CardID" }); }); }
public void ThenGameResponseIsPublishedWithCorrectGameData(string sessionID, string messageID, string cardID, int packVersion, int seed, string cardtoAdd, float probability, string statKey, int statValue) { GameDataGatewaySpy gameDataGatewaySpy = new GameDataGatewaySpy(); PublishEndPointSpy publishEndPointSpy = new PublishEndPointSpy(); Tuple <string, float>[] cardsToAdd = { new Tuple <string, float>(cardtoAdd, probability) }; SaveNewGameData saveNewGameData = new SaveNewGameData(gameDataGatewaySpy, publishEndPointSpy); saveNewGameData.Execute( sessionID, messageID, new GameDataDummy { CurrentCardID = cardID, Seed = seed, PackVersion = packVersion, CardsToAdd = cardsToAdd, CurrentStats = new Dictionary <string, int> { { statKey, statValue } } } ); Assert.True(publishEndPointSpy.MessageObject is IGameResponse); IGameResponse gameResponse = (IGameResponse)publishEndPointSpy.MessageObject; Assert.True(gameResponse.Seed == seed); Assert.True(gameResponse.PackVersion == packVersion); Assert.True(gameResponse.CurrentCardID == cardID); Assert.True(gameResponse.CardsToAdd[0].Item1 == cardtoAdd); Assert.True(gameResponse.CardsToAdd[0].Item2 == probability); Assert.True(gameResponse.Seed == seed); Assert.True(gameResponse.CurrentStats.ContainsKey(statKey)); Assert.True(gameResponse.CurrentStats[statKey] == statValue); }