public void GetAccelDataByDateSpanTest()
        {
            _testDb.CreateDatabase();
            _testDb.InitTestSchema();
            _testDb.PopulateTestAccelData();
            string databaseFile = _testDbFile;
            ILogger logger = new LoggerStub();
            var target = new LocalDatabaseStorage(databaseFile, logger);
            target.Open();

            var actual = target.GetAccelDataByDateSpan(new DateTime(2012, 1, 1) - TimeSpan.FromDays(10), new DateTime(2012, 1, 1));

            Assert.AreEqual(2, actual.Count);

            target.Close();
        }
        public void GetAccelDataTest()
        {
            _testDb.CreateDatabase();
            _testDb.InitTestSchema();
            _testDb.PopulateTestAccelData();
            string databaseFile = _testDbFile;
            ILogger logger = new LoggerStub();
            var target = new LocalDatabaseStorage(databaseFile, logger);
            target.Open();

            var actual = target.GetAccelData();

            Assert.AreEqual(3,actual.Count);

            target.Close();
        }
 public void ConstructorWidthDbCreationTest()
 {
     string databaseFile = _testDbFile;
     ILogger logger = new LoggerStub();
     LocalDatabaseStorage target = new LocalDatabaseStorage(databaseFile, logger);
 }
        public void SaveCalibrationResultWithoutTest()
        {
            _testDb.CreateDatabase();
            _testDb.InitTestSchema();
            _testDb.PopulateTestAccelData();
            _testDb.PopulateTestAccelParams();
            _testDb.PopulateTestCalibrationResult();
            string databaseFile = _testDbFile;
            ILogger logger = new LoggerStub();
            var target = new LocalDatabaseStorage(databaseFile, logger);
            target.Open();
            var data = new CalibrationResult
            {
                Clusters = new List<AccelData>
                                              {
                                                  new AccelData { Id = 1,Date = DateTime.Now,Ax = 10.0, Ay = 20.0},
                                                  new AccelData { Id = 2,Date = DateTime.Now,Ax = 20.0, Ay = 30.0}
                                              },
                Parameters = new AccelParams { Id = 1,Date = DateTime.Now }
            };

            target.SaveCalibrationResult(data);

            Assert.AreEqual(_testDb.GetIdCount("accel_params"), 3, "проверяем, что калибровочные параметры не добавлены");
            Assert.AreEqual(_testDb.GetIdCount("accel_data"), 3, "проверяем, что данные акселерометров не добавлены");
            Assert.AreEqual(_testDb.GetIdCount("calibr_result"), 2, "проверяем, что результаты калибровки записаны заново");

            target.Close();
        }
        public void SaveAccelParamsTest()
        {
            string databaseFile = _testDbFile;
            ILogger logger = new LoggerStub();
            var target = new LocalDatabaseStorage(databaseFile, logger);
            target.Open();
            var data = new AccelParams { Date = DateTime.Now };

            target.SaveAccelParams(data);

            var idCount = _testDb.GetIdCount("accel_params");
            Assert.AreEqual(idCount, 1, "проверяем, что запись добавлена");
            Assert.AreEqual(1, data.Id, "проверяем, что изменен идентификатор записи в базе");

            target.Close();
        }
        public void OpenTestWithSchemaCreation()
        {
            _testDb.CreateDatabase();
            string databaseFile = _testDbFile;
            ILogger logger = new LoggerStub();

            LocalDatabaseStorage target = new LocalDatabaseStorage(databaseFile, logger);

            target.Open();

            Assert.IsTrue(_testDb.IsDatabaseExists(), "проверка создания файла базы данных");
            Assert.IsTrue(_testDb.IsTableExist("accel_data"), "проверка создания таблицы данных акселерометров");
            Assert.IsTrue(_testDb.IsTableExist("accel_params"), "проверка создания таблицы калибровочных данных");
            Assert.IsTrue(_testDb.IsTableExist("calibr_result"), "проверка создания таблица для результатов калибровки");

            target.Close();
        }
        public void MultipleSaveAccelDataTest()
        {
            string databaseFile = _testDbFile;
            ILogger logger = new LoggerStub();
            var target = new LocalDatabaseStorage(databaseFile, logger);
            target.Open();
            var data = new AccelData(10.0, 50.0);
            data.Date = DateTime.Now;

            target.SaveAccelData(data);
            target.SaveAccelData(data);
            target.SaveAccelData(data);

            var idCount = _testDb.GetIdCount("accel_data");
            Assert.AreEqual(idCount, 1, "проверяем, что запись не была добавлена несколько раз");
            Assert.AreEqual(1, data.Id, "проверяем, что изменен идентификатор записи в базе не изменился");

            target.Close();
        }
        public void GetCalibrationResultByParamsTest()
        {
            _testDb.CreateDatabase();
            _testDb.InitTestSchema();
            _testDb.PopulateTestAccelData();
            _testDb.PopulateTestAccelParams();
            _testDb.PopulateTestCalibrationResult();
            string databaseFile = _testDbFile;
            ILogger logger = new LoggerStub();
            var target = new LocalDatabaseStorage(databaseFile, logger);
            target.Open();
            var parameters = new AccelParams {Id = 1};

            var actual = target.GetCalibrationResultByParams(parameters);

            Assert.AreEqual(2,actual.Clusters.Count);

            target.Close();
        }
        public void GetAccelParamsBySensorNumberTest()
        {
            _testDb.CreateDatabase();
            _testDb.InitTestSchema();
            _testDb.PopulateTestAccelParams();
            string databaseFile = _testDbFile;
            ILogger logger = new LoggerStub();
            var target = new LocalDatabaseStorage(databaseFile, logger);
            target.Open();
            var data = new AccelData(10.0, 50.0);
            data.Date = DateTime.Now;

            var actual = target.GetAccelParamsBySensorNumber(1);

            Assert.AreEqual(2, actual.Count);

            target.Close();
        }