public async Task WheEmptySnapshotAndVisibilityMarkerProvided_ShouldDisplaySubTreeRoot()
        {
            var dependencyModelRootYyy = new TestDependencyModel
            {
                ProviderType = "Yyy",
                Id           = "YyyDependencyRoot",
                Name         = "YyyDependencyRoot",
                Caption      = "YyyDependencyRoot",
                Resolved     = true
            };

            var dependencyVisibilityMarker = new TestDependency
            {
                ProviderType = "Yyy",
                Id           = "someid",
                Name         = "someid",
                Caption      = "someid",
                Resolved     = false,
                Visible      = false,
                Flags        = DependencyTreeFlags.ShowEmptyProviderRootNode
            };

            var dependenciesRoot = new TestProjectTree
            {
                Caption  = "MyDependencies",
                Children =
                {
                    new TestProjectTree
                    {
                        Caption  = "YyyDependencyRoot",
                        FilePath = "YyyDependencyRoot"
                    }
                }
            };

            var provider = CreateProvider(rootModels: new[] { dependencyModelRootYyy });

            var snapshot = GetSnapshot((_tfm1, new[] { dependencyVisibilityMarker }));

            // Act
            var resultTree = await provider.BuildTreeAsync(dependenciesRoot, snapshot);

            // Assert
            var expectedFlatHierarchy =
                @"Caption=MyDependencies, FilePath=, IconHash=325248080, ExpandedIconHash=325248080, Rule=, IsProjectItem=False, CustomTag=
    Caption=YyyDependencyRoot, FilePath=YyyDependencyRoot, IconHash=0, ExpandedIconHash=0, Rule=, IsProjectItem=False, CustomTag=";

            Assert.Equal(expectedFlatHierarchy, ToTestDataString((TestProjectTree)resultTree));
        }
        public async Task WhenEmptySnapshotAndVisibilityMarkerNotProvided_ShouldHideSubTreeRoot()
        {
            var dependencyModelRootYyy = new TestDependencyModel
            {
                ProviderType     = "Yyy",
                Id               = "YyyDependencyRoot",
                OriginalItemSpec = "YyyDependencyRoot",
                Caption          = "YyyDependencyRoot",
                Resolved         = true
            };

            var dependencyVisibilityMarker = new TestDependency
            {
                ProviderType     = "Yyy",
                Id               = "someid",
                OriginalItemSpec = "someid",
                Caption          = "someid",
                Resolved         = false,
                Visible          = false
            };

            var dependenciesRoot = new TestProjectTree
            {
                Caption  = "MyDependencies",
                Children =
                {
                    new TestProjectTree
                    {
                        Caption = "YyyDependencyRoot"
                    }
                }
            };

            var provider = CreateProvider(rootModels: new[] { dependencyModelRootYyy });

            var snapshot = GetSnapshot((_tfm1, new[] { dependencyVisibilityMarker }));

            // Act
            var resultTree = await provider.BuildTreeAsync(dependenciesRoot, snapshot);

            // Assert
            var expectedFlatHierarchy =
                @"Caption=MyDependencies, IconHash=325248080, ExpandedIconHash=325248080, Rule=, IsProjectItem=False, CustomTag=";

            AssertTestData(expectedFlatHierarchy, resultTree);
        }
Пример #3
0
        public void Test1()
        {
            var integrationTestMockBuilder = MockBuilder.IntegrationTest <ITestIntegrationApp, TestIntegrationApp>(
                new Installer(),
                config => config.WithTestDependenciesToMock(TestDependency.Of <IExternalSupplierClass>()));

            var mockDataFromSupplier = "Mock data from supplier";

            integrationTestMockBuilder.AddMockActionOf <IExternalSupplierClass>(mock =>
                                                                                mock.Setup(x => x.GetDataFromUnreliableSupplier()).Returns(() => mockDataFromSupplier));

            var expectedResult = "Logged a message" + mockDataFromSupplier + "Data from DB" + "Other data from DB";

            var result = integrationTestMockBuilder.GetTestedService().DoStuffWithServices();

            result.Should().Be(expectedResult);
        }
