public void FunctionalLifeSpanTest_ShouldProduceDesiredResults() { // Arrange. var package = new SimulatedAutofacDependencyPackage(); var databaseName = EnhancedReadabilityGuid.New().ToString(); var configurationBuilder = new ConfigurationBuilder(); var configuration = configurationBuilder.Build(); var scope = (IDependencyScope)null; var commandMediator = (ICommandMediator)null; var command = new GetFibonacciNumberValuesCommand(); var fibonacciNumberSeriesValues = new Int64[] { 0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 }; using (var engine = package.CreateEngine(configuration)) { // Arrange. scope = engine.Container.CreateScope(); commandMediator = scope.Resolve <ICommandMediator>(); using (var context = new PrototypeInMemoryContext(configuration, databaseName).WithTestData()) { using (var repositoryFactory = new PrototypeRepositoryFactory(configuration, context)) { using (var commandHandler = new GetFibonacciNumberValuesCommandHandler(commandMediator, repositoryFactory)) { // Act. var result = commandHandler.Process(command); // Assert. result.Should().BeEquivalentTo(fibonacciNumberSeriesValues); } } } } }
/// <summary> /// Initializes a new instance of the <see cref="GetFibonacciNumberValuesCommandHandler" /> class. /// </summary> /// <param name="mediator"> /// A processing intermediary that is used to process sub-commands. /// </param> /// <param name="repositoryFactory"> /// The factory that produces data access repositories for the handler. /// </param> /// <exception cref="ArgumentNullException"> /// <paramref name="mediator" /> is <see langword="null" /> -or- <paramref name="repositoryFactory" /> is /// <see langword="null" />. /// </exception> public GetFibonacciNumberValuesCommandHandler(ICommandMediator mediator, PrototypeRepositoryFactory repositoryFactory) : base(mediator, repositoryFactory) { return; }