示例#1
0
        public void ProvideTraits_Traits()
        {
            var traits     = new[] { new object(), new object() };
            var aggregator = new FakeTraitAggregator();

            Scope.Apply(traits[0]).Apply(traits[1]);
            Scope.ProvideTraits(aggregator);

            Assert.That(aggregator.Traits, Is.EqualTo(traits));
        }
示例#2
0
        public void ProvideTraits_Factories()
        {
            var traits     = new      object [] { new object(),    new object()    };
            var factories  = new Func<object>[] { () => traits[0], () => traits[1] };
            var aggregator = new FakeTraitAggregator();

            Scope.Apply(factories[0]).Apply(factories[1]);
            Scope.ProvideTraits(aggregator);

            Assert.That(aggregator.Traits, Is.EqualTo(traits));
        }
示例#3
0
        public void ProvideTraits_FactoryReturnsNull()
        {
            Func<object> factory = () => null;
            var aggregator       = new FakeTraitAggregator();

            Scope.Apply(factory);

            Assert.Throws<TraitSpecException>
            (
                () => Scope.ProvideTraits(aggregator)
            );

            Assert.That(aggregator.Traits, Is.Empty);
        }