Пример #4
0
        public async Task Should_resolve_arguments_When_action_has_parameters()
        {
            // Arrange
            var arrangeObject = new TestDependency();

            var             expectedByType      = arrangeObject;
            ITestDependency expectedByInterface = arrangeObject;
            TestDependency  actualByType        = null;
            ITestDependency actualByInterface   = null;

            var arrangeAction = new Action <TestDependency, ITestDependency>(
                (
                    byType,
                    byInterface) =>
            {
                actualByType      = byType;
                actualByInterface = byInterface;
            });

            var mockServices = new Mock <IServiceProvider>();

            mockServices
            .Setup(instance => instance.GetService(typeof(TestDependency)))
            .Returns(expectedByType)
            .Verifiable();

            mockServices
            .Setup(instance => instance.GetService(typeof(ITestDependency)))
            .Returns(expectedByInterface)
            .Verifiable();

            var arrangeServices = mockServices.Object;

            var arrangeInvocationContext = this.CreateInvocationContext();
            var arrangeInvoker           = this.CreateInvokerInstance(arrangeAction, arrangeServices);

            // Act
            await arrangeInvoker.InvokeAsync(arrangeInvocationContext, CancellationToken.None);

            // Assert
            mockServices.Verify();

            Assert.Same(expectedByType, actualByType);
            Assert.Same(expectedByInterface, actualByInterface);
        }
Пример #5
0
        public void ActorOfWithoutNameInjectsDependencies()
        {
            using (var actorSystem = ActorSystem.Create("Sunruse-Influx"))
            {
                var containerBuilder = new ContainerBuilder();
                containerBuilder.RegisterType <ActorOfWithoutNameTestActor.ChildTestActor>();
                var testDependency = new TestDependency();
                containerBuilder.RegisterInstance(testDependency).As <ITestDependency>();
                new AutoFacDependencyResolver(containerBuilder.Build(), actorSystem);
                var actor = actorSystem.ActorOf <ActorOfWithoutNameTestActor>("TestParent");
                ActorOfWithoutNameTestActor.ChildTestActor.Instances.Clear();

                actor.Ask <Start>(new Start());

                ExpectNoMsg();
                Assert.Equal(testDependency, ActorOfWithoutNameTestActor.ChildTestActor.Instances[0].TestDependency);
            }
        }
Пример #6
0
        public void ResolverFunctionsProperly()
        {
            var config = new ConfigurationBuilder()
                         .AddInMemoryCollection(new Dictionary <string, string>
            {
                { "RockLib.Logging:Type", typeof(TestLogger).AssemblyQualifiedName },
                { "RockLib.Logging:Value:Name", "foo" }
            }).Build();

            var dependency = new TestDependency();
            var resolver   = new Resolver(t => dependency, t => t == typeof(ITestDependency));

            var section = config.GetSection("RockLib.Logging");

            var logger = (TestLogger)section.CreateLogger("foo", resolver: resolver, reloadOnConfigChange: false);

            logger.Dependency.Should().BeSameAs(dependency);
        }
        public static void Should_resolve_lower_level_container_registration_When_lower_level_container_has_same_registration_as_upper_container(
            HierarchyServiceRegistration.Case @case)
        {
            // Arrange
            var theoryItem = @case.Promise.Resolve();

            var arrangeUpperLevelObject = new TestDependency();
            var arrangeLowerLevelObject = new TestDependency();

            object expectedUpperLevelObject = arrangeUpperLevelObject;
            object actualUpperLevelObject   = null;

            object expectedLowerLevelObject = arrangeLowerLevelObject;
            object actualLowerLevelObject   = null;

            // Act
            theoryItem.SetupConfig(
                (
                    builder,
                    provider) =>
            {
                builder.ConfigureServices(
                    (
                        context,
                        collection) =>
                {
                    collection.AddSingleton <ITestDependency>(arrangeUpperLevelObject);
                });
            });
            theoryItem.SetupCheck(
                host =>
            {
                actualUpperLevelObject = host.Services.GetService <ITestDependency>();
            });

            theoryItem.SetupExtension(new ConfigureDependenciesTheoryExtension().Setup(s => s.AddSingleton <ITestDependency>(arrangeLowerLevelObject)));
            theoryItem.SetupExtension(new PickDependencyTheoryExtension().Setup(typeof(ITestDependency), o => actualLowerLevelObject = o));
            theoryItem.Try();

            // Assert
            Assert.Same(expectedUpperLevelObject, actualUpperLevelObject);
            Assert.Same(expectedLowerLevelObject, actualLowerLevelObject);
        }
