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); }
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); }
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); }
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)); }
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); }