public void DataTableTools_BuildPreparedDataTable_WithCustomDataTableSettings()
        {
            const long autoIncrementSeedTest = 21312;
            var        randomizer            = new BookRandomizer();

            var dtOps = new DataTableOperations();
            var books = randomizer.GetRandomCollection(30);

            var dt = dtOps.SetupDataTable <Book>()
                     .ForCollection(books)
                     .AddAllColumns()
                     .PrepareDataTable();

            dt.Columns[dtOps.GetColumn <Book>(x => x.Id)].AutoIncrementSeed = autoIncrementSeedTest;

            dt = dtOps.BuildPreparedDataTable();

            Assert.Equal(dt.Columns[dtOps.GetColumn <Book>(x => x.Id)].AutoIncrementSeed, autoIncrementSeedTest);
        }
        public void DataTableTools_BuildPreparedDataTable_AddsRows()
        {
            var rowCount   = 30;
            var randomizer = new BookRandomizer();

            var dtOps = new DataTableOperations();
            var books = randomizer.GetRandomCollection(rowCount);

            // ReSharper disable once RedundantAssignment
            var dt = dtOps.SetupDataTable <Book>()
                     .ForCollection(books)
                     .AddAllColumns()
                     .PrepareDataTable();

            dt = dtOps.BuildPreparedDataTable();

            Assert.Equal(rowCount, dt.Rows.Count);
            Assert.Equal(books[10].ISBN, dt.Rows[10].Field <string>(dtOps.GetColumn <Book>(x => x.ISBN)));
            Assert.Equal(books[10].Description, dt.Rows[10].Field <string>(dtOps.GetColumn <Book>(x => x.Description)));
        }