Пример #8
0
        public void CreateViewModelUsingViewModelWithDependencyTest()
        {
            var container = new WindsorDependencyContainer();

            var testDependency = new TestDependency();

            container.Singleton(testDependency);
            container.Singleton <DependencyViewModel>();

            var factory = new ViewModelFactory(container);

            var viewModelType = typeof(DependencyViewModel);
            var parameters    = Enumerable.Empty <object>().ToArray();

            var viewModel =
                factory.CreateWithLocatorOrWithReflection(viewModelType, parameters)
                .Convert <DependencyViewModel>();

            viewModel.Should().NotBeNull();

            viewModel.TestDependency.Should().NotBeNull();
            viewModel.TestDependency.Should().BeSameAs(testDependency);
        }
		public void CreateViewModelUsingViewModelWithDependencyTest()
		{
			var container = new WindsorDependencyContainer();

			var testDependency = new TestDependency();

			container.Singleton(testDependency);
			container.Singleton<DependencyViewModel>();

			var factory = new ViewModelFactory(container);

			var viewModelType = typeof(DependencyViewModel);
			var parameters = Enumerable.Empty<object>().ToArray();

			var viewModel =
				factory.CreateWithLocatorOrWithReflection(viewModelType, parameters)
					.Convert<DependencyViewModel>();

			viewModel.Should().Not.Be.Null();

			viewModel.TestDependency.Should().Not.Be.Null();
			viewModel.TestDependency.Should().Be.SameInstanceAs(testDependency);
		}
        public void CreateViewModelUsingViewModelWithDependencyAndRuntimeParameterTest()
        {
            var container = new WindsorDependencyContainer();

            var testDependency = new TestDependency();

            container.Container.Register(Component.For <TestDependency>().Instance(testDependency));
            container.Container.Register(Component.For <DependencyViewModel>());

            var factory = new ViewModelFactory(container);

            var viewModelType         = typeof(DependencyViewModel);
            var runtimeParameterValue = new object();

            var viewModel =
                factory.CreateWithLocatorOrWithReflection(viewModelType, runtimeParameterValue)
                .Convert <DependencyViewModel>();

            viewModel.Should().NotBeNull();

            viewModel.TestDependency.Should().NotBeNull();
            viewModel.TestDependency.Should().BeSameAs(testDependency);
            viewModel.Id.Should().BeSameAs(runtimeParameterValue);
        }
		public void CreateViewModelUsingViewModelWithDependencyAndRuntimeParameterTest()
		{
			var container = new WindsorDependencyContainer();

			var testDependency = new TestDependency();

			container.Container.Register(Component.For<TestDependency>().Instance(testDependency));
			container.Container.Register(Component.For<DependencyViewModel>());

			var factory = new ViewModelFactory(container);

			var viewModelType = typeof(DependencyViewModel);
			var runtimeParameterValue = new object();

			var viewModel =
				factory.CreateWithLocatorOrWithReflection(viewModelType, runtimeParameterValue)
					.Convert<DependencyViewModel>();

			viewModel.Should().Not.Be.Null();

			viewModel.TestDependency.Should().Not.Be.Null();
			viewModel.TestDependency.Should().Be.SameInstanceAs(testDependency);
			viewModel.Id.Should().Be.SameInstanceAs(runtimeParameterValue);
		}
Пример #12
0
 public TestAggregate(TestDependency dependency) => Dependency = dependency;
Пример #13
0
 public AnotherTestAggregate(TestDependency dependency) => Dependency = dependency;
 public TestJob(TestDependency testDependency)
 {
     _testDependency = testDependency;
 }
Пример #15
0
 public TestService(TestDependency testDependency)
 {
     _testDependency = testDependency;
 }
 public TestDependencyModule(TestDependency testDependency) => _testDependency = testDependency;
 public DependencyViewModel(TestDependency testDependency, object id)
 {
     TestDependency = testDependency;
     Id             = id;
 }
			public DependencyViewModel(TestDependency testDependency, object id)
			{
				TestDependency = testDependency;
				Id = id;
			}
Пример #19
0
 public TestCtorObject(TestDependency dependency)
 {
     this.Dependency = dependency;
 }
