public void VariableTest() { db.TruncateTables(); db.AddDataSource( "WorldClim 1.4", "A set of global climate layers (climate grids) with a spatial resolution of a square kilometer", "The database is documented in this article: Hijmans, R.J., S.E. Cameron, J.L. Parra, P.G. Jones and A. Jarvis, 2005. Very high resolution interpolated climate surfaces for global land areas. International Journal of Climatology 25: 1965-1978.", "Microsoft.Research.Science.FetchClimate2.DataSources.CRUProcessor, NCEPReanalysisDataSource", "msds:az?name=CRU_CL_2_0&DefaultEndpointsProtocol=http&AccountName=fetch&AccountKey=1Y0EOrnCX6ULY8c3iMHg9rrul2BWbPHKsHUceZ7SSh+ShM/q9K0ml49gQm+PE7G7i7zCvrpuT", null, null); db.AddVariable("MyVariable", "MyDescription", "MyUnits"); db.AddVariable("MyVariable2", "MyDescription2", "MyUnits2"); db.AddDataSource( "NCEP/NCAR Reanalysis 1 (regular grid)", "The NCEP/NCAR Reanalysis 1 project is using a state-of-the-art analysis/forecast system to perform data assimilation using past data from 1948 to the present", "NCEP Reanalysis data provided by the NOAA/OAR/ESRL PSD, Boulder, Colorado, USA, from their Web site at http://www.esrl.noaa.gov/psd/", "Microsoft.Research.Science.FetchClimate2.DataSources.NCEPReanalysisRegularGridDataSource, NCEPReanalysisDataSource", "msds:az?name=ReanalysisRegular&DefaultEndpointsProtocol=http&AccountName=fetch&AccountKey=1Y0EOrnCX6ULY8c3iMHg9rrul2BWbPHKsHUceZ7SSh+ShM/q9K0ml49gQm+PE7G7i7zCvrpuT", null, null); //STEP 1 DateTime TIME_BEFORE_INSERTING = DateTime.UtcNow; Thread.Sleep(time); db.SetMapping("NCEP/NCAR Reanalysis 1 (regular grid)", "MyVariable", "TestDataSourceVariable", true, true); DateTime TIME_MIDDLE_INSERTING = DateTime.UtcNow; Thread.Sleep(time); db.SetMapping("WorldClim 1.4", "MyVariable", "TestDataSourceVariable", true, true); Thread.Sleep(time); db.SetMapping("WorldClim 1.4", "MyVariable2", "TestDataSourceVariable2", true, true); Thread.Sleep(time); db.SetMapping("WorldClim 1.4", "MyVariable", "TestDataSourceVariable", true, false); Thread.Sleep(time); var Variables = db.GetVariablesForDataSource(DateTime.UtcNow, "WorldClim 1.4").ToArray(); Assert.AreEqual(1, Variables.Length); Assert.AreEqual("MyVariable2", Variables[0].DisplayName); Assert.AreEqual("MyDescription2", Variables[0].Description); Assert.AreEqual("MyUnits2", Variables[0].Units); //STEP 2 //var EnvVariables = db.GetEnvVariables(TIME_MIDDLE_INSERTING).ToArray(); //Assert.AreEqual(1, EnvVariables.Length); var EnvVariables = db.GetEnvVariables(/*DateTime.Now*/).ToArray(); Assert.AreEqual(2, EnvVariables.Length); //STEP 3 var DataSources = db.GetDataSourcesForVariable(DateTime.UtcNow, "MyVariable").ToArray(); Assert.AreEqual(1, DataSources.Length); //STEP 4 var Mappings = db.GetMapping(TIME_BEFORE_INSERTING, "NCEP/NCAR Reanalysis 1 (regular grid)").ToArray(); Assert.AreEqual(0, Mappings.Length); Mappings = db.GetMapping(DateTime.UtcNow, "NCEP/NCAR Reanalysis 1 (regular grid)").ToArray(); Assert.AreEqual(1, Mappings.Length); db.TruncateTables(); }