public void Should_resolve_everything_from_implementation_of_ISecurityServiceLocator()
        {
            // Arrange
            IEnumerable <object> expectedTypes = new List <object> {
                new ConcreteType1(), new ConcreteType1(), new ConcreteType1()
            };
            object expectedType = new ConcreteType2();

            var securityServiceLocator = new Mock <ISecurityServiceLocator>();

            securityServiceLocator.Setup(x => x.ResolveAll(typeof(ConcreteType1))).Returns(expectedTypes);
            securityServiceLocator.Setup(x => x.Resolve(typeof(ConcreteType2))).Returns(expectedType);

            var configurationExpression = TestDataFactory.CreateValidConfigurationExpression();

            // Act
            configurationExpression.ResolveServicesUsing(securityServiceLocator.Object);

            // Assert
            var externalServiceLocator = GetExternalServiceLocator(configurationExpression);

            Assert.That(externalServiceLocator.ResolveAll(typeof(ConcreteType1)), Is.EqualTo(expectedTypes));
            Assert.That(externalServiceLocator.Resolve(typeof(ConcreteType2)), Is.EqualTo(expectedType));
            securityServiceLocator.VerifyAll();
        }
示例#2
0
        static void Main(string[] args)
        {
            Prototype clone1     = null;
            Prototype prototype1 = new ConcreteType1(1);

            clone1 = prototype1.Clone();

            Prototype clone2     = null;
            Prototype prototype2 = new ConcreteType2(2);

            clone2 = prototype2.Clone();

            Console.WriteLine(clone1);
            Console.WriteLine(clone2);
        }
        public void Should_resolve_everything_from_implementation_of_ISecurityServiceLocator()
        {
            // Arrange
            IEnumerable<object> expectedTypes = new List<object> { new ConcreteType1(), new ConcreteType1(), new ConcreteType1() };
            object expectedType = new ConcreteType2();

            var securityServiceLocator = new Mock<ISecurityServiceLocator>();
            securityServiceLocator.Setup(x => x.ResolveAll(typeof(ConcreteType1))).Returns(expectedTypes);
            securityServiceLocator.Setup(x => x.Resolve(typeof(ConcreteType2))).Returns(expectedType);

            var configurationExpression = TestDataFactory.CreateValidConfigurationExpression();

            // Act
            configurationExpression.ResolveServicesUsing(securityServiceLocator.Object);

            // Assert
            var externalServiceLocator = GetExternalServiceLocator(configurationExpression);
            Assert.That(externalServiceLocator.ResolveAll(typeof(ConcreteType1)), Is.EqualTo(expectedTypes));
            Assert.That(externalServiceLocator.Resolve(typeof(ConcreteType2)), Is.EqualTo(expectedType));
            securityServiceLocator.VerifyAll();
        }