Пример #20
0
 public DependencyViewModel(TestDependency testDependency)
 {
     TestDependency = testDependency;
 }
Пример #21
0
 public TestClassWithDependency(TestDependency dependency)
 {
     this.dependency = dependency;
 }
        public async Task WhenMultipleTargetSnapshotsWithExistingDependencies_ShouldApplyChanges()
        {
            var dependencyModelRootXxx = new TestDependencyModel
            {
                ProviderType     = "Xxx",
                Id               = "XxxDependencyRoot",
                OriginalItemSpec = "XxxDependencyRoot",
                Caption          = "XxxDependencyRoot",
                Resolved         = true
            };

            var dependencyXxx1 = new TestDependency
            {
                ProviderType     = "Xxx",
                Id               = "dependency1",
                FilePath         = "dependencyxxxpath",
                OriginalItemSpec = "dependency1",
                Caption          = "Dependency1",
                SchemaItemType   = "Xxx",
                Resolved         = true
            };

            var dependencyModelRootYyy = new TestDependencyModel
            {
                ProviderType     = "Yyy",
                Id               = "YyyDependencyRoot",
                OriginalItemSpec = "YyyDependencyRoot",
                Caption          = "YyyDependencyRoot"
            };

            var dependencyYyy1 = new TestDependency
            {
                ProviderType     = "Yyy",
                Id               = "dependency1",
                FilePath         = "dependencyyyypath",
                OriginalItemSpec = "dependency1",
                Caption          = "Dependency1",
                SchemaItemType   = "Yyy",
                Resolved         = true
            };

            var dependencyYyyExisting = new TestDependency
            {
                ProviderType     = "Yyy",
                Id               = "dependencyExisting",
                FilePath         = "dependencyyyyExistingpath",
                OriginalItemSpec = "dependencyExisting",
                Caption          = "DependencyExisting",
                SchemaItemType   = "Yyy",
                Resolved         = true
            };

            var dependencyModelRootZzz = new TestDependencyModel
            {
                ProviderType     = "Zzz",
                Id               = "ZzzDependencyRoot",
                OriginalItemSpec = "ZzzDependencyRoot",
                Caption          = "ZzzDependencyRoot",
                Resolved         = true,
                Flags            = ProjectTreeFlags.Create(ProjectTreeFlags.Common.BubbleUp)
            };

            var dependencyAny1 = new TestDependency
            {
                ProviderType     = "Zzz",
                Id               = "ZzzDependencyAny1",
                FilePath         = "ZzzDependencyAny1path",
                OriginalItemSpec = "ZzzDependencyAny1",
                Caption          = "ZzzDependencyAny1"
            };

            var dependenciesRoot = new TestProjectTree
            {
                Caption  = "MyDependencies",
                Children =
                {
                    new TestProjectTree
                    {
                        Caption = "OldRootChildToBeRemoved"
                    },
                    new TestProjectTree
                    {
                        Caption  = "YyyDependencyRoot",
                        Children =
                        {
                            new TestProjectTree
                            {
                                Caption = "DependencyExisting",
                            }
                        }
                    }
                }
            };

            var targetModel1 = new TestDependencyModel
            {
                Id = "tfm1",
                OriginalItemSpec = "tfm1",
                Caption          = "tfm1"
            };

            var targetModel2 = new TestDependencyModel
            {
                Id = "tfm2",
                OriginalItemSpec = "tfm2",
                Caption          = "tfm2"
            };

            var provider = CreateProvider(
                rootModels: new[] { dependencyModelRootXxx, dependencyModelRootYyy, dependencyModelRootZzz },
                targetModels: new[] { targetModel1, targetModel2 });

            var snapshot = GetSnapshot(
                (_tfm1, new[] { dependencyXxx1, dependencyYyy1, dependencyYyyExisting }),
                (_tfm2, new[] { dependencyXxx1, dependencyYyy1, dependencyYyyExisting }),
                (TargetFramework.Any, new[] { dependencyAny1 }));

            // Act
            var resultTree = await provider.BuildTreeAsync(dependenciesRoot, snapshot);

            // Assert
            const string expectedFlatHierarchy =
                @"Caption=MyDependencies, IconHash=325248080, ExpandedIconHash=325248080, Rule=, IsProjectItem=False, CustomTag=
    Caption=ZzzDependencyRoot, IconHash=0, ExpandedIconHash=0, Rule=, IsProjectItem=False, CustomTag=
        Caption=ZzzDependencyAny1, IconHash=325248665, ExpandedIconHash=325248817, Rule=, IsProjectItem=False, CustomTag=
    Caption=tfm2, IconHash=0, ExpandedIconHash=0, Rule=, IsProjectItem=False, CustomTag=, BubbleUpFlag=True
        Caption=XxxDependencyRoot, IconHash=0, ExpandedIconHash=0, Rule=, IsProjectItem=False, CustomTag=
            Caption=Dependency1, IconHash=325248088, ExpandedIconHash=325248260, Rule=, IsProjectItem=False, CustomTag=
        Caption=YyyDependencyRoot, IconHash=0, ExpandedIconHash=0, Rule=, IsProjectItem=False, CustomTag=
            Caption=Dependency1, IconHash=325248088, ExpandedIconHash=325248260, Rule=, IsProjectItem=False, CustomTag=
            Caption=DependencyExisting, IconHash=325248088, ExpandedIconHash=325248260, Rule=, IsProjectItem=False, CustomTag=
    Caption=tfm1, IconHash=0, ExpandedIconHash=0, Rule=, IsProjectItem=False, CustomTag=, BubbleUpFlag=True
        Caption=XxxDependencyRoot, IconHash=0, ExpandedIconHash=0, Rule=, IsProjectItem=False, CustomTag=
            Caption=Dependency1, IconHash=325248088, ExpandedIconHash=325248260, Rule=, IsProjectItem=True, CustomTag=
        Caption=YyyDependencyRoot, IconHash=0, ExpandedIconHash=0, Rule=, IsProjectItem=False, CustomTag=
            Caption=Dependency1, IconHash=325248088, ExpandedIconHash=325248260, Rule=, IsProjectItem=True, CustomTag=
            Caption=DependencyExisting, IconHash=325248088, ExpandedIconHash=325248260, Rule=, IsProjectItem=True, CustomTag=";

            AssertTestData(expectedFlatHierarchy, resultTree);
        }
        public async Task WhenOneTargetSnapshotAndDependencySupportsHierarchyAndIsResolved_ShouldRead()
        {
            var dependencyModelRootYyy = new TestDependencyModel
            {
                ProviderType = "Yyy",
                Id           = "YyyDependencyRoot",
                Name         = "YyyDependencyRoot",
                Caption      = "YyyDependencyRoot",
                Resolved     = true
            };

            var dependencyYyyExisting = new TestDependency
            {
                ProviderType    = "Yyy",
                Id              = "tfm1\\yyy\\dependencyExisting",
                Name            = "dependencyExisting",
                Path            = "dependencyExistingpath",
                Caption         = "DependencyExisting",
                SchemaItemType  = "Yyy",
                Resolved        = true,
                Flags           = DependencyTreeFlags.SupportsHierarchy,
                TargetFramework = _tfm1
            };

            var dependenciesRoot = new TestProjectTree
            {
                Caption  = "MyDependencies",
                Children =
                {
                    new TestProjectTree
                    {
                        Caption  = "YyyDependencyRoot",
                        FilePath = "YyyDependencyRoot",
                        Children =
                        {
                            new TestProjectTree
                            {
                                Caption   = "DependencyExisting",
                                FilePath  = "tfm1\\yyy\\dependencyExisting",
                                CustomTag = "ShouldBeCleanedSinceNodeWillBeRecreated",
                                Flags     = DependencyTreeFlags.Unresolved
                            }
                        }
                    }
                }
            };

            var provider = CreateProvider(rootModels: new[] { dependencyModelRootYyy });

            var snapshot = GetSnapshot((_tfm1, new[] { dependencyYyyExisting }));

            // Act
            var resultTree = await provider.BuildTreeAsync(dependenciesRoot, snapshot);

            // Assert
            var expectedFlatHierarchy =
                @"Caption=MyDependencies, FilePath=, IconHash=325248080, ExpandedIconHash=325248080, Rule=, IsProjectItem=False, CustomTag=
    Caption=YyyDependencyRoot, FilePath=YyyDependencyRoot, IconHash=0, ExpandedIconHash=0, Rule=, IsProjectItem=False, CustomTag=
        Caption=DependencyExisting, FilePath=tfm1\Yyy\dependencyExistingpath, IconHash=325248088, ExpandedIconHash=325248260, Rule=, IsProjectItem=True, CustomTag=";

            Assert.Equal(expectedFlatHierarchy, ToTestDataString((TestProjectTree)resultTree));
        }
 public TestService(TestDependency testDependency)
 {
     _testDependency = testDependency;
 }
			public DependencyViewModel(TestDependency testDependency)
			{
				TestDependency = testDependency;
			}
 public TestJob(TestDependency testDependency)
 {
     _testDependency = testDependency;
 }
        public async Task WhenOneTargetSnapshotWithExistingDependencies_ShouldApplyChanges()
        {
            var dependencyModelRootXxx = new TestDependencyModel
            {
                ProviderType     = "Xxx",
                Id               = "XxxDependencyRoot",
                OriginalItemSpec = "XxxDependencyRoot",
                Caption          = "XxxDependencyRoot",
                Resolved         = true
            };

            var dependencyModelRootYyy = new TestDependencyModel
            {
                ProviderType     = "Yyy",
                Id               = "YyyDependencyRoot",
                OriginalItemSpec = "YyyDependencyRoot",
                Caption          = "YyyDependencyRoot"
            };

            var dependencyXxx1 = new TestDependency
            {
                ProviderType     = "Xxx",
                Id               = "dependency1",
                OriginalItemSpec = "dependency1",
                FilePath         = "dependencyXxxpath",
                Caption          = "Dependency1",
                SchemaItemType   = "Xxx",
                Resolved         = true
            };

            var dependencyYyy1 = new TestDependency
            {
                ProviderType     = "Yyy",
                Id               = "dependency1",
                OriginalItemSpec = "dependency1",
                FilePath         = "dependencyYyypath",
                Caption          = "Dependency1",
                SchemaItemType   = "Yyy",
                Resolved         = true
            };

            var dependencyYyyExisting = new TestDependency
            {
                ProviderType     = "Yyy",
                Id               = "dependencyExisting",
                OriginalItemSpec = "dependencyExisting",
                FilePath         = "dependencyExistingPath",
                Caption          = "DependencyExisting",
                SchemaItemType   = "Yyy",
                Resolved         = true
            };

            var dependenciesRoot = new TestProjectTree
            {
                Caption  = "MyDependencies",
                Children =
                {
                    new TestProjectTree
                    {
                        Caption = "OldRootChildToBeRemoved"
                    },
                    new TestProjectTree
                    {
                        Caption  = "YyyDependencyRoot",
                        Children =
                        {
                            new TestProjectTree
                            {
                                Caption = "DependencyExisting"
                            }
                        }
                    }
                }
            };

            var provider = CreateProvider(rootModels: new[] { dependencyModelRootXxx, dependencyModelRootYyy });

            var snapshot = GetSnapshot((_tfm1, new[] { dependencyXxx1, dependencyYyy1, dependencyYyyExisting }));

            // Act
            var resultTree = await provider.BuildTreeAsync(dependenciesRoot, snapshot);

            // Assert
            const string expectedFlatHierarchy =
                @"Caption=MyDependencies, IconHash=325248080, ExpandedIconHash=325248080, Rule=, IsProjectItem=False, CustomTag=
    Caption=YyyDependencyRoot, IconHash=0, ExpandedIconHash=0, Rule=, IsProjectItem=False, CustomTag=
        Caption=DependencyExisting, IconHash=325248088, ExpandedIconHash=325248260, Rule=, IsProjectItem=False, CustomTag=
        Caption=Dependency1, IconHash=325248088, ExpandedIconHash=325248260, Rule=, IsProjectItem=True, CustomTag=
    Caption=XxxDependencyRoot, IconHash=0, ExpandedIconHash=0, Rule=, IsProjectItem=False, CustomTag=
        Caption=Dependency1, IconHash=325248088, ExpandedIconHash=325248260, Rule=, IsProjectItem=True, CustomTag=";

            AssertTestData(expectedFlatHierarchy, resultTree);
        }
Пример #28
0
 public TestCtorObject(TestDependency dependency)
 {
     this.Dependency = dependency;
 }