public void VerifyRemoteGreeting_not_matching_expected_NodeType()
        {
            using (var mem = new MemoryStream())
            using (var socket = new TestStreamSocket(mem))
            {
                var negotiator = new NodeGreetingMessageStreamSocketNegotiator(socket);

                var message = new NodeGreetingMessage(NodeType.Responder);
                mem.Write(message.Serialize(), 0, message.Serialize().Length);
                mem.Position = 0;

                Assert.Throws<RedFoxProtocolException>(() => negotiator.VerifyRemoteGreeting(new HashSet<NodeType> { NodeType.Requester }));
            }
        }
        public void VerifyRemoteGreeting_matching_expected_NodeType()
        {
            using (var mem = new MemoryStream())
            using (var socket = new TestStreamSocket(mem))
            {
                var negotiator = new NodeGreetingMessageStreamSocketNegotiator(socket);

                var message = new NodeGreetingMessage(NodeType.Responder);
                mem.Write(message.Serialize(), 0, message.Serialize().Length);
                mem.Position = 0;

                negotiator.VerifyRemoteGreeting(new HashSet<NodeType> { NodeType.Responder });
            }
        }
        public void VerifyRemoteGreeting_not_matching_expected_NodeType()
        {
            using (var mem = new MemoryStream())
                using (var socket = new TestStreamSocket(mem))
                {
                    var negotiator = new NodeGreetingMessageStreamSocketNegotiator(socket);

                    var message = new NodeGreetingMessage(NodeType.Responder);
                    mem.Write(message.Serialize(), 0, message.Serialize().Length);
                    mem.Position = 0;

                    Assert.Throws <RedFoxProtocolException>(() => negotiator.VerifyRemoteGreeting(new HashSet <NodeType> {
                        NodeType.Requester
                    }));
                }
        }
        public void VerifyRemoteGreeting_matching_expected_NodeType()
        {
            using (var mem = new MemoryStream())
                using (var socket = new TestStreamSocket(mem))
                {
                    var negotiator = new NodeGreetingMessageStreamSocketNegotiator(socket);

                    var message = new NodeGreetingMessage(NodeType.Responder);
                    mem.Write(message.Serialize(), 0, message.Serialize().Length);
                    mem.Position = 0;

                    negotiator.VerifyRemoteGreeting(new HashSet <NodeType> {
                        NodeType.Responder
                    });
                }
        }