public void CachingDataLoader_Recreate()
        {
            CsvDataLoader wrapped = new CsvDataLoader("C:\\path");

            // Create a caching data loader
            CachingDataLoader original = new CachingDataLoader(wrapped);

            // Clone the caching data loader
            CachingDataLoader recreated = new CachingDataLoader();

            ((IDataLoader)recreated).Argument = ((IDataLoader)original).Argument;

            // It should be exactly the same as the original
            Assert.AreEqual(
                original.WrappedDataLoader.GetType(),
                recreated.WrappedDataLoader.GetType());

            recreated.WrappedDataLoader.Should().BeOfType <CsvDataLoader>();

            // The wrapped data loader should be restored completely too
            CsvDataLoader recreatedWrapped = recreated.WrappedDataLoader as CsvDataLoader;

            Assert.IsNotNull(recreatedWrapped);
            Assert.AreEqual(wrapped.ContainerFolderPath, recreatedWrapped.ContainerFolderPath);
        }
        protected static DbConnection CreateConnection(string path = null)
        {
            var dataLoader    = new CsvDataLoader(path ?? DefaultTestDataUri);
            var cachingLoader = new CachingDataLoader(dataLoader);

            return(DbConnectionFactory.CreateTransient(cachingLoader));
        }
Example #3
0
        public static TestDB Create()
        {
            if (cachingDataLoader == null)
            {
                var csvDataLoader = new CsvDataLoader("res://WMIT.DataServices.Tests/Fixtures/Data/");
                cachingDataLoader = new CachingDataLoader(csvDataLoader);
            }

            var connection = DbConnectionFactory.CreateTransient(cachingDataLoader);
            var db         = new TestDB(connection);

            return(db);
        }