Exemplo n.º 1
0
        public void TestThatDataGetForTargetTableThrowsArgumentNullExceptionIfDataSourceIsNull()
        {
            var fixture = new Fixture();

            var oldToNewDataRepository = new OldToNewDataRepository(RepositoryTestHelper.GetSourcePathForTest());

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

            Assert.Throws <ArgumentNullException>(() => oldToNewDataRepository.DataGetForTargetTable(fixture.CreateAnonymous <string>(), null));
        }
Exemplo n.º 2
0
        public void TestThatDataGetForTargetTableThrowsArgumentNullExceptionIfTargetTableNameIsEmpty()
        {
            var fixture = new Fixture();

            fixture.Customize <IDataSource>(e => e.FromFactory(() => MockRepository.GenerateMock <IDataSource>()));

            var oldToNewDataRepository = new OldToNewDataRepository(RepositoryTestHelper.GetSourcePathForTest());

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

            Assert.Throws <ArgumentNullException>(() => oldToNewDataRepository.DataGetForTargetTable(string.Empty, fixture.CreateAnonymous <IDataSource>()));
        }
Exemplo n.º 3
0
        public void TestThatDataGetForTargetTableGetDataFromOneOrMoreSourceTables()
        {
            var fixture = new Fixture();

            var fieldCollectionMock = new ObservableCollection <IField>();

            var fieldMock = MockRepository.GenerateMock <IField>();

            fieldMock.Expect(m => m.NameSource)
            .Return("SagsbehandlerID")
            .Repeat.Any();
            fieldMock.Expect(m => m.DatatypeOfSource)
            .Return(typeof(int?))
            .Repeat.Any();
            fieldMock.Expect(m => m.DatatypeOfTarget)
            .Return(typeof(int?))
            .Repeat.Any();
            fieldMock.Expect(m => m.LengthOfSource)
            .Return(4)
            .Repeat.Any();
            fieldMock.Expect(m => m.Nullable)
            .Return(false)
            .Repeat.Any();
            fieldCollectionMock.Add(fieldMock);

            fieldMock = MockRepository.GenerateMock <IField>();
            fieldMock.Expect(m => m.NameSource)
            .Return("Navn")
            .Repeat.Any();
            fieldMock.Expect(m => m.DatatypeOfSource)
            .Return(typeof(string))
            .Repeat.Any();
            fieldMock.Expect(m => m.DatatypeOfTarget)
            .Return(typeof(string))
            .Repeat.Any();
            fieldMock.Expect(m => m.LengthOfSource)
            .Return(25)
            .Repeat.Any();
            fieldMock.Expect(m => m.Nullable)
            .Return(true)
            .Repeat.Any();
            fieldCollectionMock.Add(fieldMock);

            fieldMock = MockRepository.GenerateMock <IField>();
            fieldMock.Expect(m => m.NameSource)
            .Return("Initialer")
            .Repeat.Any();
            fieldMock.Expect(m => m.DatatypeOfSource)
            .Return(typeof(string))
            .Repeat.Any();
            fieldMock.Expect(m => m.DatatypeOfTarget)
            .Return(typeof(string))
            .Repeat.Any();
            fieldMock.Expect(m => m.LengthOfSource)
            .Return(4)
            .Repeat.Any();
            fieldMock.Expect(m => m.Nullable)
            .Return(true)
            .Repeat.Any();
            fieldCollectionMock.Add(fieldMock);

            fieldMock = MockRepository.GenerateMock <IField>();
            fieldMock.Expect(m => m.NameSource)
            .Return("Kontor")
            .Repeat.Any();
            fieldMock.Expect(m => m.DatatypeOfSource)
            .Return(typeof(int?))
            .Repeat.Any();
            fieldMock.Expect(m => m.DatatypeOfTarget)
            .Return(typeof(int?))
            .Repeat.Any();
            fieldMock.Expect(m => m.LengthOfSource)
            .Return(2)
            .Repeat.Any();
            fieldMock.Expect(m => m.Nullable)
            .Return(true)
            .Repeat.Any();
            fieldCollectionMock.Add(fieldMock);

            fieldMock = MockRepository.GenerateMock <IField>();
            fieldMock.Expect(m => m.NameSource)
            .Return("Tlf")
            .Repeat.Any();
            fieldMock.Expect(m => m.DatatypeOfSource)
            .Return(typeof(string))
            .Repeat.Any();
            fieldMock.Expect(m => m.DatatypeOfTarget)
            .Return(typeof(string))
            .Repeat.Any();
            fieldMock.Expect(m => m.LengthOfSource)
            .Return(10)
            .Repeat.Any();
            fieldMock.Expect(m => m.Nullable)
            .Return(true)
            .Repeat.Any();
            fieldCollectionMock.Add(fieldMock);

            fieldMock = MockRepository.GenerateMock <IField>();
            fieldMock.Expect(m => m.NameSource)
            .Return("Epost")
            .Repeat.Any();
            fieldMock.Expect(m => m.DatatypeOfSource)
            .Return(typeof(string))
            .Repeat.Any();
            fieldMock.Expect(m => m.DatatypeOfTarget)
            .Return(typeof(string))
            .Repeat.Any();
            fieldMock.Expect(m => m.LengthOfSource)
            .Return(40)
            .Repeat.Any();
            fieldMock.Expect(m => m.Nullable)
            .Return(true)
            .Repeat.Any();
            fieldCollectionMock.Add(fieldMock);

            var mergedTableName = fixture.CreateAnonymous <string>();

            var firstTableMock = MockRepository.GenerateMock <ITable>();

            firstTableMock.Expect(m => m.NameTarget)
            .Return(mergedTableName)
            .Repeat.Any();
            firstTableMock.Expect(m => m.NameSource)
            .Return("SAGSBEH")
            .Repeat.Any();
            firstTableMock.Expect(m => m.Fields)
            .Return(new ReadOnlyObservableCollection <IField>(fieldCollectionMock))
            .Repeat.Any();

            var secondTableMock = MockRepository.GenerateMock <ITable>();

            secondTableMock.Expect(m => m.NameTarget)
            .Return(mergedTableName)
            .Repeat.Any();
            secondTableMock.Expect(m => m.NameSource)
            .Return("SAGSBEH")
            .Repeat.Any();
            secondTableMock.Expect(m => m.Fields)
            .Return(new ReadOnlyObservableCollection <IField>(fieldCollectionMock))
            .Repeat.Any();

            var dataSourceMock = MockRepository.GenerateMock <IDataSource>();

            dataSourceMock.Expect(m => m.Tables)
            .Return(new ReadOnlyObservableCollection <ITable>(new ObservableCollection <ITable>(new List <ITable> {
                firstTableMock, secondTableMock
            })))
            .Repeat.Any();
            fixture.Customize <IDataSource>(e => e.FromFactory(() => dataSourceMock));

            var oldToNewDataRepository = new OldToNewDataRepository(RepositoryTestHelper.GetSourcePathForTest());

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

            var eventCalled = 0;

            oldToNewDataRepository.OnHandleData += (s, e) =>
            {
                Assert.That(s, Is.Not.Null);
                Assert.That(e, Is.Not.Null);
                Assert.That(e.Data, Is.Not.Null);
                Assert.That(e.Data, Is.Not.Empty);
                Assert.That(e.Data.Count(), Is.EqualTo(7));
                Assert.That(e.EndOfData, Is.True);
                eventCalled++;
            };
            oldToNewDataRepository.DataGetForTargetTable(mergedTableName, fixture.CreateAnonymous <IDataSource>());

            Assert.That(eventCalled, Is.EqualTo(2));
        }