public void TestAtMapDataKasterArgumentNullExceptionHvisDataProviderErNull() { IBrugerProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.MapData(CreateMySqlDataReader(), null)); TestHelper.AssertArgumentNullExceptionIsValid(result, "dataProvider"); }
public void TestThatCreateThrowsArgumentNullExceptionWhenColumnNameCollectionIsNull() { IBrugerProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.Create(CreateMySqlDataReader(), CreateMySqlDataProvider(), null)); TestHelper.AssertArgumentNullExceptionIsValid(result, "columnNameCollection"); }
public void TestThatCreateThrowsArgumentNullExceptionWhenDataProviderIsNull() { IBrugerProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.Create(CreateMySqlDataReader(), null, "SystemNo", "Title", "Properties")); TestHelper.AssertArgumentNullExceptionIsValid(result, "dataProvider"); }
public void TestAtUniqueIdReturnererIdentifikation() { int systemNo = _fixture.Create <int>(); int userId = _fixture.Create <int>(); IBrugerProxy sut = CreateSut(systemNo, userId); 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($"{Convert.ToString(systemNo)}-{Convert.ToString(userId)}")); }
public void TestAtCreateDeleteCommandForDeleteReturnererSqlCommand() { int systemNo = _fixture.Create <int>(); int userId = _fixture.Create <int>(); IBrugerProxy sut = CreateSut(systemNo, userId); Assert.That(sut, Is.Not.Null); new DbCommandTestBuilder("DELETE FROM Calusers WHERE SystemNo=@systemNo AND UserId=@userId") .AddSmallIntDataParameter("@systemNo", systemNo, 2) .AddIntDataParameter("@userId", userId, 8) .Build() .Run(sut.CreateDeleteCommand()); }
public void TestAtCreateGetCommandReturnererSqlCommand() { int systemNo = _fixture.Create <int>(); int userId = _fixture.Create <int>(); IBrugerProxy sut = CreateSut(systemNo, userId); Assert.That(sut, Is.Not.Null); new DbCommandTestBuilder("SELECT cu.SystemNo,cu.UserId,cu.UserName,cu.Name,cu.Initials,s.Title,s.Properties FROM Calusers AS cu INNER JOIN Systems AS s ON s.SystemNo=cu.SystemNo WHERE cu.SystemNo=@systemNo AND cu.UserId=@userId") .AddSmallIntDataParameter("@systemNo", systemNo, 2) .AddIntDataParameter("@userId", userId, 8) .Build() .Run(sut.CreateGetCommand()); }
public void TestAtConstructorInitiererBrugerProxy() { IBrugerProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); Assert.That(sut.System, Is.Not.Null); Assert.That(sut.System.Nummer, Is.EqualTo(0)); Assert.That(sut.Id, Is.EqualTo(0)); Assert.That(sut.UserName, Is.Null); Assert.That(sut.Navn, Is.Not.Null); Assert.That(sut.Navn, Is.Not.Empty); Assert.That(sut.Navn, Is.EqualTo(typeof(Bruger).Name)); Assert.That(sut.Initialer, Is.Not.Null); Assert.That(sut.Initialer, Is.Not.Empty); Assert.That(sut.Initialer, Is.EqualTo(typeof(Bruger).Name)); }
public void TestAtCreateUpdateCommandReturnererSqlCommand(bool hasUserName) { int systemNo = _fixture.Create <int>(); int userId = _fixture.Create <int>(); string userName = hasUserName ? _fixture.Create <string>() : null; string name = _fixture.Create <string>(); string initials = _fixture.Create <string>(); IBrugerProxy sut = CreateSut(systemNo, userId, userName, name, initials); Assert.That(sut, Is.Not.Null); new DbCommandTestBuilder("UPDATE Calusers SET UserName=@userName,Name=@name,Initials=@initials WHERE SystemNo=@systemNo AND UserId=@userId") .AddSmallIntDataParameter("@systemNo", systemNo, 2) .AddIntDataParameter("@userId", userId, 8) .AddVarCharDataParameter("@userName", userName, 16, true) .AddVarCharDataParameter("@name", name, 40) .AddVarCharDataParameter("@initials", initials, 8) .Build() .Run(sut.CreateUpdateCommand()); }
public void TestAtCreateInsertCommandReturnererSqlCommand(bool hasUserName) { int systemNo = _fixture.Create <int>(); int userId = _fixture.Create <int>(); string userName = hasUserName ? _fixture.Create <string>() : null; string name = _fixture.Create <string>(); string initials = _fixture.Create <string>(); IBrugerProxy sut = CreateSut(systemNo, userId, userName, name, initials); Assert.That(sut, Is.Not.Null); new DbCommandTestBuilder("INSERT INTO Calusers (SystemNo,UserId,UserName,Name,Initials) VALUES(@systemNo,@userId,@userName,@name,@initials)") .AddSmallIntDataParameter("@systemNo", systemNo, 2) .AddIntDataParameter("@userId", userId, 8) .AddVarCharDataParameter("@userName", userName, 16, true) .AddVarCharDataParameter("@name", name, 40) .AddVarCharDataParameter("@initials", initials, 8) .Build() .Run(sut.CreateInsertCommand()); }
public void TestThatCreateCreatesCalenderUserProxy(bool hasUserName) { IBrugerProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); int systemNo = _fixture.Create <int>(); int userId = _fixture.Create <int>(); string userName = hasUserName ? _fixture.Create <string>() : null; string name = _fixture.Create <string>(); string initials = _fixture.Create <string>(); MySqlDataReader dataReader = CreateMySqlDataReader(systemNo, userId, userName, name, initials); ISystemProxy systemProxy = MockRepository.GenerateMock <ISystemProxy>(); IMySqlDataProvider dataProvider = CreateMySqlDataProvider(systemProxy); IBrugerProxy result = sut.Create(dataReader, dataProvider, "UserId", "Initials", "Name", "UserName", "SystemNo", "Title", "Properties"); Assert.That(result, Is.Not.Null); Assert.That(result.System, Is.Not.Null); Assert.That(result.System, Is.EqualTo(systemProxy)); Assert.That(result.Id, Is.EqualTo(userId)); if (hasUserName) { Assert.That(result.UserName, Is.Not.Null); Assert.That(result.UserName, Is.Not.Empty); Assert.That(result.UserName, Is.EqualTo(userName)); } else { Assert.That(result.UserName, Is.Null); } Assert.That(result.Navn, Is.Not.Null); Assert.That(result.Navn, Is.Not.Empty); Assert.That(result.Navn, Is.EqualTo(name)); Assert.That(result.Initialer, Is.Not.Null); Assert.That(result.Initialer, Is.Not.Empty); Assert.That(result.Initialer, Is.EqualTo(initials)); dataReader.AssertWasCalled(m => m.GetInt32(Arg <string> .Is.Equal("UserId")), opt => opt.Repeat.Once()); dataReader.AssertWasCalled(m => m.GetOrdinal(Arg <string> .Is.Equal("UserName")), opt => opt.Repeat.Once()); dataReader.AssertWasCalled(m => m.IsDBNull(Arg <int> .Is.Equal(2)), opt => opt.Repeat.Once()); if (hasUserName) { dataReader.AssertWasCalled(m => m.GetString(Arg <string> .Is.Equal("UserName")), opt => opt.Repeat.Once()); } else { dataReader.AssertWasNotCalled(m => m.GetString(Arg <string> .Is.Equal("UserName"))); } dataReader.AssertWasCalled(m => m.GetString(Arg <string> .Is.Equal("Name")), opt => opt.Repeat.Once()); dataReader.AssertWasCalled(m => m.GetString(Arg <string> .Is.Equal("Initials")), opt => opt.Repeat.Once()); dataProvider.AssertWasCalled(m => m.Create( Arg <ISystemProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Equal(dataReader), Arg <string[]> .Matches(e => e != null && e.Length == 3 && e[0] == "SystemNo" && e[1] == "Title" && e[2] == "Properties")), opt => opt.Repeat.Once()); }
/// <summary> /// Creates a mockup for the data provider which uses MySQL. /// </summary> /// <returns>Mockup for the data provider which uses MySQL.</returns> private IMySqlDataProvider CreateMySqlDataProvider(ISystemProxy systemProxy = null, IAftaleProxy appointmentProxy = null, IBrugerProxy calenderUserProxy = null) { IMySqlDataProvider dataProviderMock = MockRepository.GenerateMock <IMySqlDataProvider>(); dataProviderMock.Stub(m => m.Create(Arg <ISystemProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Anything, Arg <string[]> .Is.Anything)) .Return(systemProxy ?? MockRepository.GenerateMock <ISystemProxy>()) .Repeat.Any(); dataProviderMock.Stub(m => m.Create(Arg <IAftaleProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Anything, Arg <string[]> .Is.Anything)) .Return(appointmentProxy ?? MockRepository.GenerateMock <IAftaleProxy>()) .Repeat.Any(); dataProviderMock.Stub(m => m.Create(Arg <IBrugerProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Anything, Arg <string[]> .Is.Anything)) .Return(calenderUserProxy ?? MockRepository.GenerateMock <IBrugerProxy>()) .Repeat.Any(); return(dataProviderMock); }
public void TestAtMapDataMapperBrugeraftaleProxy(bool hasProperties) { IBrugeraftaleProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); int systemNo = _fixture.Create <int>(); int calId = _fixture.Create <int>(); int userId = _fixture.Create <int>(); int? properties = hasProperties ? _fixture.Create <int>() : (int?)null; MySqlDataReader dataReader = CreateMySqlDataReader(systemNo, calId, userId, properties); ISystemProxy systemProxy = MockRepository.GenerateMock <ISystemProxy>(); IAftaleProxy appointmentProxy = MockRepository.GenerateMock <IAftaleProxy>(); IBrugerProxy calenderUserProxy = MockRepository.GenerateMock <IBrugerProxy>(); IMySqlDataProvider dataProvider = CreateMySqlDataProvider(systemProxy, appointmentProxy, calenderUserProxy); sut.MapData(dataReader, dataProvider); Assert.That(sut.System, Is.Not.Null); Assert.That(sut.System, Is.EqualTo(systemProxy)); Assert.That(sut.Aftale, Is.Not.Null); Assert.That(sut.Aftale, Is.EqualTo(appointmentProxy)); Assert.That(sut.Bruger, Is.Not.Null); Assert.That(sut.Bruger, Is.EqualTo(calenderUserProxy)); if (hasProperties) { Assert.That(sut.Properties, Is.EqualTo(properties)); } else { Assert.That(sut.Properties, Is.EqualTo(0)); } dataReader.AssertWasCalled(m => m.GetOrdinal(Arg <string> .Is.Equal("Properties")), opt => opt.Repeat.Once()); dataReader.AssertWasCalled(m => m.IsDBNull(Arg <int> .Is.Equal(3)), opt => opt.Repeat.Once()); if (hasProperties) { dataReader.AssertWasCalled(m => m.GetInt32(Arg <string> .Is.Equal("Properties")), opt => opt.Repeat.Once()); } else { dataReader.AssertWasNotCalled(m => m.GetInt32(Arg <string> .Is.Equal("Properties"))); } dataProvider.AssertWasCalled(m => m.Create( Arg <ISystemProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Equal(dataReader), Arg <string[]> .Matches(e => e != null && e.Length == 3 && e[0] == "SystemNo" && e[1] == "SystemTitle" && e[2] == "SystemProperties")), opt => opt.Repeat.Once()); dataProvider.AssertWasCalled(m => m.Create( Arg <IAftaleProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Equal(dataReader), Arg <string[]> .Matches(e => e != null && e.Length == 10 && e[0] == "CalId" && e[1] == "Date" && e[2] == "FromTime" && e[3] == "ToTime" && e[4] == "AppointmentProperties" && e[5] == "Subject" && e[6] == "Note" && e[7] == "SystemNo" && e[8] == "SystemTitle" && e[9] == "SystemProperties")), opt => opt.Repeat.Once()); dataProvider.AssertWasCalled(m => m.Create( Arg <IBrugerProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Equal(dataReader), Arg <string[]> .Matches(e => e != null && e.Length == 7 && e[0] == "UserId" && e[1] == "UserInitials" && e[2] == "UserFullname" && e[3] == "UserName" && e[4] == "SystemNo" && e[5] == "SystemTitle" && e[6] == "SystemProperties")), opt => opt.Repeat.Once()); }