public void DeletingGame_ShouldRemoveOneRecordInPrimaryAndCache() { // Arrange var sqlConnectionString = ConfigurationManager.ConnectionStrings["test"].ToString(); var redisConnectionString = ConfigurationManager.ConnectionStrings["redis-test"].ToString(); var sqlAdapter = new SqlServerAdapter(sqlConnectionString); var redisAdapter = new RedisAdapter(ConnectionMultiplexer.Connect(redisConnectionString)); var cachedAdapter = new SqlServerCachedAdapter(sqlAdapter, redisAdapter); // create new game and insert it, so we have something to delete var gameToUpdate = new TicTacToeData(); cachedAdapter.Save(gameToUpdate); int numPreExistingGamesSql = AdapterTestHelpers.CountSqlGames(sqlConnectionString); int numPreExistingGamesRedis = AdapterTestHelpers.CountRedisGames(redisConnectionString); // Act cachedAdapter.Delete(gameToUpdate.Id); // Assert int numPostExistingGamesSql = AdapterTestHelpers.CountSqlGames(sqlConnectionString); int numPostExistingGamesRedis = AdapterTestHelpers.CountRedisGames(redisConnectionString); Assert.AreEqual(numPreExistingGamesSql - 1, numPostExistingGamesSql); Assert.AreEqual(numPreExistingGamesRedis - 1, numPostExistingGamesRedis); }
public void SavingExistingObject_ShouldPreserveNumberOfRecordsInPrimaryAndCache() { // Arrange var sqlConnectionString = ConfigurationManager.ConnectionStrings["test"].ToString(); var redisConnectionString = ConfigurationManager.ConnectionStrings["redis-test"].ToString(); var sqlAdapter = new SqlServerAdapter(sqlConnectionString); var redisAdapter = new RedisAdapter(ConnectionMultiplexer.Connect(redisConnectionString)); var cachedAdapter = new SqlServerCachedAdapter(sqlAdapter, redisAdapter); // create new game and insert it, so we have something to update var gameToUpdate = new TicTacToeData(); cachedAdapter.Save(gameToUpdate); int numPreExistingGamesSql = AdapterTestHelpers.CountSqlGames(sqlConnectionString); int numPreExistingGamesRedis = AdapterTestHelpers.CountRedisGames(redisConnectionString); // Act gameToUpdate.CurrentPlayer = Player.O; cachedAdapter.Save(gameToUpdate); // Assert int numPostExistingGamesSql = AdapterTestHelpers.CountSqlGames(sqlConnectionString); int numPostExistingGamesRedis = AdapterTestHelpers.CountRedisGames(redisConnectionString); Assert.AreEqual(numPreExistingGamesSql, numPostExistingGamesSql); Assert.AreEqual(numPreExistingGamesRedis, numPostExistingGamesRedis); }
public void SerializeThenDeserialize_ShouldRoundTrip() { var data = new TicTacToeData(); var serializer = new Serializer(); var roundTripped = serializer.DeserializeGameData(serializer.SerializeGameData(data)); Assert.AreEqual(data, roundTripped); }
public void SavingNewObject_ShouldInsertOneRecord() { // Arrange int numPreExistingGames = AdapterTestHelpers.CountRedisGames(ConnectionString); // Act var newGame = new TicTacToeData(); Adapter.Save(newGame); // Assert int numPostExistingGames = AdapterTestHelpers.CountRedisGames(ConnectionString); Assert.AreEqual(numPreExistingGames + 1, numPostExistingGames); }
public void SaveThenRead_ShouldRoundTrip() { // Arrange var gameData = new TicTacToeData(); // change gameData to make sure Read() isn't just constructing new TicTacToeData() gameData.CurrentPlayer = Player.O; // Act Adapter.Save(gameData); var(readSuccessfully, readData) = Adapter.Read(gameData.Id); // Assert Assert.IsTrue(readSuccessfully); Assert.AreEqual(gameData, readData); }
public void SavingNewObject_ShouldInsertOneRecord() { // Arrange var connectionString = ConfigurationManager.ConnectionStrings["test"].ToString(); var adapter = new SqlServerAdapter(connectionString); var newGame = new TicTacToeData(); int numPreExistingGames = AdapterTestHelpers.CountSqlGames(connectionString); // Act adapter.Save(newGame); // Assert int numPostExistingGames = AdapterTestHelpers.CountSqlGames(connectionString); Assert.AreEqual(numPreExistingGames + 1, numPostExistingGames); }
public void DeletingGame_ShouldRemoveOneRecord() { // Arrange // create new game and insert it, so we have something to delete var gameToUpdate = new TicTacToeData(); Adapter.Save(gameToUpdate); int numPreExistingGames = AdapterTestHelpers.CountRedisGames(ConnectionString); // Act Adapter.Delete(gameToUpdate.Id); // Assert int numPostExistingGames = AdapterTestHelpers.CountRedisGames(ConnectionString); Assert.AreEqual(numPreExistingGames - 1, numPostExistingGames); }
public void SaveThenRead_ShouldRoundTrip() { // Arrange var connectionString = ConfigurationManager.ConnectionStrings["test"].ToString(); var adapter = new SqlServerAdapter(connectionString); var gameData = new TicTacToeData(); // change gameData to make sure Read() isn't just constructing new TicTacToeData() gameData.CurrentPlayer = Player.O; // Act adapter.Save(gameData); var(readSuccessfully, readData) = adapter.Read(gameData.Id); // Assert Assert.IsTrue(readSuccessfully); Assert.AreEqual(gameData, readData); }
public void SavingExistingObject_ShouldPreserveNumberOfRecords() { // Arrange // create new game and insert it, so we have something to update var gameToUpdate = new TicTacToeData(); Adapter.Save(gameToUpdate); int numPreExistingGames = AdapterTestHelpers.CountRedisGames(ConnectionString); // Act gameToUpdate.CurrentPlayer = Player.O; Adapter.Save(gameToUpdate); // Assert int numPostExistingGames = AdapterTestHelpers.CountRedisGames(ConnectionString); Assert.AreEqual(numPreExistingGames, numPostExistingGames); }
public void DeletingGame_ShouldRemoveOneRecord() { // Arrange // create new game and insert it, so we have something to delete var gameToUpdate = new TicTacToeData(); var connectionString = ConfigurationManager.ConnectionStrings["test"].ToString(); var adapter = new SqlServerAdapter(connectionString); adapter.Save(gameToUpdate); int numPreExistingGames = AdapterTestHelpers.CountSqlGames(connectionString); // Act adapter.Delete(gameToUpdate.Id); // Assert int numPostExistingGames = AdapterTestHelpers.CountSqlGames(connectionString); Assert.AreEqual(numPreExistingGames - 1, numPostExistingGames); }
public void SavingExistingObject_ShouldPreserveNumberOfRecords() { // Arrange // create new game and insert it, so we have something to update var gameToUpdate = new TicTacToeData(); var connectionString = ConfigurationManager.ConnectionStrings["test"].ToString(); var adapter = new SqlServerAdapter(connectionString); adapter.Save(gameToUpdate); int numPreExistingGames = AdapterTestHelpers.CountSqlGames(connectionString); // Act gameToUpdate.CurrentPlayer = Player.O; adapter.Save(gameToUpdate); // Assert int numPostExistingGames = AdapterTestHelpers.CountSqlGames(connectionString); Assert.AreEqual(numPreExistingGames, numPostExistingGames); }
public void SavingNewObject_ShouldInsertOneRecordInPrimaryAndCache() { // Arrange var sqlConnectionString = ConfigurationManager.ConnectionStrings["test"].ToString(); var redisConnectionString = ConfigurationManager.ConnectionStrings["redis-test"].ToString(); var sqlAdapter = new SqlServerAdapter(sqlConnectionString); var redisAdapter = new RedisAdapter(ConnectionMultiplexer.Connect(redisConnectionString)); var cachedAdapter = new SqlServerCachedAdapter(sqlAdapter, redisAdapter); var newGame = new TicTacToeData(); int numPreExistingGamesSql = AdapterTestHelpers.CountSqlGames(sqlConnectionString); int numPreExistingGamesRedis = AdapterTestHelpers.CountRedisGames(redisConnectionString); // Act cachedAdapter.Save(newGame); // Assert int numPostExistingGamesSql = AdapterTestHelpers.CountSqlGames(sqlConnectionString); int numPostExistingGamesRedis = AdapterTestHelpers.CountRedisGames(redisConnectionString); Assert.AreEqual(numPreExistingGamesSql + 1, numPostExistingGamesSql); Assert.AreEqual(numPreExistingGamesRedis + 1, numPostExistingGamesRedis); }