public void Transform_GenericHasLessPropertiesThanMeasurements_ReturnsOnlyGenericProperties()
        {
            // Arrange
            List <MeasurementV2> measurements = LoggerNetArranger.GetMeasurementV2TwoVariablesMultipleTimesteps();
            var sut = new ManualTidyDataTransformer();

            // Act
            TidyData actual = sut.Transform <DataTableOneVar>(measurements);

            // Assert
            Assert.Equal(3, actual.Observations.Count);
            Assert.Equal(2, actual.Metadata.Variables.Count);
        }
        public void Transform_ValidData_ExpectedResults()
        {
            // Arrange
            List <MeasurementV2> measurements = LoggerNetArranger.GetMeasurementV2TwoVariablesMultipleTimesteps();
            var sut = new ManualTidyDataTransformer();

            // Act
            TidyData actual = sut.Transform <DataTableTwoVar>(measurements);

            // Assert
            List <DataTableTwoVar> actualObs = actual.Observations.Cast <DataTableTwoVar>().ToList();

            Assert.Equal(3, actual.Observations.Count);
            Assert.Equal(3, actual.Metadata.Variables.Count);
            Assert.NotNull(actualObs.Where(m => m.ParDensityTsAvg == 1806.077).FirstOrDefault());
        }
Esempio n. 3
0
        public async void ExtractMeasurementV2FromCosmosTransformToTidyWriteToCsv()
        {
            // Arrange
            string uri      = System.Configuration.ConfigurationManager.AppSettings["cosmosUri"];
            string key      = System.Configuration.ConfigurationManager.AppSettings["cosmosKey"];
            string dirPath  = @"Output";
            string fileName = "test";

            var extractor   = new CafDbExtractor(uri, key);
            var transformer = new ManualTidyDataTransformer();
            var loader      = new TidyDataCsvLoader();

            // Act
            List <MeasurementV2> measurements =
                await extractor.ExtractMeasurementsV2(
                    "CafMeteorologyEcTower",
                    "CookEast",
                    "ParDensityTsAvg",
                    "2019-12-12",
                    "2019-12-13");

            TidyData tidyData =
                transformer.Transform <ParDataTable>(measurements);

            loader.LoadToFile(tidyData, dirPath, fileName);

            // Assert
            var files = Directory.GetFiles(dirPath, $"{fileName}*");

            Assert.Equal(2, files.Length);

            // Cleanup
            if (files.Length > 0)
            {
                foreach (var file in files)
                {
                    File.Delete(file);
                }
            }
        }