public void SetUp() { var objectTypeId = new ObjectTypeId(new Guid(objectTypeIdValue)); var repository = new ObjectTypeDescriptorRepository(); repository.RegisterUsingReflection(typeof(TestingObject)); typeDescriptor = repository.GetByTypeId(objectTypeId); }
public void SetUp() { var objectTypeId = new ObjectTypeId(new Guid(objectTypeIdValue)); var repository = new ObjectTypeDescriptorRepository(); repository.RegisterUsingReflection(typeof(TestingObject)); typeDescriptor = repository.GetByTypeId(objectTypeId); }
public void SetUp() { objectId = ObjectId.NewUniqueId(); objectTypeId = new ObjectTypeId(new Guid(objectTypeIdValue)); changeSetId = ChangeSetId.NewUniqueId(); typeRepository = new ObjectTypeDescriptorRepository().RegisterUsingReflection <TestingObject>(); dataFacadeMock = new Mock <IDataFacade>(); objectFacade = new ObjectFacade(dataFacadeMock.Object, typeRepository, new Mock <ICommandExecutor>().Object); }
public void It_returns_null_for_not_registered_type_id() { var objectTypeId = ObjectTypeId.NewUniqueId(); var repository = new ObjectTypeDescriptorRepository(); var notRegistered = repository.GetByTypeId(objectTypeId); Assert.IsNull(notRegistered); }
public void It_returns_null_for_not_registered_type_id() { var objectTypeId = ObjectTypeId.NewUniqueId(); var repository = new ObjectTypeDescriptorRepository(); var notRegistered = repository.GetByTypeId(objectTypeId); Assert.IsNull(notRegistered); }
public void It_throws_exception_when_trying_to_register_two_types_with_same_id() { var objectTypeId = ObjectTypeId.NewUniqueId(); var repository = new ObjectTypeDescriptorRepository(); var firstTypeDescriptor = new ObjectTypeDescriptor(typeof(object), objectTypeId, new AttributeDescriptor[] { }, new RelationDescriptor[] { }); var secondTypeDescriptor = new ObjectTypeDescriptor(typeof(int), objectTypeId, new AttributeDescriptor[] { }, new RelationDescriptor[] { }); repository.RegisterTypeDescriptor(firstTypeDescriptor); Assert.Throws<InvalidOperationException>(() => repository.RegisterTypeDescriptor(secondTypeDescriptor)); }
public void It_throws_exception_when_trying_to_register_two_types_with_same_id() { var objectTypeId = ObjectTypeId.NewUniqueId(); var repository = new ObjectTypeDescriptorRepository(); var firstTypeDescriptor = new ObjectTypeDescriptor(typeof(object), objectTypeId, new AttributeDescriptor[] { }, new RelationDescriptor[] { }); var secondTypeDescriptor = new ObjectTypeDescriptor(typeof(int), objectTypeId, new AttributeDescriptor[] { }, new RelationDescriptor[] { }); repository.RegisterTypeDescriptor(firstTypeDescriptor); Assert.Throws <InvalidOperationException>(() => repository.RegisterTypeDescriptor(secondTypeDescriptor)); }
public void It_returns_object_type_by_its_id() { var objectTypeId = ObjectTypeId.NewUniqueId(); var repository = new ObjectTypeDescriptorRepository(); var typeDescriptor = new ObjectTypeDescriptor(typeof(object), objectTypeId, new AttributeDescriptor[] {}, new RelationDescriptor[] {}); repository.RegisterTypeDescriptor(typeDescriptor); var registered = repository.GetByTypeId(objectTypeId); Assert.IsNotNull(registered); }
public void It_returns_object_type_by_its_id() { var objectTypeId = ObjectTypeId.NewUniqueId(); var repository = new ObjectTypeDescriptorRepository(); var typeDescriptor = new ObjectTypeDescriptor(typeof (object), objectTypeId, new AttributeDescriptor[] {}, new RelationDescriptor[] {}); repository.RegisterTypeDescriptor(typeDescriptor); var registered = repository.GetByTypeId(objectTypeId); Assert.IsNotNull(registered); }
public void It_can_handle_1000_objects_with_10_changes_each() { var dataStore = new InMemoryDataStore(); var objectIds = GenerateObjectIds(1000); ChangeSetId?previousChangeSetId = null; ChangeSetId currentChangeSetId = ChangeSetId.NewUniqueId(); dataStore.ChangeSets.Add(new ChangeSet(currentChangeSetId, previousChangeSetId, "Some comment", GenerateCreateCommands(objectIds))); previousChangeSetId = currentChangeSetId; for (int i = 0; i < 9; i++) { currentChangeSetId = ChangeSetId.NewUniqueId(); dataStore.ChangeSets.Add(new ChangeSet(currentChangeSetId, previousChangeSetId, "Some comment", GenerateUpdateCommands(i, objectIds))); previousChangeSetId = currentChangeSetId; } var commandExecutor = new CommandExecutor() .RegisterCommandHandler(new CreateObjectCommandHandler()) .RegisterCommandHandler(new ModifyAttributeCommandHandler()); var objectTypeRepository = new ObjectTypeDescriptorRepository() .RegisterUsingReflection <TestingObject>(); var dataFacade = new DataFacade(commandExecutor, dataStore, new IncrementalCachingSnapshotFactory()); var objectFacade = new ObjectFacade(dataFacade, objectTypeRepository, commandExecutor); var stopwatch = new Stopwatch(); stopwatch.Start(); var currentView = objectFacade.GetSnapshot(currentChangeSetId); var allObjects = currentView.List <TestingObject>().ToList(); stopwatch.Stop(); Console.WriteLine(stopwatch.ElapsedMilliseconds); Assert.AreEqual(1000, allObjects.Count); foreach (var testingObject in allObjects) { Assert.AreEqual("8", testingObject.TextValue); } }
public void SetUp() { var dataStore = new InMemoryDataStore(); var commandExecutor = new CommandExecutor() .RegisterCommandHandler(new CreateUnitCommandHandler()) .RegisterCommandHandler(new CreateHierarchyCommandHandler()) .RegisterCommandHandler(new SetHierarchyRootCommandHandler()) .RegisterCommandHandler(new MoveUnitCommandHandler()) .RegisterCommandHandler(new CreateHierarchyNodeCommandHandler()) .RegisterCommandHandler(new AttachToHierarchyCommandHandler()) .RegisterCommandHandler(new AttachChildCommandHandler()) .RegisterCommandHandler(new DetachChildCommandHandler()) .RegisterCommandHandler(new SetParentCommandHandler()); var typeRepository = new ObjectTypeDescriptorRepository() .RegisterUsingReflection <Unit>() .RegisterUsingReflection <HierarchyNode>() .RegisterUsingReflection <Hierarchy>(); dataFacade = new DataFacade(commandExecutor, dataStore, new IncrementalCachingSnapshotFactory()); objectFacade = new ObjectFacade(dataFacade, typeRepository, commandExecutor); }
public void SetUp() { var dataStore = new InMemoryDataStore(); var commandExecutor = new CommandExecutor() .RegisterCommandHandler(new CreateUnitCommandHandler()) .RegisterCommandHandler(new CreateHierarchyCommandHandler()) .RegisterCommandHandler(new SetHierarchyRootCommandHandler()) .RegisterCommandHandler(new MoveUnitCommandHandler()) .RegisterCommandHandler(new CreateHierarchyNodeCommandHandler()) .RegisterCommandHandler(new AttachToHierarchyCommandHandler()) .RegisterCommandHandler(new AttachChildCommandHandler()) .RegisterCommandHandler(new DetachChildCommandHandler()) .RegisterCommandHandler(new SetParentCommandHandler()); var typeRepository = new ObjectTypeDescriptorRepository() .RegisterUsingReflection<Unit>() .RegisterUsingReflection<HierarchyNode>() .RegisterUsingReflection<Hierarchy>(); dataFacade = new DataFacade(commandExecutor, dataStore, new IncrementalCachingSnapshotFactory()); objectFacade = new ObjectFacade(dataFacade, typeRepository, commandExecutor); }
public void It_can_handle_1000_objects_with_10_changes_each() { var dataStore = new InMemoryDataStore(); var objectIds = GenerateObjectIds(1000); ChangeSetId? previousChangeSetId = null; ChangeSetId currentChangeSetId = ChangeSetId.NewUniqueId(); dataStore.ChangeSets.Add(new ChangeSet(currentChangeSetId, previousChangeSetId, "Some comment", GenerateCreateCommands(objectIds))); previousChangeSetId = currentChangeSetId; for (int i = 0; i < 9; i++) { currentChangeSetId = ChangeSetId.NewUniqueId(); dataStore.ChangeSets.Add(new ChangeSet(currentChangeSetId, previousChangeSetId, "Some comment", GenerateUpdateCommands(i, objectIds))); previousChangeSetId = currentChangeSetId; } var commandExecutor = new CommandExecutor() .RegisterCommandHandler(new CreateObjectCommandHandler()) .RegisterCommandHandler(new ModifyAttributeCommandHandler()); var objectTypeRepository = new ObjectTypeDescriptorRepository() .RegisterUsingReflection<TestingObject>(); var dataFacade = new DataFacade(commandExecutor, dataStore, new IncrementalCachingSnapshotFactory()); var objectFacade = new ObjectFacade(dataFacade, objectTypeRepository, commandExecutor); var stopwatch = new Stopwatch(); stopwatch.Start(); var currentView = objectFacade.GetSnapshot(currentChangeSetId); var allObjects = currentView.List<TestingObject>().ToList(); stopwatch.Stop(); Console.WriteLine(stopwatch.ElapsedMilliseconds); Assert.AreEqual(1000, allObjects.Count); foreach (var testingObject in allObjects) { Assert.AreEqual("8", testingObject.TextValue); } }
public void SetUp() { objectId = ObjectId.NewUniqueId(); objectTypeId = new ObjectTypeId(new Guid(objectTypeIdValue)); changeSetId = ChangeSetId.NewUniqueId(); typeRepository = new ObjectTypeDescriptorRepository().RegisterUsingReflection<TestingObject>(); dataFacadeMock = new Mock<IDataFacade>(); objectFacade = new ObjectFacade(dataFacadeMock.Object, typeRepository, new Mock<ICommandExecutor>().Object); }