public void Distance_MeasureDistance(string input, string data, double distance)
        {
            // arrange
            ISpellCheckerService service = CreateSpellCheckerService(
                out Mock <IDataSource> mockDataSource);

            // Act
            double actual = service.Distance(input, data);

            // Assert
            Assert.Equal(distance, actual);
            mockDataSource.Verify(x => x.ExistsAsync(It.IsAny <string>()), Times.Never);
            mockDataSource.Verify(x => x.GetAllAsync(), Times.Never);
        }
        public void Distance_IDataSource_IsNull_ExpectException()
        {
            // Arrange
            ISpellCheckerService service = CreateSpellCheckerService(
                out Mock <IDataSource> mockDataSource);

            service._dataSource = null;

            // Act
            // Assert
            Assert.Throws <InvalidOperationException>(() =>
            {
                service.Distance(It.IsAny <string>(), It.IsAny <string>());
            });
        }