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