Пример #1
0
        public OperationPromise <TResponse> DispatchOperation <TResponse>(IOperation <TResponse> operation) where TResponse : IOperationResponse
        {
            var promise = _activeOperations.RegisterOperation(operation);

            _writer.WriteOperationWithResponse(promise);

            return(promise);
        }
        public void ShouldRetrieveAndRemoveOperation()
        {
            var manager = new ActiveOperationsManager();
            var promise = manager.RegisterOperation(new TestOperation());

            var retrievedPromise = manager.RetrieveAndRemoveOperation(promise.Id);

            manager.ActiveOperations.ShouldBeEmpty();
            retrievedPromise.ShouldBe(promise);
        }
        public void ShouldRegisterOperation()
        {
            var manager = new ActiveOperationsManager();

            var operation = new TestOperation();
            var promise   = manager.RegisterOperation(operation);

            manager.ActiveOperations.ShouldContain(operation);
            promise.ShouldBeOfType <OperationPromise <TestResponse> >();
        }
Пример #4
0
        public void ShouldHandleResponse()
        {
            var service = new OperationService(_activeOperations, _writer, null);
            var promise = _activeOperations.RegisterOperation(new TestOperationWithResponse());

            var response = new TestResponse {
                PromiseId = promise.Id
            };

            service.HandleResponse(response);

            promise.IsCompleted.ShouldBeTrue();
            promise.Response.ShouldBe(response);
        }