public void NothingShouldGoBang()
        {
            var factStore = new MemoryFactStore();
            var aggregateRebuilder = new AggregateRebuilder(factStore);
            var snapshot = new QueryModel<Student>(aggregateRebuilder);
            var eventBroker = Substitute.For<IDomainEventBroker>();

            Guid studentId;

            using (var unitOfWork = new UnitOfWork(factStore, eventBroker, new SystemClock()))
            {
                var repository = new Repository<Student>(snapshot, unitOfWork);

                var student = Student.Create("Fred", "Flintstone");
                studentId = student.Id;
                repository.Add(student);

                unitOfWork.Complete();
            }

            using (var unitOfWork = new UnitOfWork(factStore, eventBroker, new SystemClock()))
            {
                var repository = new Repository<Student>(snapshot, unitOfWork);
                var student = repository.GetById(studentId);

                student.FirstName.ShouldBe("Fred");
                student.LastName.ShouldBe("Flintstone");
            }
        }
Exemplo n.º 2
0
        private SourcererConfigurator()
        {
            var assembliesInCallStack = new StackTrace().GetFrames()
                                                        .Select(f => f.GetMethod())
                                                        .Select(m => m.DeclaringType.Assembly)
                                                        .Distinct()
                                                        .ToArray();

            TypesProvider = new AssemblyScanningTypesProvider(assembliesInCallStack);
            FactStore = new MemoryFactStore();
            Clock = new SystemClock();
            DependencyResolver = new DefaultDependencyResolver(assembliesInCallStack);
        }