コード例 #1
0
        public void GetSegmentNamesTest()
        {
            // Arrange.
            var redisAdapterMock = new Mock <IRedisAdapter>();
            var segmentCache     = new RedisSegmentCache(redisAdapterMock.Object);

            // Act & Assert.
            var result = segmentCache.GetSegmentNames();

            Assert.AreEqual(0, result.Count);

            var segmentName = "test";

            redisAdapterMock
            .Setup(mock => mock.SMembers("SPLITIO.segments.registered"))
            .Returns(new List <RedisValue>
            {
                segmentName,
                $"{segmentName}-1",
                $"{segmentName}-2"
            }.ToArray());

            result = segmentCache.GetSegmentNames();
            Assert.AreEqual(3, result.Count);
            Assert.IsTrue(result.Contains(segmentName));
            Assert.IsTrue(result.Contains($"{segmentName}-1"));
            Assert.IsTrue(result.Contains($"{segmentName}-2"));
        }
コード例 #2
0
        public void GetRegisteredSegmentTest()
        {
            //Arrange
            var segmentName      = "segment_test";
            var redisAdapterMock = new Mock <IRedisAdapter>();

            redisAdapterMock.Setup(x => x.SMembers(segmentsKeyPrefix + "registered")).Returns(new RedisValue[] { segmentName });
            var segmentCache = new RedisSegmentCache(redisAdapterMock.Object);

            //Act
            var result = segmentCache.GetSegmentNames();

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(segmentName, result[0]);
        }