public void TestThatDeleteRelationsThrowsArgumentNullExceptionIfDataProviderIsNull() { IMemberOfHouseholdProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.DeleteRelations(null)); TestHelper.AssertArgumentNullExceptionIsValid(result, "dataProvider"); }
public void TestThatMapDataThrowsArgumentNullExceptionIfDataProviderIsNull() { IMemberOfHouseholdProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.MapData(CreateMySqlDataReader(), null)); TestHelper.AssertArgumentNullExceptionIsValid(result, "dataProvider"); }
public void TestThatDeleteRelationsThrowsIntranetRepositoryExceptionWhenIdentifierIsNull() { IMemberOfHouseholdProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); Assert.That(sut.Identifier, Is.Null); Assert.That(sut.Identifier.HasValue, Is.False); IntranetRepositoryException result = Assert.Throws <IntranetRepositoryException>(() => sut.DeleteRelations(CreateFoodWasteDataProvider())); TestHelper.AssertIntranetRepositoryExceptionIsValid(result, ExceptionMessage.IllegalValue, sut.Identifier, "Identifier"); }
public void TestThatMapRelationsDoesNotCloneDataProvider() { IMemberOfHouseholdProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); IFoodWasteDataProvider dataProvider = CreateFoodWasteDataProvider(); sut.MapRelations(dataProvider); dataProvider.AssertWasNotCalled(m => m.Clone()); }
public void TestThatCreateDeleteCommandReturnsSqlCommandForDelete() { Guid identifier = Guid.NewGuid(); IMemberOfHouseholdProxy sut = CreateSut(identifier); Assert.That(sut, Is.Not.Null); new DbCommandTestBuilder("DELETE FROM MemberOfHouseholds WHERE MemberOfHouseholdIdentifier=@memberOfHouseholdIdentifier") .AddCharDataParameter("@memberOfHouseholdIdentifier", identifier) .Build() .Run(sut.CreateDeleteCommand()); }
public void TestThatUniqueIdGetterThrowsIntranetRepositoryExceptionWhenMemberOfHouseholdProxyHasNoIdentifier() { IMemberOfHouseholdProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); // ReSharper disable UnusedVariable IntranetRepositoryException result = Assert.Throws <IntranetRepositoryException>(() => { var uniqueId = sut.UniqueId; }); // ReSharper restore UnusedVariable TestHelper.AssertIntranetRepositoryExceptionIsValid(result, ExceptionMessage.IllegalValue, sut.Identifier, "Identifier"); }
public void TestThatUniqueIdGetterGetsUniqueIdentificationForMemberOfHouseholdProxy() { Guid identifier = Guid.NewGuid(); IMemberOfHouseholdProxy sut = CreateSut(identifier); Assert.That(sut, Is.Not.Null); string uniqueId = sut.UniqueId; Assert.That(uniqueId, Is.Not.Null); Assert.That(uniqueId, Is.Not.Empty); Assert.That(uniqueId, Is.EqualTo(identifier.ToString("D").ToUpper())); }
public void TestThatConstructorWithoutHouseholdMemberAndHouseholdInitializeMemberOfHouseholdProxy() { IMemberOfHouseholdProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); Assert.That(sut.Identifier, Is.Null); Assert.That(sut.Identifier.HasValue, Is.False); Assert.That(sut.HouseholdMember, Is.Null); Assert.That(sut.HouseholdMemberIdentifier, Is.Null); Assert.That(sut.HouseholdMemberIdentifier.HasValue, Is.False); Assert.That(sut.Household, Is.Null); Assert.That(sut.HouseholdIdentifier, Is.Null); Assert.That(sut.HouseholdIdentifier.HasValue, Is.False); Assert.That(sut.CreationTime, Is.EqualTo(DateTime.MinValue)); }
public void TestThatCreateGetCommandReturnsSqlCommand() { Guid identifier = Guid.NewGuid(); IMemberOfHouseholdProxy sut = CreateSut(identifier); Assert.That(sut, Is.Not.Null); // ReSharper disable StringLiteralTypo new DbCommandTestBuilder("SELECT moh.MemberOfHouseholdIdentifier,moh.HouseholdMemberIdentifier,hm.MailAddress AS HouseholdMemberMailAddress,hm.Membership AS HouseholdMemberMembership,hm.MembershipExpireTime AS HouseholdMemberMembershipExpireTime,hm.ActivationCode AS HouseholdMemberActivationCode,hm.ActivationTime AS HouseholdMemberActivationTime,hm.PrivacyPolicyAcceptedTime AS HouseholdMemberPrivacyPolicyAcceptedTime,hm.CreationTime AS HouseholdMemberCreationTime,moh.HouseholdIdentifier,h.Name AS HouseholdName,h.Descr AS HouseholdDescr,h.CreationTime AS HouseholdCreationTime,moh.CreationTime FROM MemberOfHouseholds AS moh INNER JOIN HouseholdMembers hm ON hm.HouseholdMemberIdentifier=moh.HouseholdMemberIdentifier INNER JOIN Households h ON h.HouseholdIdentifier=moh.HouseholdIdentifier WHERE moh.MemberOfHouseholdIdentifier=@memberOfHouseholdIdentifier") // ReSharper restore StringLiteralTypo .AddCharDataParameter("@memberOfHouseholdIdentifier", identifier) .Build() .Run(sut.CreateGetCommand()); }
public void TestThatCreateUpdateCommandReturnsSqlCommandForUpdate() { Guid identifier = Guid.NewGuid(); Guid householdMemberIdentifier = Guid.NewGuid(); HouseholdMemberProxy householdMemberProxy = BuildHouseholdMemberProxy(identifier: householdMemberIdentifier); Guid householdIdentifier = Guid.NewGuid(); HouseholdProxy householdProxy = BuildHouseholdProxy(identifier: householdIdentifier); DateTime creationTime = DateTime.Now; IMemberOfHouseholdProxy sut = CreateSut(identifier, householdMemberProxy, householdProxy, creationTime); Assert.That(sut, Is.Not.Null); new DbCommandTestBuilder("UPDATE MemberOfHouseholds SET HouseholdMemberIdentifier=@householdMemberIdentifier,HouseholdIdentifier=@householdIdentifier,CreationTime=@creationTime WHERE MemberOfHouseholdIdentifier=@memberOfHouseholdIdentifier") .AddCharDataParameter("@memberOfHouseholdIdentifier", identifier) .AddCharDataParameter("@householdMemberIdentifier", householdMemberIdentifier) .AddCharDataParameter("@householdIdentifier", householdIdentifier) .AddDateTimeDataParameter("@creationTime", creationTime.ToUniversalTime()) .Build() .Run(sut.CreateUpdateCommand()); }
public void TestThatCreateInsertCommandReturnsSqlCommandForInsert() { Guid identifier = Guid.NewGuid(); Guid householdMemberIdentifier = Guid.NewGuid(); HouseholdMemberProxy householdMemberProxy = BuildHouseholdMemberProxy(identifier: householdMemberIdentifier); Guid householdIdentifier = Guid.NewGuid(); HouseholdProxy householdProxy = BuildHouseholdProxy(identifier: householdIdentifier); DateTime creationTime = DateTime.Now; IMemberOfHouseholdProxy sut = CreateSut(identifier, householdMemberProxy, householdProxy, creationTime); Assert.That(sut, Is.Not.Null); new DbCommandTestBuilder("INSERT INTO MemberOfHouseholds (MemberOfHouseholdIdentifier,HouseholdMemberIdentifier,HouseholdIdentifier,CreationTime) VALUES(@memberOfHouseholdIdentifier,@householdMemberIdentifier,@householdIdentifier,@creationTime)") .AddCharDataParameter("@memberOfHouseholdIdentifier", identifier) .AddCharDataParameter("@householdMemberIdentifier", householdMemberIdentifier) .AddCharDataParameter("@householdIdentifier", householdIdentifier) .AddDateTimeDataParameter("@creationTime", creationTime.ToUniversalTime()) .Build() .Run(sut.CreateInsertCommand()); }
public void TestThatConstructorWithHouseholdMemberAndHouseholdInitializeMemberOfHouseholdProxy() { Guid identifier = Guid.NewGuid(); Guid householdMemberIdentifier = Guid.NewGuid(); HouseholdMemberProxy householdMemberProxy = BuildHouseholdMemberProxy(identifier: householdMemberIdentifier); Guid householdIdentifier = Guid.NewGuid(); HouseholdProxy householdProxy = BuildHouseholdProxy(identifier: householdIdentifier); DateTime creationTime = DateTime.Now; IMemberOfHouseholdProxy sut = CreateSut(identifier, householdMemberProxy, householdProxy, creationTime); Assert.That(sut, Is.Not.Null); Assert.That(sut.Identifier, Is.Not.Null); Assert.That(sut.Identifier, Is.EqualTo(identifier)); Assert.That(sut.HouseholdMember, Is.Not.Null); Assert.That(sut.HouseholdMember, Is.EqualTo(householdMemberProxy)); Assert.That(sut.HouseholdMemberIdentifier, Is.Not.Null); Assert.That(sut.HouseholdMemberIdentifier, Is.EqualTo(householdMemberIdentifier)); Assert.That(sut.Household, Is.Not.Null); Assert.That(sut.Household, Is.EqualTo(householdProxy)); Assert.That(sut.HouseholdIdentifier, Is.Not.Null); Assert.That(sut.HouseholdIdentifier, Is.EqualTo(householdIdentifier)); Assert.That(sut.CreationTime, Is.EqualTo(creationTime)); }
public void TestThatMapDataMapsDataIntoProxy() { IMemberOfHouseholdProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); Guid memberOfHouseholdIdentifier = Guid.NewGuid(); Guid householdMemberIdentifier = Guid.NewGuid(); Guid householdIdentifier = Guid.NewGuid(); DateTime creationTime = DateTime.Now; MySqlDataReader dataReader = CreateMySqlDataReader(memberOfHouseholdIdentifier, householdMemberIdentifier, householdIdentifier, creationTime); HouseholdMemberProxy householdMemberProxy = BuildHouseholdMemberProxy(identifier: householdMemberIdentifier); HouseholdProxy householdProxy = BuildHouseholdProxy(identifier: householdIdentifier); IFoodWasteDataProvider dataProvider = CreateFoodWasteDataProvider(householdMemberProxy, householdProxy); sut.MapData(dataReader, dataProvider); Assert.That(sut, Is.Not.Null); Assert.That(sut.Identifier, Is.Not.Null); Assert.That(sut.Identifier, Is.EqualTo(memberOfHouseholdIdentifier)); Assert.That(sut.HouseholdMember, Is.Not.Null); Assert.That(sut.HouseholdMember, Is.EqualTo(householdMemberProxy)); Assert.That(sut.HouseholdMemberIdentifier, Is.Not.Null); Assert.That(sut.HouseholdMemberIdentifier, Is.EqualTo(householdMemberIdentifier)); Assert.That(sut.Household, Is.Not.Null); Assert.That(sut.Household, Is.EqualTo(householdProxy)); Assert.That(sut.HouseholdIdentifier, Is.Not.Null); Assert.That(sut.HouseholdIdentifier, Is.EqualTo(householdIdentifier)); Assert.That(sut.CreationTime, Is.EqualTo(creationTime).Within(1).Milliseconds); dataReader.AssertWasCalled(m => m.GetString("MemberOfHouseholdIdentifier"), opt => opt.Repeat.Once()); dataReader.AssertWasCalled(m => m.GetMySqlDateTime("CreationTime"), opt => opt.Repeat.Once()); dataProvider.AssertWasNotCalled(m => m.Clone()); dataProvider.AssertWasCalled(m => m.Create( Arg <IHouseholdMemberProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Equal(dataReader), Arg <string[]> .Matches(e => e != null && e.Length == 8 && e[0] == "HouseholdMemberIdentifier" && e[1] == "HouseholdMemberMailAddress" && e[2] == "HouseholdMemberMembership" && e[3] == "HouseholdMemberMembershipExpireTime" && e[4] == "HouseholdMemberActivationCode" && e[5] == "HouseholdMemberActivationTime" && e[6] == "HouseholdMemberPrivacyPolicyAcceptedTime" && e[7] == "HouseholdMemberCreationTime")), opt => opt.Repeat.Once()); dataProvider.AssertWasCalled(m => m.Create( Arg <IHouseholdProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Equal(dataReader), Arg <string[]> .Matches(e => e != null && e.Length == 4 && e[0] == "HouseholdIdentifier" && e[1] == "HouseholdName" && // ReSharper disable StringLiteralTypo e[2] == "HouseholdDescr" && // ReSharper restore StringLiteralTypo e[3] == "HouseholdCreationTime")), opt => opt.Repeat.Once()); }