public void When_Comparing_And_ComparisonItemIsNotFound_Should_ThrowInvalidOpException()
        {
            var repositoryMock = new Mock<IDataComparisonRepository>(MockBehavior.Strict);
            repositoryMock.Setup(x => x.Get()).Returns<DataComparisonItem>(null);
            var dataComparisonService = new DataComparisonService(repositoryMock.Object);

            Assert.Throws<InvalidOperationException>(() => dataComparisonService.Compare());
        }
        public void When_Comparing_Should_ReturnGetDataComparisonItem()
        {
            var expectedResult = new ComparisonResult(ComparisonState.Equal);
            var comparisonItemMock = new Mock<DataComparisonItem>(MockBehavior.Strict);
            comparisonItemMock.Setup(x => x.Compare()).Returns(expectedResult).Verifiable();

            var repositoryMock = new Mock<IDataComparisonRepository>(MockBehavior.Strict);
            repositoryMock.Setup(x => x.Get()).Returns(comparisonItemMock.Object).Verifiable();
            var dataComparisonService = new DataComparisonService(repositoryMock.Object);

            var result = dataComparisonService.Compare();

            Assert.Equal(expectedResult, result);
            comparisonItemMock.Verify();
            repositoryMock.Verify();
        }