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());
        }
Example #11
0
        /// <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);
        }
Example #12
0
        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());
        }