예제 #1
0
        public void ResolveFeature1Tests()
        {
            // Can we resolve this feature?
            Assert.True(_factory.CanResolve(Features.Feature1));

            // Get Accessor
            var accessor = _factory.GetAccessor(Features.Feature1);

            // Get Service with argument of 14
            var service = accessor.Resolve(14);

            // Make sure it was created!
            Assert.NotNull(service);

            // Validate Service
            Assert.Equal("Feature1 Attribute Message", service.Message);
            Assert.Equal(14, service.Number);
            Assert.Equal("Feature 1: Feature1 Attribute Message; Input Number: 14", service.GetFeatureMessage());

            // Feature Services should be singleton scoped (reused) so creating an instance with arg 18 should return the same service.
            Assert.Equal(service.GetHashCode(), accessor.Resolve(18).GetHashCode());
        }