protected override Task Context()
        {
            _calculationMethodRepository         = A.Fake <ICalculationMethodRepository>();
            _calculationMethodCategoryRepository = A.Fake <ICalculationMethodCategoryRepository>();
            _logger = A.Fake <ILogger>();

            sut             = new CalculationMethodCacheMapper(_calculationMethodRepository, _calculationMethodCategoryRepository, _logger);
            _singleCategory = new CalculationMethodCategory {
                Name = "Multiple"
            };
            _multipleCategory = new CalculationMethodCategory {
                Name = "Single"
            };


            _calculationMethodWithMultipleOptions = new CalculationMethod
            {
                Name        = "CM1",
                DisplayName = "CM1",
                Category    = _multipleCategory.Name
            };

            _calculationMethodWithSingleOption = new CalculationMethod
            {
                Name        = "CM2",
                DisplayName = "CM2",
                Category    = _singleCategory.Name
            };

            _anotherCalculationMethodInMultipleOptions = new CalculationMethod
            {
                Name     = "Another CM",
                Category = _multipleCategory.Name
            };

            A.CallTo(() => _calculationMethodRepository.All()).Returns(new [] { _calculationMethodWithMultipleOptions, _anotherCalculationMethodInMultipleOptions, _calculationMethodWithSingleOption, });

            _singleCategory.Add(_calculationMethodWithSingleOption);
            _multipleCategory.Add(_calculationMethodWithMultipleOptions);
            _multipleCategory.Add(_anotherCalculationMethodInMultipleOptions);

            _calculationMethodCache = new CalculationMethodCache();
            _calculationMethodCache.AddCalculationMethod(_calculationMethodWithMultipleOptions);
            _calculationMethodCache.AddCalculationMethod(_calculationMethodWithSingleOption);

            A.CallTo(() => _calculationMethodCategoryRepository.FindBy(_singleCategory.Name)).Returns(_singleCategory);
            A.CallTo(() => _calculationMethodCategoryRepository.FindBy(_multipleCategory.Name)).Returns(_multipleCategory);

            return(Task.FromResult(true));
        }
        protected override void Context()
        {
            base.Context();
            sut.AllTheSame = false;
            var cacheComp1 = new CalculationMethodCache();

            cacheComp1.AddCalculationMethod(_calculationMethod1);
            cacheComp1.AddCalculationMethod(_calculationMethod2);

            var cacheComp2 = new CalculationMethodCache();

            cacheComp2.AddCalculationMethod(_calculationMethod3);
            cacheComp2.AddCalculationMethod(_calculationMethod2);

            sut.CalculationMethodsCache["Comp1"] = cacheComp1;
            sut.CalculationMethodsCache["Comp2"] = cacheComp2;
            sut.AllTheSameSelection.AddCalculationMethod(_calculationMethod1);
            sut.AllTheSameSelection.AddCalculationMethod(_calculationMethod2);
            sut.AllTheSameSelection.AddCalculationMethod(_calculationMethod3);
        }
Esempio n. 3
0
 public CalculationMethodCacheSnapshotContext(ModelCalculationMethodCache calculationMethodCache, SnapshotContext baseContext) : base(baseContext)
 {
     CalculationMethodCache = calculationMethodCache;
 }