public void TestDeleteClient()
        {
            foreach (var dataService in DataServices)
            {
                // Arrange.
                const string client1Id      = "FDF33DF1-5DCA-41F9-A2E4-3B5C7E103452";
                const string client2Id      = "31D12F7D-2D0E-43FB-8092-E6D34A9AB87D";
                const string messageType1Id = "EB6EC229-5E93-4B76-9993-5A1589787421";
                const string messageType2Id = "C8802C67-AC1B-497C-A707-5FF4191E0083";
                const string messageType3Id = "BC3F54C6-4E2F-43DA-B124-A0771F8F200C";
                var          service        = new DefaultSubscriptionsManager(dataService, GetMockStatisticsService());
                var          clientLcs      = LoadingCustomizationStruct.GetSimpleStruct(typeof(Client), Client.Views.ListView);
                var          messageLcs     = LoadingCustomizationStruct.GetSimpleStruct(typeof(Message), Message.Views.MessageLightView);
                service.CreateClient(client1Id, "TestClient1");
                service.CreateClient(client2Id, "TestClient2");
                service.CreateMessageType(new ServiceBusMessageType
                {
                    ID          = messageType1Id,
                    Name        = "TestMessageType1",
                    Description = "ForTest"
                });
                service.CreateMessageType(new ServiceBusMessageType
                {
                    ID          = messageType2Id,
                    Name        = "TestMessageType2",
                    Description = "ForTest"
                });
                service.CreateMessageType(new ServiceBusMessageType
                {
                    ID          = messageType3Id,
                    Name        = "TestMessageType3",
                    Description = "ForTest"
                });
                service.Prepare();
                service.SubscribeOrUpdate(client1Id, messageType1Id, true, TransportType.WCF);
                service.SubscribeOrUpdate(client1Id, messageType3Id, true, TransportType.WCF);
                service.SubscribeOrUpdate(client1Id, messageType2Id, true, TransportType.WCF);
                service.SubscribeOrUpdate(client2Id, messageType2Id, true, TransportType.WCF);
                Guid client1Pk      = ServiceHelper.ConvertClientIdToPrimaryKey(client1Id, dataService, GetMockStatisticsService());
                Guid messageType1Pk = ServiceHelper.ConvertMessageTypeIdToPrimaryKey(messageType1Id, dataService, GetMockStatisticsService());
                var  client         = new Client();
                client.SetExistObjectPrimaryKey(client1Pk);
                var messageType = new MessageType();
                messageType.SetExistObjectPrimaryKey(messageType1Pk);
                DataObject message = new Message()
                {
                    Recipient = client, MessageType = messageType, ReceivingTime = DateTime.Now
                };
                dataService.UpdateObject(message);

                // Act && Assert.
                var clients = dataService.LoadObjects(clientLcs);
                Assert.Equal(clients.Length, 2);
                var messages = dataService.LoadObjects(messageLcs);
                Assert.Equal(messages.Length, 1);
                var subs = service.GetSubscriptions(false);
                Assert.Equal(subs.Count(), 4);

                service.DeleteClient(client1Id);
                clients = dataService.LoadObjects(clientLcs);
                Assert.Equal(clients.Length, 1);
                Assert.True(clients.Cast <Client>().All(cl => Guid.Parse(cl.ID) == Guid.Parse(client2Id) || Guid.Parse(cl.__PrimaryKey.ToString()) == Guid.Parse(client2Id)));
                messages = dataService.LoadObjects(messageLcs);
                Assert.Equal(messages.Length, 0);
                subs = service.GetSubscriptions(false);
                Assert.Equal(subs.Count(), 1);
                Assert.True(subs.All(sub => Guid.Parse(sub.Client.ID) == Guid.Parse(client2Id) || Guid.Parse(sub.Client.__PrimaryKey.ToString()) == Guid.Parse(client2Id)));
                Assert.True(subs.All(sub => Guid.Parse(sub.MessageType.ID) == Guid.Parse(messageType2Id) || Guid.Parse(sub.MessageType.__PrimaryKey.ToString()) == Guid.Parse(messageType2Id)));
            }
        }