示例#1
0
        public void RegistrationMessageIsAcceptedAndItsCallbackInvoked()
        {
            var waitHandle = new AutoResetEvent(false);
            var callbackCalled = false;

            var msg = new RegisterMessage
            {
                ComponentType = ComponentType.TaskManager,
                ParallelThreads = 5,
                SolvableProblems = new List<string> {"dvrp"}
            };

            var rawMsg = _marshaller.Marshall(new Message[] {msg});

            ProcessedDataCallback c = response =>
            {
                callbackCalled = true;
                waitHandle.Set();
            };

            _processor.StartProcessing();
            _processor.EnqueueDataToProcess(rawMsg, null, c);

            waitHandle.WaitOne(5000);
            _processor.StopProcessing();

            Assert.IsTrue(callbackCalled);
        }
示例#2
0
        public void RegistrationMessageIsAcceptedAndRegisterResponseMessageIsPassedBack()
        {
            var waitHandle = new AutoResetEvent(false);

            var msg = new RegisterMessage
            {
                ParallelThreads = 5,
                SolvableProblems = new List<string> {"dvrp"},
                ComponentType = ComponentType.ComputationalNode
            };
            var rawMsg = _marshaller.Marshall(new Message[] {msg});

            Message outputMessage = null;
            ProcessedDataCallback c = response =>
            {
                outputMessage = _marshaller.Unmarshall(response)[0];
                waitHandle.Set();
            };

            _processor.StartProcessing();
            _processor.EnqueueDataToProcess(rawMsg, null, c);

            waitHandle.WaitOne(10000);
            _processor.StopProcessing();

            Assert.IsInstanceOfType(outputMessage, typeof (RegisterResponseMessage));
        }
示例#3
0
        public void RegisterMessageXmlIsProperlySerializedAndDeserialized()
        {
            var message = new RegisterMessage
            {
                ComponentType = ComponentType.ComputationalNode,
                Deregistration = true,
                Id = 5,
                ParallelThreads = 10,
                SolvableProblems = new List<string> {"Dvrp"}
            };

            var serializedMessage = _serializer.Serialize(message);
            var deserializedMessage = _serializer.Deserialize(serializedMessage);

            Assert.IsInstanceOfType(deserializedMessage, typeof (RegisterMessage));
        }