示例#1
0
        public void Allocate_Should_Return_Null_When_SelectedCampaign_Is_Null()
        {
            var mockUserHasher = MockUserHasher.Get();
            VariationAllocator variationResolver = GetVariationResolver(mockUserHasher);
            var selectedVariation = variationResolver.Allocate(null, null, MockUserId);

            Assert.Null(selectedVariation);

            mockUserHasher.Verify(mock => mock.ComputeBucketValue(It.IsAny <string>(), It.IsAny <double>(), It.IsAny <double>()), Times.Never);
        }
示例#2
0
        public void Allocate_Should_Return_Null_When_Valid_UserStorageMap_With_InValid_Variation_Is_Given()
        {
            var mockUserHasher = MockUserHasher.Get();
            VariationAllocator variationResolver = GetVariationResolver(mockUserHasher);
            UserStorageMap     userStorageMap    = new UserStorageMap(MockUserId, MockCampaignKey, MockVariationName + MockVariationName);
            var selectedVariation = variationResolver.Allocate(userStorageMap, GetCampaign(MockCampaignKey), MockUserId);

            Assert.Null(selectedVariation);

            mockUserHasher.Verify(mock => mock.ComputeBucketValue(It.IsAny <string>(), It.IsAny <double>(), It.IsAny <double>()), Times.Never);
        }
示例#3
0
        public void Allocate_Should_Not_Compute_Hash_When_Valid_UserProfileMap_With_Valid_Variation_Is_Given()
        {
            var mockUserHasher = MockUserHasher.Get();
            VariationAllocator variationResolver = GetVariationResolver(mockUserHasher);
            UserProfileMap     userProfileMap    = new UserProfileMap(MockUserId, MockCampaignTestKey, MockVariationName);
            var selectedVariation = variationResolver.Allocate(userProfileMap, GetCampaign(MockCampaignTestKey), MockUserId);

            Assert.NotNull(selectedVariation);
            Assert.Equal(MockVariationName, selectedVariation.Name);

            mockUserHasher.Verify(mock => mock.ComputeBucketValue(It.IsAny <string>(), It.IsAny <double>(), It.IsAny <double>()), Times.Never);
        }
示例#4
0
        public void Allocate_Should_Compute_Hash_When_UserStorageMap_Is_Null()
        {
            var mockUserHasher = Mock.GetUserHasher();

            Mock.SetupComputeBucketValue(mockUserHasher, returnVal: 10, outHashValue: 1234567);
            VariationAllocator variationResolver = GetVariationResolver(mockUserHasher);
            UserStorageMap     userStorageMap    = null;
            var selectedVariation = variationResolver.Allocate(userStorageMap, GetCampaign(MockCampaignKey), MockUserId);

            Assert.NotNull(selectedVariation);
            Assert.Equal(MockVariationName, selectedVariation.Name);

            mockUserHasher.Verify(mock => mock.ComputeBucketValue(It.IsAny <string>(), It.IsAny <double>(), It.IsAny <double>()), Times.Once);
            mockUserHasher.Verify(mock => mock.ComputeBucketValue(It.Is <string>((val) => MockUserId.Equals(val)), It.Is <double>((val) => 10000 == val), It.Is <double>(val => 1 == val)), Times.Once);
        }