public void TestFixtureSetUp()
        {
            StateInitializationTestsRoot.Instance.PerformTypesMassProcessing(Array.Empty <IMassProcessor>(), true, typeof(object));
            _container = new UnityContainer();

            var testCasesMetadataSource = new TestCaseMetadataSource();
            var requiredContexts        = testCasesMetadataSource.Tests
                                          .SelectMany(x => x.Arrange.Contexts)
                                          .Distinct();
            var schemasMetadataSource = new SchemaMetadataSource(requiredContexts);

            _metadataProvider =
                new MetadataProvider(
                    new IMetadataSource[] { schemasMetadataSource, testCasesMetadataSource },
                    new IMetadataProcessor[0]);

            _container.RegisterType <ConnectionStringSettingsAspect, RunnerConnectionStringSettings>()
            .RegisterType <DataConnectionFactory>()
            .RegisterInstance <IMetadataProvider>(_metadataProvider)
            .RegisterType <IContextEntityTypesProvider, ContextEntityTypesProvider>();

            var dropDatabases   = _container.Resolve <DropDatabasesCommand>();
            var createDatabases = _container.Resolve <CreateDatabasesCommand>();
            var createSchemata  = _container.Resolve <CreateDatabaseSchemataCommand>();

            dropDatabases.Execute();
            createDatabases.Execute();
            createSchemata.Execute();

            _testRunner = _container.Resolve <TestRunner>();
        }
            static MetadataSources()
            {
                TestCaseMetadataSource = new TestCaseMetadataSource();

                var requiredContexts = TestCaseMetadataSource.Tests
                                       .SelectMany(x => x.Arrange.Contexts)
                                       .ToHashSet();

                SchemaMetadataSource = new SchemaMetadataSource(requiredContexts);
            }