public async Task WhenMarkedServiceScansAttributes_ThenCorrectlyRegistered()
        {
            var service = new MockSubscriberStatelessServiceBase(MockStatelessServiceContextFactory.Default, new MockSubscriberServiceHelper());
            await service.InvokeOnOpenAsync(CancellationToken.None);

            Assert.AreEqual(1, service.Handlers.Count());
        }
        public async Task WhenMarkedServiceReceivesMessage_ThenCorrectOverloadMethodIsInvoked()
        {
            var service = new MockSubscriberStatelessServiceBase(MockStatelessServiceContextFactory.Default, new MockSubscriberServiceHelper());
            await service.InvokeOnOpenAsync(CancellationToken.None);

            await service.ReceiveMessageAsync(new MockMessageSpecialized { SomeValue = "SomeValue" }.CreateMessageWrapper());

            Assert.IsTrue(service.MethodCalled);
        }
        public async Task WhenMarkedServiceReceivesMessage_ThenCorrectOverloadMethodIsInvoked()
        {
            var service = new MockSubscriberStatelessServiceBase(MockStatelessServiceContextFactory.Default, new BrokerClient(new MockBrokerServiceLocator()));

            service.SetPartition(new MockStatelessServicePartition
            {
                PartitionInfo = new SingletonPartitionInformation()
            });
            await service.InvokeOnOpenAsync(CancellationToken.None);

            await service.ReceiveMessageAsync(new MockMessageSpecialized { SomeValue = "SomeValue" }.CreateMessageWrapper());

            Assert.IsTrue(service.MethodCalled);
        }