Ejemplo n.º 1
0
		public void ImportingMultipleAndDiscovererReturnsNullShouldCauseAnArgumentException()
		{
            var containerMock = new Mock<IContainer>();
			var typeDiscovererMock = new Mock<ITypeDiscoverer>();
			typeDiscovererMock.Setup(t => t.FindMultiple<IMultipleInterface>()).Returns((Type[])null);
			var typeImporter = new TypeImporter(containerMock.Object, typeDiscovererMock.Object);
			typeImporter.ImportMany<IMultipleInterface>();
		}
Ejemplo n.º 2
0
        public void ImportingMultipleAndDiscovererReturnsNullShouldCauseAnArgumentException()
        {
            var containerMock      = new Mock <IContainer>();
            var typeDiscovererMock = new Mock <ITypeDiscoverer>();

            typeDiscovererMock.Setup(t => t.FindMultiple <IMultipleInterface>()).Returns((Type[])null);
            var typeImporter = new TypeImporter(containerMock.Object, typeDiscovererMock.Object);

            typeImporter.ImportMany <IMultipleInterface>();
        }
Ejemplo n.º 3
0
		public void ImportingMultipleAndThereIsOnlyOneShouldReturnThatInstance()
		{
            var containerMock = new Mock<IContainer>();
			var typeDiscovererMock = new Mock<ITypeDiscoverer>();
			typeDiscovererMock.Setup(t => t.FindMultiple<ISingleInterface>()).Returns(new[]
			                                                                            	{
																								typeof(SingleClass),
			                                                                            	});
			var typeImporter = new TypeImporter(containerMock.Object, typeDiscovererMock.Object);
			var instances = typeImporter.ImportMany<ISingleInterface>();
			Assert.That(instances.Length, Is.EqualTo(1));
			Assert.That(instances[0], Is.InstanceOf<SingleClass>());
		}
Ejemplo n.º 4
0
		public void ImportingMultipleShouldReturnAllInstances()
		{
		    var containerMock = new Mock<IContainer>();
			var typeDiscovererMock = new Mock<ITypeDiscoverer>();
			typeDiscovererMock.Setup(t => t.FindMultiple<IMultipleInterface>()).Returns(new[]
			                                                                            	{
																								typeof(FirstMultipleClass),
																								typeof(SecondMultipleClass)
			                                                                            	});
			var typeImporter = new TypeImporter(containerMock.Object, typeDiscovererMock.Object);
			var instances = typeImporter.ImportMany<IMultipleInterface>();
			Assert.That(instances.Length, Is.EqualTo(2));
			Assert.That(instances[0], Is.InstanceOf<FirstMultipleClass>());
			Assert.That(instances[1], Is.InstanceOf<SecondMultipleClass>());
		}
Ejemplo n.º 5
0
        public void ImportingMultipleAndThereIsOnlyOneShouldReturnThatInstance()
        {
            var containerMock      = new Mock <IContainer>();
            var typeDiscovererMock = new Mock <ITypeDiscoverer>();

            containerMock.Setup(c => c.Get(typeof(SingleClass))).Returns(new SingleClass());

            typeDiscovererMock.Setup(t => t.FindMultiple <ISingleInterface>()).Returns(new[]
            {
                typeof(SingleClass),
            });
            var typeImporter = new TypeImporter(containerMock.Object, typeDiscovererMock.Object);
            var instances    = typeImporter.ImportMany <ISingleInterface>();

            Assert.That(instances.Length, Is.EqualTo(1));
            Assert.That(instances[0], Is.InstanceOf <SingleClass>());
        }
Ejemplo n.º 6
0
        public void ImportingMultipleShouldReturnAllInstances()
        {
            var containerMock      = new Mock <IContainer>();
            var typeDiscovererMock = new Mock <ITypeDiscoverer>();

            containerMock.Setup(c => c.Get(typeof(FirstMultipleClass))).Returns(new FirstMultipleClass());
            containerMock.Setup(c => c.Get(typeof(SecondMultipleClass))).Returns(new SecondMultipleClass());
            typeDiscovererMock.Setup(t => t.FindMultiple <IMultipleInterface>()).Returns(new[]
            {
                typeof(FirstMultipleClass),
                typeof(SecondMultipleClass)
            });
            var typeImporter = new TypeImporter(containerMock.Object, typeDiscovererMock.Object);
            var instances    = typeImporter.ImportMany <IMultipleInterface>();

            Assert.That(instances.Length, Is.EqualTo(2));
            Assert.That(instances[0], Is.InstanceOf <FirstMultipleClass>());
            Assert.That(instances[1], Is.InstanceOf <SecondMultipleClass>());
        }