public TestServiceContainer()
        {
            StorageDriver = new RamDriver();
            StorageDriver.Initialize(
                new DummyTracer(),
                new RamDriverSettings
            {
                Descriptor  = DataGen.BuildContainerDescriptor(),
                StorageRoot = ConfigurationManager.AppSettings["storageDriverInitString"]
            }
                );

            const int maxconcurrency = 16;

            ServiceInstanceName = TestHostInstanceName;
            Engine = new DataEngine(
                new DummyTracer(),
                ServiceInstanceName + "-Engine", maxconcurrency, StorageDriver, StorageDriver.GetDescriptor());
            EngineCache = new TestableEngineCache(Engine);
            DataService = new DataService(
                new DummyTracer(),
                new DummyHostedProcess(), ServiceInstanceName, maxconcurrency, EngineCache);
            DataServiceHost = CreateServiceHost(DataService, new[]
            {
                new Uri("net.tcp://" + TestHostBaseAddressTcp)
            }, maxconcurrency, ServiceInstanceName, maxconcurrency);
            DataServiceHost.Opened += DataServiceHostOnOpened;
            DataServiceHost.Open();
        }
        public void TestSchemaBuilder()
        {
            var builder = new SchemaBuilder();

            builder.AddDocumentTypeNames("Filter");

            builder.BeginDefineDocumentTypes();

            builder.AddDocumentTypeDescriptor(
                "Filter", "Filter",
                "Id", DbType.Int64,
                "Name", DbType.String,
                "QueryString", DbType.String,
                "IsDefault", DbType.Boolean,
                "IsNamed", DbType.Boolean,
                "Type", DbType.Int32
                );

            builder.AddIdentifierAliases(
                "Filter",
                "Filter.Id", "id",
                "Filter.Name", "name",
                "Filter.IsDefault", "isdefault");
            var desc   = builder.Commit();
            var driver = new RamDriver();

            driver.Initialize(new DummyTracer(), new RamDriverSettings {
                Descriptor = desc
            });
        }
        public void Dispose()
        {
            if (DataService != null)
            {
                DataService.Dispose();
                DataService = null;
            }

            if (StorageDriver != null)
            {
                StorageDriver.Dispose();
                StorageDriver = null;
            }
        }