public void TestThatMapDataMapsDataIntoProxy() { ITranslationProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); Guid identifier = Guid.NewGuid(); Guid translationOfIdentifier = Guid.NewGuid(); string value = _fixture.Create <string>(); MySqlDataReader dataReader = CreateMySqlDataReader(identifier, translationOfIdentifier, value); ITranslationInfoProxy translationInfoProxy = BuildTranslationInfoProxy(Guid.NewGuid()); IFoodWasteDataProvider dataProvider = CreateFoodWasteDataProvider(translationInfoProxy); sut.MapData(dataReader, dataProvider); Assert.That(sut.Identifier, Is.Not.Null); Assert.That(sut.Identifier, Is.EqualTo(identifier)); Assert.That(sut.TranslationOfIdentifier, Is.EqualTo(translationOfIdentifier)); Assert.That(sut.TranslationInfo, Is.Not.Null); Assert.That(sut.TranslationInfo, Is.EqualTo(translationInfoProxy)); Assert.That(sut.Value, Is.Not.Null); Assert.That(sut.Value, Is.Not.Empty); Assert.That(sut.Value, Is.EqualTo(value)); dataReader.AssertWasCalled(m => m.GetString("TranslationIdentifier"), opt => opt.Repeat.Once()); dataReader.AssertWasCalled(m => m.GetString("OfIdentifier"), opt => opt.Repeat.Once()); dataReader.AssertWasCalled(m => m.GetString("Value"), opt => opt.Repeat.Once()); dataProvider.AssertWasCalled(m => m.Create( Arg <ITranslationInfoProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Equal(dataReader), Arg <string[]> .Matches(e => e != null && e.Length == 2 && e[0] == "InfoIdentifier" && e[1] == "CultureName")), opt => opt.Repeat.Once()); }
public void TestThatMapDataThrowsArgumentNullExceptionIfDataReaderIsNull() { ITranslationProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.MapData(null, CreateFoodWasteDataProvider())); TestHelper.AssertArgumentNullExceptionIsValid(result, "dataReader"); }