public void GetData_ShouldExpectedBeEqualToActual()
        {
            // Setup
            IEntityDataLoader <TestModel>           entityDataLoader   = new TestModelDataLoader();
            IReadOnlyCollection <ColumnDescription> columnsDescription = BuildTestModelTableDescription().Columns;

            var sut = new EntityObjectDataLoaderWrapper(entityDataLoader, columnsDescription);

            var expected = entityDataLoader.GetData().ToArray();

            // Exercise
            var actual = sut.GetData().ToArray();

            // Verify outcome
            AssertEqual(expected, actual);
        }
        public void GetData_TargetTypeNotContainsColumnDescription_ShouldThrowMissingPropertyException()
        {
            // Setup
            IEntityDataLoader <TestModel> entityDataLoader = new TestModelDataLoader();
            var expected = BuildTestModelTableDescriptionWithNonExistentColumn().Columns;
            IReadOnlyCollection <ColumnDescription> columnsDescription = expected;

            var sut = new EntityObjectDataLoaderWrapper(entityDataLoader, columnsDescription);

            // Exercise
            Action act = () => sut.GetData().ToArray();

            // Verify outcome
            var ex     = Assert.Throws <Bardock.UnitTesting.Data.EF.Effort.DataLoaders.EntityObjectDataLoaderWrapper.MissingPropertyException>(act);
            var actual = ex.ColumnsDescription;

            Assert.Equal(expected, actual);
        }
        public void GetData_ShouldExpectedBeEqualToActual()
        {
            // Setup
            IEntityDataLoader<TestModel> entityDataLoader = new TestModelDataLoader();
            IReadOnlyCollection<ColumnDescription> columnsDescription = BuildTestModelTableDescription().Columns;

            var sut = new EntityObjectDataLoaderWrapper(entityDataLoader, columnsDescription);

            var expected = entityDataLoader.GetData().ToArray();

            // Exercise
            var actual = sut.GetData().ToArray();

            // Verify outcome
            AssertEqual(expected, actual);
        }
        public void GetData_TargetTypeNotContainsColumnDescription_ShouldThrowMissingPropertyException()
        {
            // Setup
            IEntityDataLoader<TestModel> entityDataLoader = new TestModelDataLoader();
            var expected = BuildTestModelTableDescriptionWithNonExistentColumn().Columns;
            IReadOnlyCollection<ColumnDescription> columnsDescription = expected;

            var sut = new EntityObjectDataLoaderWrapper(entityDataLoader, columnsDescription);

            // Exercise
            Action act = () => sut.GetData().ToArray();

            // Verify outcome
            var ex = Assert.Throws<Bardock.UnitTesting.Data.EF.Effort.DataLoaders.EntityObjectDataLoaderWrapper.MissingPropertyException>(act);
            var actual = ex.ColumnsDescription;
            Assert.Equal(expected, actual);
        }