public void Can_read_total_rows_from_Sqlite_database()
        {
            var fileName             = GetExpectedFileName();
            var sqliteFolderLocation = _applicationSettings.SqliteStorageFolderLocation;

            currentTestSqliteFile = Path.Combine(sqliteFolderLocation, fileName);
            TearDown();
            var rawDataSet = GetTestData();

            _importedDataPointStorage.WriteRangeToDatabase(fileName, rawDataSet);
            var importedData = _importedDataPointStorage.ReadFromDatabase(sqliteFolderLocation, fileName);

            Assert.That(importedData.Count, Is.EqualTo(rawDataSet.Count));
        }
        public IList <AggregateDataPoint> ImportFolder(string folderLocation)
        {
            var systemSlash = OperatingSystemHelpers.SystemSlash;
            var files       = Directory.GetFiles(folderLocation).Select(file => file.Replace(folderLocation + systemSlash, "")).ToList();
            var dbFiles     = files.Where(file => file.EndsWith(".db")).ToList();

            foreach (var dbFile in dbFiles)
            {
                try {
                    var metadataFileName = dbFile.GetSqliteAssociatedMetadataFileName();
                    var importedData     = _importedDataPointRepository.ReadFromDatabase(folderLocation, dbFile);
                    StoreFileMetadata associatedMetaData = null;
                    if (files.Contains(metadataFileName))
                    {
                        var metaDataFileLocation = Path.Combine(folderLocation, metadataFileName);
                        using (var fileReader = new StreamReader(metaDataFileLocation))
                        {
                            associatedMetaData =
                                JsonConvert.DeserializeObject <StoreFileMetadata>(fileReader.ReadToEnd());
                        }
                    }

                    var aggregateDataPoints = importedData.Select(data => new AggregateDataPoint
                    {
                        TimeStamp       = data.TimeStampInUtc,
                        RawIntensity    = data.Bits,
                        RoomNumber      = associatedMetaData?.RoomNumber ?? String.Empty,
                        RackIdentifier  = associatedMetaData?.RackIdentifier ?? 0,
                        RackCoordinateX = associatedMetaData?.RackCoordinates?.X ?? 0,
                        RackCoordinateY = associatedMetaData?.RackCoordinates?.Y ?? 0,
                        ConversionKey   = Convert.ToDouble(associatedMetaData?.ConversionKey ?? "0")
                    });
                    AddDataPoints(aggregateDataPoints.ToList());
                } catch (Exception e) {
                    throw e;
                }
            }

            return(GetAllDataPoints());
        }