Ejemplo n.º 1
0
        protected override void WithContext()
        {
            base.WithContext();

            RegisteredGraph = new RegisteredGraph<ClassWithTwoAncestors>(Registry);
            RegisteredIndexer = new RegisteredIndexer<ClassWithTwoAncestors, int>(new IntIndex(), Registry);
            Registry.RegisteredIndexers.Add(RegisteredIndexer);
            Subject.EnsureIndex(RegisteredIndexer);
        }
        public void it_should_find_a_registered_index_by_the_index_type()
        {
            var registry = new Registry(null);
            var registeredIndexer = new RegisteredIndexer<DummyPersistentObject, int>(new DummyIndex(), registry);
            var sut = new RegisteredGraph<DummyPersistentObject>(registry);
            registry.RegisteredIndexers.Add(registeredIndexer);

            sut.GetRegisteredIndexerFor(new DummyIndex()).ShouldEqual(registeredIndexer);
        }
Ejemplo n.º 3
0
        protected override void WithContext()
        {
            CloudStorageAccount.DevelopmentStorageAccount.CreateCloudTableClient().DeleteTableIfExist(AzureBackingStore.ConcreteTypeTableName);
            CloudStorageAccount.DevelopmentStorageAccount.CreateCloudTableClient().DeleteTableIfExist("idxStashEngineStashTypeHierarchy");
            CloudStorageAccount.DevelopmentStorageAccount.CreateCloudTableClient().DeleteTableIfExist("rdxStashEngineStashTypeHierarchy");

            Subject = new AzureBackingStore(CloudStorageAccount.DevelopmentStorageAccount, new NoConcurrencyProtection());
            Registry = new Registry(Subject);
            var typeHierarchyIndexer = new RegisteredIndexer<Type, string>(new StashTypeHierarchy(), Registry);
            Registry.RegisteredIndexers.Add(typeHierarchyIndexer);

            Subject.EnsureIndex(typeHierarchyIndexer);
        }
Ejemplo n.º 4
0
        protected override void WithContext()
        {
            base.WithContext();

            CloudStorageAccount.DevelopmentStorageAccount.CreateCloudTableClient().DeleteTableIfExist("idxStashAzureSpecificationsSupportStringIndex");
            CloudStorageAccount.DevelopmentStorageAccount.CreateCloudTableClient().DeleteTableIfExist("rdxStashAzureSpecificationsSupportStringIndex");

            RegisteredGraph = new RegisteredGraph<ClassWithTwoAncestors>(Registry);
            RegisteredGraph.TransformSerializer = new JsonSerializer<ClassWithTwoAncestors>(RegisteredGraph);
            RegisteredIndexer = new RegisteredIndexer<ClassWithTwoAncestors, string>(new StringIndex(), Registry);
            Registry.RegisteredIndexers.Add(RegisteredIndexer);
            Subject.EnsureIndex(RegisteredIndexer);
        }
Ejemplo n.º 5
0
        protected override void Given()
        {
            registeredGraph = new RegisteredGraph<ClassWithTwoAncestors>(registry);
            registeredIndexer = new RegisteredIndexer<ClassWithTwoAncestors, int>(new IntIndex(), registry);
            registry.RegisteredIndexers.Add(registeredIndexer);

            originalTrackedGraph = new TrackedGraph(new StoredGraph(new InternalId(Guid.NewGuid()), registeredGraph.GraphType, new PreservedMemoryStream("thisistheserialisedgraphofthefirstobject".Select(_ => (byte)_).ToArray())), new IProjectedIndex[]
                {
                    new ProjectedIndex<int>(registeredIndexer.IndexName, 1),
                    new ProjectedIndex<int>(registeredIndexer.IndexName, 2)
                }, registeredGraph);

            updatedTrackedGraph = new TrackedGraph(new StoredGraph(originalTrackedGraph.StoredGraph.InternalId, registeredGraph.GraphType, new PreservedMemoryStream("thesecondobjectsserialisedgraph".Select(_ => (byte)_).ToArray())), new IProjectedIndex[]
                {
                    new ProjectedIndex<int>(registeredIndexer.IndexName, 2),
                    new ProjectedIndex<int>(registeredIndexer.IndexName, 3)
                }, registeredGraph);

            Subject.EnsureIndex(registeredIndexer);
            Subject.InTransactionDo(_ => _.InsertGraph(originalTrackedGraph));
        }
        protected override void Given()
        {
            firstRegisteredGraph = new RegisteredGraph<ClassWithTwoAncestors>(registry);
            secondRegisteredGraph = new RegisteredGraph<OtherClassWithTwoAncestors>(registry);
            registeredIndexer = new RegisteredIndexer<ClassWithTwoAncestors, int>(new IntIndex(), registry);
            registry.RegisteredIndexers.Add(registeredIndexer);

            firstTrackedGraph = new TrackedGraph(new StoredGraph(new InternalId(Guid.NewGuid()), firstRegisteredGraph.GraphType, new PreservedMemoryStream("thisistheserialisedgraphofthefirstobject".Select(_ => (byte)_).ToArray())), new IProjectedIndex[]
                {
                    new ProjectedIndex<int>(registeredIndexer.IndexName, firstIndexDistinctIndexValue),
                    new ProjectedIndex<int>(registeredIndexer.IndexName, commonIndexValues)
                }, firstRegisteredGraph);

            secondTrackedGraph = new TrackedGraph(new StoredGraph(new InternalId(Guid.NewGuid()), secondRegisteredGraph.GraphType, new PreservedMemoryStream("thesecondobjectsserialisedgraph".Select(_ => (byte)_).ToArray())), new IProjectedIndex[]
                {
                    new ProjectedIndex<int>(registeredIndexer.IndexName, commonIndexValues),
                    new ProjectedIndex<int>(registeredIndexer.IndexName, secondIndexDistinctIndexValue)
                }, secondRegisteredGraph);

            Subject.EnsureIndex(registeredIndexer);
            Subject.InTransactionDo(_ => _.InsertGraph(firstTrackedGraph));
        }
Ejemplo n.º 7
0
        protected override void Given()
        {
            registeredGraph = new RegisteredGraph<ClassWithTwoAncestors>(registry);
            firstRegisteredIndexer = new RegisteredIndexer<ClassWithTwoAncestors, int>(new IntIndex(), registry);
            secondRegisteredIndexer = new RegisteredIndexer<ClassWithTwoAncestors, string>(new StringIndex(), registry);
            registry.RegisteredIndexers.Add(firstRegisteredIndexer);
            registry.RegisteredIndexers.Add(secondRegisteredIndexer);

            trackedGraph = new TrackedGraph(new StoredGraph(new InternalId(Guid.NewGuid()), registeredGraph.GraphType, new PreservedMemoryStream("letspretendthisisserialiseddata".Select(_ => (byte)_).ToArray())), new IProjectedIndex[]
                {
                    new ProjectedIndex<int>(firstRegisteredIndexer.IndexName, 1),
                    new ProjectedIndex<string>(secondRegisteredIndexer.IndexName, "wibble")
                }, registeredGraph);

            Subject.EnsureIndex(firstRegisteredIndexer);
            Subject.EnsureIndex(secondRegisteredIndexer);
        }
 protected override void Given()
 {
     registeredIndexer = new RegisteredIndexer<ClassWithTwoAncestors, int>(new IntIndex(), registry);
 }