public async Task Publish_DataPassedToRedisPublisher(
            [Frozen] ISubscriber subscriber,
            string topic,
            byte[] message,
            RedisRawMessagePublisher sut)
        {
            await sut.Publish(topic, message, None);

            await subscriber.Received(1).PublishAsync(topic, message);
        }
        public async Task Publish_NullTopic_ThrowsArgumentNull(RedisRawMessagePublisher sut, byte[] message)
        {
            var ex = await Assert.ThrowsAsync <ArgumentNullException>(() => sut.Publish(null, message, None));

            Assert.Equal("topic", ex.ParamName);
        }
        public async Task Publish_NullMessage_ThrowsArgumentNull(RedisRawMessagePublisher sut, string topic)
        {
            var ex = await Assert.ThrowsAsync <ArgumentNullException>(() => sut.Publish(topic, null, None));

            Assert.Equal("message", ex.ParamName);
        }