public void AssingWithConsumerFailsOnNullConsumer()
        {
            // Arrange
            var topicName = new TopicName("Test");
            var offsets   = new WatermarkOffsets(new Offset(1), new Offset(2));
            var partition = new Partition(1);
            var pw        = new PartitionWatermark(topicName, offsets, partition);
            IConsumer <object, object> consumer = null !;

            // Act
            var exception = Record.Exception(() => pw.AssingWithConsumer(consumer));

            // Assert
            exception.Should().NotBeNull().And.BeOfType <ArgumentNullException>();
        }
        public void PartitionWatermarkCouldBeAssingToConsumer()
        {
            // Arrange
            var topicName = new TopicName("Test");
            var offsets   = new WatermarkOffsets(new Offset(1), new Offset(2));
            var partition = new Partition(1);
            var pw        = new PartitionWatermark(topicName, offsets, partition);

            var consumerMock = new Mock <IConsumer <object, object> >();
            var consumer     = consumerMock.Object;

            // Act
            var exception = Record.Exception(() => pw.AssingWithConsumer(consumer));

            // Assert
            exception.Should().BeNull();
            consumerMock.Verify(x => x.Assign(It.Is <TopicPartition>(a => a.Topic == topicName.Value && a.Partition == partition)), Times.Once);
        }