Пример #1
0
        public void TestGenerateDirectoryMessge()
        {
            var opAddresses  = new [] { "", "localhost:37371", "localhost:37373", "localhost:37375" };
            var appAddresses = new [] { "", "localhost:37372", "localhost:37374", "localhost:37376" };

            var nodeEntries = new List <Node>();

            nodeEntries.Add(new Node(
                                Id.Of(1),
                                new Name("node1"),
                                Address.From(opAddresses[1], AddressType.Op),
                                Address.From(appAddresses[1], AddressType.App)));
            nodeEntries.Add(new Node(
                                Id.Of(2),
                                new Name("node2"),
                                Address.From(opAddresses[2], AddressType.Op),
                                Address.From(appAddresses[2], AddressType.App)));
            nodeEntries.Add(new Node(
                                Id.Of(3),
                                new Name("node3"),
                                Address.From(opAddresses[3], AddressType.Op),
                                Address.From(appAddresses[3], AddressType.App)));
            var dir = new Directory(Id.Of(1), new Name("node1"), nodeEntries);

            MessageConverters.MessageToBytes(dir, _messageBuffer);
            var raw =
                OperationalMessage.DIR + "\n"
                + "id=1 nm=node1\n"
                + "id=1 nm=node1 op=" + opAddresses[1] + " app=" + appAddresses[1] + "\n"
                + "id=2 nm=node2 op=" + opAddresses[2] + " app=" + appAddresses[2] + "\n"
                + "id=3 nm=node3 op=" + opAddresses[3] + " app=" + appAddresses[3];

            _expectedBuffer.Write(Converters.TextToBytes(raw));
            Assert.Equal(_expectedBuffer.ToArray(), _messageBuffer.ToArray());

            Assert.Equal(dir, Directory.From(raw));
        }