public OperationService(ActiveOperationsManager activeOperations, IOperationWriter writer, Func<Type, IOperationHandler> handlerFactory)
        {
            _activeOperations = activeOperations;

            _writer = writer;
            _handlerFactory = handlerFactory;
        }
        public void ShouldThrowWhenRetrievingNonexistentOperation()
        {
            var manager = new ActiveOperationsManager();

            Action action = () => manager.RetrieveAndRemoveOperation(2);

            action.ShouldThrow <InvalidOperationException>();
        }
        public OperationSystem(OperationMap map, ISerializationService serializer, IOperationTransport transport, Func<Type, IOperationHandler> handlerFactory)
        {
            var writer = new NetworkOperationWriter(map, serializer, transport);
            var reader = new NetworkOperationReader(map, serializer);

            var activeOperations = new ActiveOperationsManager();

            Dispatcher = new OperationDispatcher(activeOperations, writer);
            Processor = new OperationProcessor(new OperationService(activeOperations, writer, handlerFactory), reader);
        }
        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> >();
        }
 public OperationDispatcher(ActiveOperationsManager activeOperations, IOperationWriter writer)
 {
     _activeOperations = activeOperations;
     _writer           = writer;
 }
Exemple #7
0
 public void SetupTest()
 {
     _activeOperations = new ActiveOperationsManager();
     _writer           = new InMemoryOperationWriter();
 }