public void TestServerDisconnect()
        {
            var abonent = new Server.Abonent()
            {
                id     = 1,
                name   = "1",
                status = Server.Status.Online
            };

            var message = new Server.Message()
            {
                SenderId      = 1,
                RecipientId   = 2,
                TextOfMessage = "test"
            };

            List <Server.Message> messages = new List <Server.Message>();

            messages.Add(message);


            Dictionary <int, Server.Abonent> allAbonents = new Dictionary <int, Server.Abonent>();


            mockDataBase.Setup(r => r.AddAbonentToDb(1, "1"));
            mockDataBase.Setup(r => r.GetAbonentFromDb()).Returns(allAbonents);
            mockDataBase.Setup(r => r.AddMessageToDb(1, 2, "test"));
            mockDataBase.Setup(r => r.GetMessagesFromDb(2)).Returns(messages);

            mockLogger.Setup(r => r.Logging("test"));

            mockCallback.Setup(r => r.cbShowAbonent(abonent));
            mockCallback.Setup(r => r.cbSendMessage("1", "test"));

            mockOperationContext.Setup(r => r.GetChannelCallback(It.IsAny <OperationContext>())).Returns(mockCallback.Object);

            var server = new Server.Server(mockDataBase.Object, mockLogger.Object, mockOperationContext.Object);

            server.Connect("1");
            server.Connect("2");

            server.Disconnect(1);
            var links = server.GetLinks();

            Assert.AreEqual(links.Count, 2);
            Assert.AreEqual(links[1], null);
        }