示例#1
0
        public async Task TestThat_ReadUserLocation_When_ParserAndProviderDoNotThrowException_Returns_NotNullLocation()
        {
            // Arrange
            var userLocationProviderMock = new Mock <IUserLocationProvider>();

            userLocationProviderMock
            .Setup(x => x.GetUserLocationCoordinates())
            .ReturnsAsync(MockObjects.ValidRawUserLocation1);

            var dataReader = new UserLocationDataReader(userLocationProviderMock.Object);

            // Act
            var location = await dataReader.ReadUserLocation();

            // Assert
            Assert.NotNull(location);
        }
示例#2
0
        public async Task TestThat_ReadUserLocation_When_ProviderThrowsDataProviderException_Throws_DataProviderExceptionWithExpectedMessage()
        {
            // Arrange
            var userLocationProviderMock = new Mock <IUserLocationProvider>();

            userLocationProviderMock
            .Setup(x => x.GetUserLocationCoordinates())
            .Throws(new DataProviderException(MockValues.UserLocationDataProviderExceptionMessage));

            var dataReader = new UserLocationDataReader(userLocationProviderMock.Object);

            // Act
            async Task Act() => await dataReader.ReadUserLocation();

            // Assert
            var exception = await Assert.ThrowsAsync <DataProviderException>(Act);

            Assert.Equal(MockValues.UserLocationDataProviderExceptionMessage, exception.Message);
        }
示例#3
0
        public async Task TestThat_ReadUserLocation_When_ParserAndProviderDoNotThrowException_Returns_LocationWithExpectedValues()
        {
            // Arrange
            var userLocationMock = MockObjects.UserLocation99;

            var userLocationProviderMock = new Mock <IUserLocationProvider>();

            userLocationProviderMock
            .Setup(x => x.GetUserLocationCoordinates())
            .ReturnsAsync(MockObjects.ValidRawUserLocation99);

            var dataReader = new UserLocationDataReader(userLocationProviderMock.Object);

            // Act
            var location = await dataReader.ReadUserLocation();

            // Assert
            Assert.Equal(userLocationMock.X, location.X);
            Assert.Equal(userLocationMock.Y, location.Y);
            Assert.Equal(userLocationMock.Tag, location.Tag);
        }
示例#4
0
        public async Task TestThat_ReadUserLocation_When_ProviderThrowsException_Throws_SameException()
        {
            // Arrange
            var mockException = MockObjects.GenericException;

            var userLocationProviderMock = new Mock <IUserLocationProvider>();

            userLocationProviderMock
            .Setup(x => x.GetUserLocationCoordinates())
            .Throws(mockException);

            var dataReader = new UserLocationDataReader(userLocationProviderMock.Object);

            // Act
            async Task Act() => await dataReader.ReadUserLocation();

            // Assert
            var exception = await Assert.ThrowsAnyAsync <Exception>(Act);

            Assert.Equal(mockException, exception);
        }