コード例 #1
0
        public void TestThatMapDataMapsDataIntoProxy(bool withBodyTranslation)
        {
            foreach (StaticTextType staticTextTypeToTest in Enum.GetValues(typeof(StaticTextType)).Cast <StaticTextType>())
            {
                IStaticTextProxy sut = CreateSut();
                Assert.That(sut, Is.Not.Null);

                Guid            staticTextIdentifier         = Guid.NewGuid();
                Guid            subjectTranslationIdentifier = Guid.NewGuid();
                Guid?           bodyTranslationIdentifier    = withBodyTranslation ? Guid.NewGuid() : (Guid?)null;
                MySqlDataReader dataReader = CreateMySqlDataReader(staticTextIdentifier, staticTextTypeToTest, subjectTranslationIdentifier, bodyTranslationIdentifier);

                IFoodWasteDataProvider dataProvider = CreateFoodWasteDataProvider();

                sut.MapData(dataReader, dataProvider);

                Assert.That(sut.Identifier, Is.Not.Null);
                Assert.That(sut.Identifier, Is.EqualTo(staticTextIdentifier));
                Assert.That(sut.Type, Is.EqualTo(staticTextTypeToTest));
                Assert.That(sut.SubjectTranslationIdentifier, Is.EqualTo(subjectTranslationIdentifier));
                if (withBodyTranslation)
                {
                    Assert.That(sut.BodyTranslationIdentifier, Is.Not.Null);
                    Assert.That(sut.BodyTranslationIdentifier, Is.EqualTo(bodyTranslationIdentifier));
                }
                else
                {
                    Assert.That(sut.BodyTranslationIdentifier, Is.Null);
                }

                dataReader.AssertWasCalled(m => m.GetString("StaticTextIdentifier"), opt => opt.Repeat.Once());
                dataReader.AssertWasCalled(m => m.GetInt16("StaticTextType"), opt => opt.Repeat.Once());
                dataReader.AssertWasCalled(m => m.GetString("SubjectTranslationIdentifier"), opt => opt.Repeat.Once());
                dataReader.AssertWasCalled(m => m.GetOrdinal("BodyTranslationIdentifier"), opt => opt.Repeat.Once());
                dataReader.AssertWasCalled(m => m.IsDBNull(Arg <int> .Is.Equal(3)), opt => opt.Repeat.Once());
                if (withBodyTranslation)
                {
                    dataReader.AssertWasCalled(m => m.GetString("BodyTranslationIdentifier"), opt => opt.Repeat.Once());
                }
                else
                {
                    dataReader.AssertWasNotCalled(m => m.GetString("BodyTranslationIdentifier"));
                }

                dataProvider.AssertWasNotCalled(m => m.Clone());
            }
        }
コード例 #2
0
        public void TestThatMapDataThrowsArgumentNullExceptionIfDataProviderIsNull()
        {
            IStaticTextProxy sut = CreateSut();

            Assert.That(sut, Is.Not.Null);

            ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.MapData(CreateMySqlDataReader(), null));

            TestHelper.AssertArgumentNullExceptionIsValid(result, "dataProvider");
        }