public void SetUp()
        {
            _configHandle1 = A.Fake <IConfigurationHandle>();
            _configSpec1   = A.Fake <IConfigurationSpecification>();
            A.CallTo(() => _configSpec1.ApplyAsync(A <CancellationToken> ._)).Returns(_configHandle1);
            _component1 = A.Fake <IComponent>();
            A.CallTo(() => _component1.CreateConfigurationSpecification <IConfigurationSpecification>(A <IEventHandlerFactory> ._)).Returns(_configSpec1);
            var host1 = A.Fake <IHost>();

            A.CallTo(() => host1.Components).Returns(new ReadOnlyDictionary <string, IComponent>(new Dictionary <string, IComponent> {
                { nameof(_component1), _component1 }
            }));
            var host1Spec = A.Fake <IHostSpecification>();

            A.CallTo(() => host1Spec.Build()).Returns(host1);

            _configHandle2 = A.Fake <IConfigurationHandle>();
            _configSpec2   = A.Fake <IConfigurationSpecification>();
            A.CallTo(() => _configSpec2.ApplyAsync(A <CancellationToken> ._)).Returns(_configHandle2);
            _component2 = A.Fake <IComponent>();
            A.CallTo(() => _component2.CreateConfigurationSpecification <IConfigurationSpecification>(A <IEventHandlerFactory> ._)).Returns(_configSpec2);
            var host2 = A.Fake <IHost>();

            A.CallTo(() => host2.Components).Returns(new ReadOnlyDictionary <string, IComponent>(new Dictionary <string, IComponent> {
                { nameof(_component2), _component2 }
            }));
            var host2Spec = A.Fake <IHostSpecification>();

            A.CallTo(() => host2Spec.Build()).Returns(host2);

            _environment = Environment.Setup(x =>
            {
                x.AddHostSpecification(host1Spec);
                x.AddHostSpecification(host2Spec);
            });
        }
예제 #2
0
 public void AddSpecification(IConfigurationSpecification specification)
 {
     _specifications.Add(specification ?? throw new ArgumentNullException(nameof(specification)));
 }