コード例 #1
0
        public void Set_WhenSettingAValue_ShouldReturnTrue(string key, string value)
        {
            // Arrange
            var db = new SimpleCacheDb();

            //Act
            bool result = db.Set(key, value);

            //Assert
            Assert.True(result);
        }
コード例 #2
0
        public void Get_WhenGettingAKeyThatDoesNotExists_ShouldReturnNull(string key)
        {
            //Arrange
            var db = new SimpleCacheDb();

            //Act
            string value = db.Get(key);

            //Assert
            Assert.Null(value);
        }
コード例 #3
0
        public void Del_WhenDeletingAnNonExistentValue_ShouldReturTrue(string key)
        {
            //Arrange
            var db = new SimpleCacheDb();

            //Act
            bool returnedStatus = db.Del(key);

            //Assert
            Assert.False(returnedStatus);
        }
コード例 #4
0
        public void Incr_WhenIncrementingNonExistentKey_ShouldReturn1(string key, string expectedResult)
        {
            //Arrange
            var db = new SimpleCacheDb();

            //Act
            string value = db.Incr(key);

            //Assert
            Assert.Equal(expectedResult, value);
        }
コード例 #5
0
        public void Del_WhenDeletingAnExistentValue_ShouldReturTrue(string key, string value)
        {
            //Arrange
            var db = new SimpleCacheDb();

            //Act
            db.Set(key, value);
            bool returnedStatus = db.Del(key);

            //Assert
            Assert.True(returnedStatus);
        }
コード例 #6
0
        public void Get_WhenSettingValue_ShouldReturTheSameValue(string key, string value)
        {
            //Arrange
            var db = new SimpleCacheDb();

            //Act
            db.Set(key, value);
            string returnedValue = db.Get(key);

            //Assert
            Assert.Equal(value, returnedValue);
        }
コード例 #7
0
        public void Incr_WhenIncrementingAnExistentKey_ValueShoudBeIncreasedBy1(string key, string initialValue, string expectedResult)
        {
            //Arrange
            var db = new SimpleCacheDb();

            //Act
            db.Set(key, initialValue);
            string increasedValue = db.Incr(key);

            //Assert
            Assert.Equal(expectedResult, increasedValue);
        }
コード例 #8
0
        public void Zadd_WhenAddingItem_ShouldReturnTrue()
        {
            //Arrange
            var db    = new SimpleCacheDb();
            var key   = "name";
            var score = 1;
            var value = "Bob";

            //Act
            bool result = db.Zadd(key, score, value);

            //Assert
            Assert.True(result);
        }
コード例 #9
0
        public void Incr_WhenIncrementingAKeyWithNonIntegerValue_ShouldThrowAnException()
        {
            //Arrange
            var db    = new SimpleCacheDb();
            var key   = "name";
            var value = "Bob";

            //Act
            db.Set(key, value);
            Action action = () => db.Incr(key);

            //Assert
            Assert.Throws <Exception>(action);
        }
コード例 #10
0
        public void Zcard_WhenAddingThreeMembersForTheSameKey_ShouldReturnThree()
        {
            //Arrange
            var db  = new SimpleCacheDb();
            var key = "students";

            //Act
            db.Zadd(key, 15, "Bob");
            db.Zadd(key, 20, "Thomas");
            db.Zadd(key, 15, "Robert");

            var cardinality = db.Zcard(key);

            //Assert
            Assert.Equal(3, cardinality);
        }
コード例 #11
0
        public void Set_WhenSettingValueWithExpiration_ShouldRespectExpirationTime(string key, string value, int expirationSeconds)
        {
            //Arrange
            var db = new SimpleCacheDb();

            //Act
            db.Set(key, value, expirationSeconds);
            string returnedValueBeforeExpiration = db.Get(key);

            Console.WriteLine(returnedValueBeforeExpiration);
            Thread.Sleep(1000);
            string returnedValueAfterExpiration = db.Get(key);

            //Assert
            Assert.Equal(value, returnedValueBeforeExpiration);
            Assert.Null(returnedValueAfterExpiration);
        }