14d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro/*
24d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * Copyright (C) 2016 The Android Open Source Project
34d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro *
44d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * Licensed under the Apache License, Version 2.0 (the "License");
54d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * you may not use this file except in compliance with the License.
64d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * You may obtain a copy of the License at
74d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro *
84d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro *      http://www.apache.org/licenses/LICENSE-2.0
94d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro *
104d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * Unless required by applicable law or agreed to in writing, software
114d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * distributed under the License is distributed on an "AS IS" BASIS,
124d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * See the License for the specific language governing permissions and
144d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * limitations under the License.
154d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro */
164d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
174d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro#ifndef _GTS_NANOAPPS_GENERAL_TEST_BASIC_SENSOR_TESTS_H_
184d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro#define _GTS_NANOAPPS_GENERAL_TEST_BASIC_SENSOR_TESTS_H_
194d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
204d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro#include <general_test/basic_sensor_test_base.h>
214d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
224d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro#include <chre.h>
234d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
244d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguronamespace general_test {
254d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
264d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguroclass BasicAccelerometerTest : public BasicSensorTestBase {
274d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro public:
284d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  BasicAccelerometerTest()
294d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro      : BasicSensorTestBase() {}
304d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
314d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro protected:
324d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  uint8_t getSensorType() const override {
334d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro    return CHRE_SENSOR_TYPE_ACCELEROMETER;
344d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  }
354d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isRequiredSensor() const override { return true; }
364d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isOnChangeSensor() const override { return false; }
374d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isOneShotSensor() const override { return false; }
384d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  void confirmDataIsSane(const void* eventData) override;
394d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro};
404d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
414d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguroclass BasicInstantMotionDetectTest : public BasicSensorTestBase {
424d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro public:
434d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  BasicInstantMotionDetectTest()
444d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro      : BasicSensorTestBase() {}
454d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
464d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro protected:
474d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  uint8_t getSensorType() const override {
484d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro    return CHRE_SENSOR_TYPE_INSTANT_MOTION_DETECT;
494d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  }
504d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isRequiredSensor() const override { return true; }
514d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isOnChangeSensor() const override { return false; }
524d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isOneShotSensor() const override { return true; }
534d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  void confirmDataIsSane(const void* eventData) override;
544d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro};
554d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
564d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguroclass BasicStationaryDetectTest : public BasicSensorTestBase {
574d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro public:
584d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  BasicStationaryDetectTest()
594d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro      : BasicSensorTestBase() {}
604d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
614d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro protected:
624d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  uint8_t getSensorType() const override {
634d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro    return CHRE_SENSOR_TYPE_STATIONARY_DETECT;
644d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  }
654d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isRequiredSensor() const override { return true; }
664d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isOnChangeSensor() const override { return false; }
674d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isOneShotSensor() const override { return true; }
684d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  void confirmDataIsSane(const void* eventData) override;
694d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro};
704d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
714d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguroclass BasicGyroscopeTest : public BasicSensorTestBase {
724d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro public:
734d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  BasicGyroscopeTest()
744d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro      : BasicSensorTestBase() {}
754d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
764d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro protected:
774d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  uint8_t getSensorType() const override {
784d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro    return CHRE_SENSOR_TYPE_GYROSCOPE;
794d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  }
804d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isRequiredSensor() const override { return true; }
814d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isOnChangeSensor() const override { return false; }
824d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isOneShotSensor() const override { return false; }
834d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  void confirmDataIsSane(const void* eventData) override;
844d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro};
854d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
864d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguroclass BasicMagnetometerTest : public BasicSensorTestBase {
874d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro public:
884d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  BasicMagnetometerTest()
894d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro      : BasicSensorTestBase() {}
904d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
914d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro protected:
924d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  uint8_t getSensorType() const override {
934d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro    return CHRE_SENSOR_TYPE_GEOMAGNETIC_FIELD;
944d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  }
954d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isRequiredSensor() const override { return false; }
964d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isOnChangeSensor() const override { return false; }
974d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isOneShotSensor() const override { return false; }
984d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  void confirmDataIsSane(const void* eventData) override;
994d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro};
1004d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
1014d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguroclass BasicBarometerTest : public BasicSensorTestBase {
1024d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro public:
1034d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  BasicBarometerTest()
1044d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro      : BasicSensorTestBase() {}
1054d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
1064d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro protected:
1074d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  uint8_t getSensorType() const override {
1084d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro    return CHRE_SENSOR_TYPE_PRESSURE;
1094d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  }
1104d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isRequiredSensor() const override { return false; }
1114d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isOnChangeSensor() const override { return false; }
1124d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isOneShotSensor() const override { return false; }
1134d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  void confirmDataIsSane(const void* eventData) override;
1144d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro};
1154d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
1164d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguroclass BasicLightSensorTest : public BasicSensorTestBase {
1174d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro public:
1184d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  BasicLightSensorTest()
1194d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro      : BasicSensorTestBase() {}
1204d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
1214d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro protected:
1224d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  uint8_t getSensorType() const override {
1234d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro    return CHRE_SENSOR_TYPE_LIGHT;
1244d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  }
1254d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isRequiredSensor() const override { return false; }
1264d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isOnChangeSensor() const override { return true; }
1274d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isOneShotSensor() const override { return false; }
1284d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  void confirmDataIsSane(const void* eventData) override;
1294d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro};
1304d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
1314d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguroclass BasicProximityTest : public BasicSensorTestBase {
1324d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro public:
1334d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  BasicProximityTest()
1344d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro      : BasicSensorTestBase() {}
1354d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
1364d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro protected:
1374d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  uint8_t getSensorType() const override {
1384d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro    return CHRE_SENSOR_TYPE_PROXIMITY;
1394d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  }
1404d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isRequiredSensor() const override { return false; }
1414d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isOnChangeSensor() const override { return true; }
1424d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  bool isOneShotSensor() const override { return false; }
1434d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro  void confirmDataIsSane(const void* eventData) override;
1444d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro};
1454d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
1464d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro}  // namespace general_test
1474d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
1484d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro
1494d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro#endif  // _GTS_NANOAPPS_GENERAL_TEST_BASIC_SENSOR_TESTS_H_
150