diff --git a/sensors/sensor_standard/src/main/js/default/test/List.test.js b/sensors/sensor_standard/src/main/js/default/test/List.test.js index ee12a3b1e2e14761b95de0bc2c21f0067fb7d7cb..901b0a7038fa929aa2aa875156dc37aaed76b9b6 100644 --- a/sensors/sensor_standard/src/main/js/default/test/List.test.js +++ b/sensors/sensor_standard/src/main/js/default/test/List.test.js @@ -15,3 +15,4 @@ require('./SensorOnOffTest.test.js') require('./SensorGeomagneticTest.test.js') +require('./SensorGeneralalgorithm.test.js') diff --git a/sensors/sensor_standard/src/main/js/default/test/SensorGeneralalgorithm.test.js b/sensors/sensor_standard/src/main/js/default/test/SensorGeneralalgorithm.test.js new file mode 100755 index 0000000000000000000000000000000000000000..9a727dcf0423e9adc10b8be58e69e108946ba8fc --- /dev/null +++ b/sensors/sensor_standard/src/main/js/default/test/SensorGeneralalgorithm.test.js @@ -0,0 +1,1141 @@ +/* + * Copyright (C) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import sensor from '@ohos.sensor' + +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index' + +describe("SensorJsTest", function () { + beforeAll(function () { + + /* + * @tc.setup: setup invoked before all testcases + */ + console.info('beforeAll caled') + }) + + afterAll(function () { + + /* + * @tc.teardown: teardown invoked after all testcases + */ + console.info('afterAll caled') + }) + + beforeEach(function () { + + /* + * @tc.setup: setup invoked before each testcases + */ + console.info('beforeEach caled') + }) + + afterEach(function () { + + /* + * @tc.teardown: teardown invoked after each testcases + */ + console.info('afterEach caled') + }) + + var SENSOR_DATA_MATRIX = [ + { + "rotation": [-0.7980074882507324, 0.5486301183700562, 0.24937734007835388, -0.17277367413043976, + -0.6047078967094421, 0.7774815559387207, 0.5773502588272095, 0.5773502588272095, 0.5773502588272095], + "inclination": [1, 0, 0, 0, 0.20444221794605255, 0.9788785576820374, 0, -0.9788785576820374, + 0.20444221794605255] + }, + { + "rotation": [-0.8206444382667542, 0.3832680284976959, 0.42384934425354004, 0.021023601293563843, + -0.7209705710411072, 0.6926466822624207, 0.5710522532463074, 0.57732754945755, 0.5836028456687927], + "inclination": [1, 0, 0, 0, 0.2584352493286133, 0.9660285115242004, 0, -0.9660285115242004, + 0.2584352493286133] + }, + { + "rotation": [0.9583651423454285, 0.08038506656885147, -0.27399733662605286, 0.160231813788414, + -0.9456362724304199, 0.2830156981945038, -0.23635157942771912, -0.3151354491710663, + -0.9191450476646423], + "inclination": [1, 0, 0, 0, 0.34239840507507324, 0.9395548701286316, 0, -0.9395548701286316, + 0.34239840507507324] + }, + { + "rotation": [null, null, null, null, null, null, null, null, null], + "inclination": [1, 0, 0, 0, null, null, 0, null, null] + }, + { + "rotation": [null, null, null, null, null, null, 0, 0, 0], + "inclination": [1, 0, 0, 0, null, 0, 0, 0, null] + } + ] + + let GET_DIRECTION = [ + [0.38050639629364014, -0.9783217310905457, -0.6610431671142578], + [-2.7610862255096436, 1.5018651485443115, 2.987273931503296], + [0.32175055146217346, -1.006853699684143, -0.6857295036315918], + [1.3332617282867432, -1.5440233945846558, -0.6627295017242432], + [NaN, NaN, NaN], + [0.7853981852531433, -0.6154797077178955, -0.7853981852531433], + [0.7853981852531433, -0.7853981852531433, -0.7853981852531433], + [0.785398, -0.615480, -0.785398], + [0.785398, -0.785398, -0.785398] + ] + + let rotationMatrix = [ + [1, 2, 3, 4, 5, 6, 7, 8, 9], + [-1, -2, -3, -4, -5, -6, -7, -78, -45], + [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], + [11111111, 21111111, 31111111, 4111111, 5111111, 61111111, 71111111, 811111111, 91111111], + [NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN], + [3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, + 3.40282e+38], + [3.40282e+39, 3.40282e+39, 3.40282e+39, 3.40282e+39, 3.40282e+39, 3.40282e+39, 3.40282e+39, 3.40282e+39, + 3.40282e+39], + [3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, + 3.40282e+38], + [3.40282e+39, 3.40282e+39, 3.40282e+39, 3.40282e+39, 3.40282e+39, 3.40282e+39, 3.40282e+39, 3.40282e+39, + 3.40282e+39] + ] + + let gravity = [ + [9, 9, 9], [91, 92, 93], [-9, -12, -35], [NaN, NaN, NaN], [3.40282e+38, 3.40282e+38, 3.40282e+38], + [3.40282e+39, 3.40282e+39, 3.40282e+39] + ] + let geomagnetic = [ + [30, 25, 41], [3, 2, 4], [-123, -456, -564], [3.40282e+38, 3.40282e+38, 3.40282e+38], [NaN, NaN, NaN] + ] + + /** + * test + * + * @tc.name: SensorJsTest_068 + * @tc.desc: Verification results of the incorrect parameters of the test interface. + * @tc.require: AR000GH2RV + * @tc.author: + */ + it('SensorJsTest_068', 0, async function (done) { + sensor.createRotationMatrix(gravity[0], geomagnetic[0], (error, data) => { + if (error) { + console.info('SensorJsTest_068 failed'); + expect(false).assertTrue(); + } else { + console.info("SensorJsTest_068" + JSON.stringify(data)) + expect(JSON.stringify(data)).assertEqual(JSON.stringify(SENSOR_DATA_MATRIX[0])) + } + done() + }) + }) + + /** + * test + * + * @tc.name: SensorJsTest_069 + * @tc.desc: Verification results of the incorrect parameters of the test interface. + * @tc.require: AR000GH2RV + * @tc.author: + */ + + it('SensorJsTest_069', 0, async function (done) { + sensor.createRotationMatrix(gravity[2], geomagnetic[2], (error, data) => { + if (error) { + console.info('SensorJsTest_069 failed'); + expect(false).assertTrue(); + } else { + console.info("SensorJsTest_069" + JSON.stringify(data)) + expect(JSON.stringify(data)).assertEqual(JSON.stringify(SENSOR_DATA_MATRIX[2])) + } + done() + }) + }) + + /** + * test + * + * @tc.name: SensorJsTest_070 + * @tc.desc: Verification results of the incorrect parameters of the test interface. + * @tc.require: AR000GH2RV + * @tc.author: + */ + it('SensorJsTest_070', 0, async function (done) { + sensor.getDirection(rotationMatrix[0], (error, data) => { + if (error) { + console.info('SensorJsTest_070 failed'); + expect(false).assertTrue(); + } else { + for (var i = 1; i < data.length; i++) { + console.info("SensorJsTest_070" + data[i]) + expect(data[i]).assertEqual(GET_DIRECTION[0][i]) + } + } + done() + }) + }) + + /** + * test + * + * @tc.name: SensorJsTest_071 + * @tc.desc: Verification results of the incorrect parameters of the test interface. + * @tc.require: AR000GH2RV + * @tc.author: + */ + it('SensorJsTest_071', 0, async function (done) { + sensor.getDirection(rotationMatrix[1], function (error, data) { + if (error) { + console.info('SensorJsTest_071 failed'); + expect(false).assertTrue(); + } else { + for (var i = 1; i < data.length; i++) { + console.info("SensorJsTest_071" + data[i]) + expect(data[i]).assertEqual(GET_DIRECTION[1][i]) + } + } + done() + }) + }) + + /** + * test + * + * @tc.name: SensorJsTest_072 + * @tc.desc: Verification results of the incorrect parameters of the test interface. + * @tc.require: AR000GH2RV + * @tc.author: + */ + it('SensorJsTest_072', 0, async function (done) { + sensor.createRotationMatrix(gravity[0], geomagnetic[0]).then((data) => { + console.info("SensorJsTest_072" + JSON.stringify(data)) + expect(JSON.stringify(data)).assertEqual(JSON.stringify(SENSOR_DATA_MATRIX[0])) + done() + }, (error) => { + expect(false).assertTrue(); + done() + }) + }) + + /** + * test + * + * @tc.name: SensorJsTest_073 + * @tc.desc: Verification results of the incorrect parameters of the test interface. + * @tc.require: AR000GH2RV + * @tc.author: + */ + it('SensorJsTest_073', 0, async function (done) { + sensor.createRotationMatrix(gravity[1], geomagnetic[1]).then((data) => { + console.info("SensorJsTest_073" + JSON.stringify(data)) + expect(JSON.stringify(data)).assertEqual(JSON.stringify(SENSOR_DATA_MATRIX[1])) + done() + }, (error) => { + expect(false).assertTrue(); + done() + }) + }) + + /** + * test + * + * @tc.name: SensorJsTest_074 + * @tc.desc: Verification results of the incorrect parameters of the test interface. + * @tc.require: AR000GH2RV + * @tc.author: + */ + it('SensorJsTest_074', 0, async function (done) { + sensor.createRotationMatrix(gravity[2], geomagnetic[2]).then((data) => { + console.info("SensorJsTest_074" + JSON.stringify(data)) + expect(JSON.stringify(data)).assertEqual(JSON.stringify(SENSOR_DATA_MATRIX[2])) + done() + }, (error) => { + expect(false).assertTrue(); + done() + }) + }) + + /** + * test + * + * @tc.name: SensorJsTest_075 + * @tc.desc: Verification results of the incorrect parameters of the test interface. + * @tc.require: AR000GH2RN + * @tc.author: + */ + it('SensorJsTest_075', 0, async function (done) { + sensor.getDirection(rotationMatrix[0]).then((data) => { + for (var i = 0; i < data.length; i++) { + console.info("SensorJsTest_075" + data[i]) + expect(data[i]).assertEqual(GET_DIRECTION[0][i]) + } + done() + }, (error) => { + expect(false).assertTrue(); + done() + }) + }) + + /** + * test + * + * @tc.name: SensorJsTest_076 + * @tc.desc: Verification results of the incorrect parameters of the test interface. + * @tc.require: AR000GH2RN + * @tc.author: + */ + it('SensorJsTest_076', 0, async function (done) { + sensor.getDirection(rotationMatrix[1]).then((data) => { + for (var i = 0; i < data.length; i++) { + console.info("SensorJsTest_076" + data[i]) + expect(data[i]).assertEqual(GET_DIRECTION[1][i]) + } + done() + }, (error) => { + expect(false).assertTrue(); + done() + }) + }) + + /** + * test + * + * @tc.name: SensorJsTest_077 + * @tc.desc: Verification results of the incorrect parameters of the test interface. + * @tc.require: AR000GH2RN + * @tc.author: + */ + it('SensorJsTest_077', 0, async function (done) { + sensor.getDirection([1, 2, 3, 1, 2, 3, 1, 2, 3, 0]).then((data) => { + for (var i = 0; i < data.length; i++) { + console.info("SensorJsTest_077 failed") + expect(false).assertTrue(); + } + done() + }, (error) => { + expect(true).assertTrue(); + console.info("SensorJsTest_077 success") + done() + }) + }) + + let ANGLECHANGE_9_RESULT = [ + [0.7853981852531433, NaN, -0.32175055146217346], //123123123 + [0.7853981852531433, NaN, -0.7853981852531433], //FLOAT.MAXVALUE + [0.0, -0.0, -0.0], //FLOAT.MINVALUE + [0.7853981852531433, NaN, -0.7853981852531433], //FLOAT.MAXVALUE+1 + ]; + + /** + * test + * + * @tc.name: SensorJsTest_078 + * @tc.desc: + * @tc.require: AR000GH2SL + * @tc.author: + */ + it('SensorJsTest_078', 0, async function (done) { + console.info("SensorJsAPI--->SensorJsTest_078"); + sensor.getAngleModify([1, 2, 3, 1, 2, 3, 1, 2, 3], [2, 2, 2, 2, 2, 2, 2, 2, 2], function (error, data) { + if (error) { + console.info('SensorJsTest_078 failed'); + expect(false).assertTrue(); + } else { + for (var i = 0; i < data.length; i++) { + console.info("SensorJsAPI--->SensorJsTest_078 [" + i + "] = " + data[i]); + expect(data[0]).assertEqual(ANGLECHANGE_9_RESULT[0][0]) && expect( + Number.isNaN(data[1])).assertTrue() && + expect(data[2]).assertEqual(ANGLECHANGE_9_RESULT[0][2]); + } + } + done() + }) + }) + + /** + * test + * + * @tc.name: SensorJsTest_079 + * @tc.desc: + * @tc.require: AR000GH2SL + * @tc.author: + */ + it('SensorJsTest_079', 0, async function (done) { + console.info("SensorJsAPI--->SensorJsTest_079"); + sensor.getAngleModify([3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, + 3.40282e+38, 3.40282e+38, 3.40282e+38], + [3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, + 3.40282e+38], + function (error, data) { + if (error) { + console.info('SensorJsTest_079 failed'); + expect(false).assertTrue(); + } else { + for (var i = 0; i < data.length; i++) { + console.info("SensorJsAPI--->SensorJsTest_079 [" + i + "] = " + data[i]); + expect(data[0]).assertEqual(ANGLECHANGE_9_RESULT[1][0]) && expect( + Number.isNaN(data[1])).assertTrue() && + expect(data[2]).assertEqual(ANGLECHANGE_9_RESULT[1][2]); + } + } + done() + }) + }) + + /** + * test + * + * @tc.name: SensorJsTest_080 + * @tc.desc: + * @tc.require: AR000GH2SL + * @tc.author: + */ + it('SensorJsTest_080', 0, async function (done) { + console.info("SensorJsAPI--->SensorJsTest_080"); + sensor.getAngleModify([1.17549e-38, 1.17549e-38, 1.17549e-38, 1.17549e-38, 1.17549e-38, 1.17549e-38, + 1.17549e-38, 1.17549e-38, 1.17549e-38], + [1.17549e-38, 1.17549e-38, 1.17549e-38, 1.17549e-38, 1.17549e-38, 1.17549e-38, 1.17549e-38, 1.17549e-38, + 1.17549e-38], + function (error, data) { + if (error) { + console.info('SensorJsTest_080 failed'); + expect(false).assertTrue(); + } else { + for (var i = 0; i < data.length; i++) { + console.info("SensorJsAPI--->SensorJsTest_080 [" + i + "] = " + data[i]); + expect(data[0]).assertEqual(ANGLECHANGE_9_RESULT[2][0]) + && expect(data[1]).assertEqual(ANGLECHANGE_9_RESULT[2][1]) + && expect(data[2]).assertEqual(ANGLECHANGE_9_RESULT[2][2]); + } + } + done() + }); + }) + + /** + * test + * + * @tc.name: SensorJsTest_081 + * @tc.desc: + * @tc.require: AR000GH2SL + * @tc.author: + */ + it('SensorJsTest_081', 0, async function (done) { + console.info("SensorJsAPI--->SensorJsTest_081"); + sensor.getAngleModify([3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1, + 3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1], + [3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1, + 3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1], + function (error, data) { + if (error) { + console.info('SensorJsTest_081 failed'); + expect(false).assertTrue(); + } else { + for (var i = 0; i < data.length; i++) { + console.info("SensorJsAPI--->SensorJsTest_081 [" + i + "] = " + data[i]); + expect(data[0]).assertEqual(ANGLECHANGE_9_RESULT[3][0]) && expect( + Number.isNaN(data[1])).assertTrue() && expect(data[2]).assertEqual( + ANGLECHANGE_9_RESULT[3][2]); + } + } + done() + }); + }) + + /** + * test + * + * @tc.name: SensorJsTest_082 + * @tc.desc: + * @tc.require: AR000GH2SL + * @tc.author: + */ + it('SensorJsTest_082', 0, async function (done) { + console.info("SensorJsAPI--->SensorJsTest_082"); + sensor.getAngleModify([0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, + 0.0 / 0.0], + [0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0], + function (error, data) { + if (error) { + console.info('SensorJsTest_082 failed'); + expect(false).assertTrue(); + } else { + for (var i = 0; i < data.length; i++) { + console.info("SensorJsAPI--->SensorJsTest_082 [" + i + "] = " + data[i]); + expect(Number.isNaN(data[0]) && Number.isNaN(data[1]) && Number.isNaN(data[2])).assertTrue(); + } + } + done() + }); + }) + + /** + * test + * + * @tc.name: SensorJsTest_083 + * @tc.desc: + * @tc.require: AR000GH2SL + * @tc.author: + */ + it('SensorJsTest_083', 0, async function (done) { + console.info("SensorJsAPI--->SensorJsTest_083"); + sensor.getAngleModify([1, 2, 3, 1, 2, 3, 1, 2, 3], [2, 2, 2, 2, 2, 2, 2, 2, 2]).then((data) => { + console.info("SensorJsAPI--->SensorJsTest_083"); + for (var i = 0; i < data.length; i++) { + console.info("SensorJsAPI--->SensorJsTest_083 [" + i + "] = " + data[i]); + expect(data[0]).assertEqual(ANGLECHANGE_9_RESULT[0][0]) && expect( + Number.isNaN(data[1])).assertTrue() && + expect(data[2]).assertEqual(ANGLECHANGE_9_RESULT[0][2]); + } + done(); + }, (error) => { + expect(false).assertTrue(); + done() + }) + }) + + /** + * test + * + * @tc.name: SensorJsTest_084 + * @tc.desc: + * @tc.require: AR000GH2SL + * @tc.author: + */ + it('SensorJsTest_084', 0, async function (done) { + console.info("SensorJsAPI--->SensorJsTest_084"); + sensor.getAngleModify([3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, + 3.40282e+38, 3.40282e+38, 3.40282e+38], + [3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, + 3.40282e+38, 3.40282e+38]).then((data) => { + console.info("SensorJsAPI--->SensorJsTest_084"); + for (var i = 0; i < data.length; i++) { + console.info("SensorJsAPI--->SensorJsTest_084 [" + i + "] = " + data[i]); + expect(data[0]).assertEqual(ANGLECHANGE_9_RESULT[1][0]) && expect( + Number.isNaN(data[1])).assertTrue() && expect(data[2]).assertEqual( + ANGLECHANGE_9_RESULT[1][2]); + } + done() + }, (error) => { + expect(false).assertTrue(); + done() + }) + }) + + /** + * test + * + * @tc.name: SensorJsTest_085 + * @tc.desc: + * @tc.require: AR000GH2SL + * @tc.author: + */ + it('SensorJsTest_085', 0, async function (done) { + console.info("SensorJsAPI--->SensorJsTest_085"); + sensor.getAngleModify([1.17549e-38, 1.17549e-38, 1.17549e-38, 1.17549e-38, 1.17549e-38, 1.17549e-38, + 1.17549e-38, 1.17549e-38, 1.17549e-38], + [1.17549e-38, 1.17549e-38, 1.17549e-38, 1.17549e-38, 1.17549e-38, 1.17549e-38, 1.17549e-38, 1.17549e-38, + 1.17549e-38]).then((data) => { + console.info("SensorJsAPI--->SensorJsTest_085"); + for (var i = 0; i < data.length; i++) { + console.info("SensorJsAPI--->SensorJsTest_085 [" + i + "] = " + data[i]); + expect(data[0]).assertEqual(ANGLECHANGE_9_RESULT[2][0]) + && expect(data[1]).assertEqual(ANGLECHANGE_9_RESULT[2][1]) + && expect(data[2]).assertEqual(ANGLECHANGE_9_RESULT[2][2]); + } + done() + }, (error) => { + expect(false).assertTrue(); + done() + }) + }) + + /** + * test + * + * @tc.name: SensorJsTest_086 + * @tc.desc: + * @tc.require: AR000GH2SL + * @tc.author: + */ + it('SensorJsTest_086', 0, async function (done) { + console.info("SensorJsAPI--->SensorJsTest_076"); + sensor.getAngleModify([3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + + 1, 3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1], + [3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + + 1, 3.40282e+38 + 1, 3.40282e+38 + 1, 3.40282e+38 + 1]) + .then((data) => { + console.info("SensorJsAPI--->SensorJsTest_086"); + for (var i = 0; i < data.length; i++) { + console.info("SensorJsAPI--->SensorJsTest_086 [" + i + "] = " + data[i]); + expect(data[0]).assertEqual(ANGLECHANGE_9_RESULT[3][0]) && expect( + Number.isNaN(data[1])).assertTrue() && expect(data[2]).assertEqual(ANGLECHANGE_9_RESULT[3][2]); + } + done() + }, (error) => { + expect(false).assertTrue(); + done() + }) + }) + + /** + * test + * + * @tc.name: SensorJsTest_087 + * @tc.desc: + * @tc.require: AR000GH2SL + * @tc.author: + */ + it('SensorJsTest_087', 0, async function (done) { + console.info("SensorJsAPI--->SensorJsTest_087"); + sensor.getAngleModify([0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, + 0.0 / 0.0], + [0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, 0.0 / 0.0, + 0.0 / 0.0]).then((data) => { + console.info("SensorJsAPI--->SensorJsTest_087"); + for (var i = 0; i < data.length; i++) { + console.info("SensorJsAPI--->SensorJsTest_087 [" + i + "] = " + data[i]); + expect(Number.isNaN(data[0]) && Number.isNaN(data[1]) && Number.isNaN(data[2])).assertTrue(); + } + done() + }, (error) => { + expect(false).assertTrue(); + done() + }) + }) + + var result = [ + [0.7441122531890869, 0.5199999809265137, -0.335999995470047, -0.25099998712539673], + [0, 3.402820018375656e+38, 3.402820018375656e+38, 3.402820018375656e+38], + [1, 0, 0, 0], + [0.7183529734611511, -0.32499998807907104, -0.5619999766349792, -0.25], + [0, 0, 0, 0] + ] + + /* + * @tc.name: SensorJsTest_088 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2RP + * @tc.author: + */ + it('SensorJsTest_088', 0, async function (done) { + console.info('SensorJsTest_088 start') + sensor.createQuaternion([0.52, -0.336, -0.251], (error, data) => { + console.info('SensorJsTest_088' + 'lengh:' + data.length); + if (error) { + console.info('SensorJsTest_088 failed'); + expect(false).assertTrue(); + } else { + for (var i = 0; i < data.length; i++) { + console.info("data[" + i + "]: " + data[i]) + expect(data[i]).assertEqual(result[0][i]) + } + } + done() + }) + }) + + /* + * @tc.name: SensorJsTest_089 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2RP + * @tc.author: + */ + it('SensorJsTest_089', 0, async function (done) { + console.info('SensorJsTest_089 start') + sensor.createQuaternion([3.40282e+38, 3.40282e+38, 3.40282e+38], (error, data) => { + if (error) { + console.info('SensorJsTest_089 failed'); + expect(false).assertTrue(); + } else { + for (var i = 0; i < data.length; i++) { + console.info("data[" + i + "]: " + data[i]) + expect(data[i]).assertEqual(result[1][i]) + } + } + done() + }) + }) + + /* + * @tc.name: SensorJsTest_090 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2RP + * @tc.author: + */ + it('SensorJsTest_090', 0, async function (done) { + console.info('SensorJsTest_090 start') + sensor.createQuaternion([0, 0, 0], (error, data) => { + if (error) { + console.info('SensorJsTest_090 failed'); + expect(false).assertTrue(); + } else { + for (var i = 0; i < data.length; i++) { + console.info("data[" + i + "]: " + data[i]) + expect(data[i]).assertEqual(result[2][i]) + } + } + done() + }) + console.info("SensorJsTest_090 end") + }) + + /* + * @tc.name: SensorJsTest_091 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2RP + * @tc.author: + */ + it('SensorJsTest_091', 0, async function (done) { + console.info('SensorJsTest_091 start') + sensor.createQuaternion([-0.325, -0.562, -0.25], (error, data) => { + if (error) { + console.info('SensorJsTest_091 failed'); + expect(false).assertTrue(); + } else { + for (var i = 0; i < data.length; i++) { + console.info("data[" + i + "]: " + data[i]) + expect(data[i]).assertEqual(result[3][i]) + } + } + done() + }) + console.info("SensorJsTest_091 end") + }) + + /* + * @tc.name: SensorJsTest_092 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2RP + * @tc.author: + */ + it('SensorJsTest_092', 0, async function (done) { + console.info('SensorJsTest_092 start') + sensor.createQuaternion([0.25, 0.14], (error, data) => { + if (error) { + console.info('SensorJsTest_092 failed'); + expect(true).assertTrue(); + } else { + expect(false).assertTrue(); + } + done() + }) + console.info("SensorJsTest_092 end") + }) + + /* + * @tc.name: SensorJsTest_093 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2RP + * @tc.author: + */ + it('SensorJsTest_093', 0, async function (done) { + console.info('SensorJsTest_093 start') + sensor.createQuaternion([0.52, -0.336, -0.251]).then((data) => { + console.info('SensorJsTest_093'); + for (var i = 0; i < data.length; i++) { + console.info("data[" + i + "]: " + data[i]); + expect(data[i]).assertEqual(result[0][i]) + } + done() + }, (error) => { + expect(false).assertTrue(); + console.info('promise failed') + done() + }) + console.info("SensorJsTest_093 end") + }) + + /* + * @tc.name: SensorJsTest_094 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2RP + * @tc.author: + */ + it('SensorJsTest_094', 0, async function (done) { + console.info('SensorJsTest_094 start') + sensor.createQuaternion([0, 0]).then((data) => { + console.info('SensorJsTest_094'); + expect(false).assertTrue(); + done() + }, (error) => { + expect(true).assertTrue(); + console.info('promise failed') + done() + }) + console.info("SensorJsTest_094 end") + }) + + /* + * @tc.name: SensorJsTest_095 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2RP + * @tc.author: + */ + it('SensorJsTest_095', 0, async function (done) { + console.info('SensorJsTest_095 start') + sensor.createQuaternion([0, 0, 0]).then((data) => { + console.info('SensorJsTest_095'); + for (var i = 0; i < data.length; i++) { + console.info("data[" + i + "]: " + data[i]); + expect(data[i]).assertEqual(result[2][i]) + } + done() + }, (error) => { + expect(false).assertTrue(); + console.info('promise failed') + done() + }) + console.info("SensorJsTest_095 end") + }) + + /* + * @tc.name: SensorJsTest_096 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2RP + * @tc.author: + */ + it('SensorJsTest_096', 0, async function (done) { + console.info('SensorJsTest_096 start') + sensor.createQuaternion([-0.325, -0.562, -0.25]).then((data) => { + console.info('SensorJsTest_096'); + for (var i = 0; i < data.length; i++) { + console.info("data[" + i + "]: " + data[i]); + expect(data[i]).assertEqual(result[3][i]) + } + done() + }, (error) => { + expect(false).assertTrue(); + console.info('promise failed') + done() + }) + }) + + /* + * @tc.name: SensorJsTest_097 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2RP + * @tc.author: + */ + it('SensorJsTest_097', 0, async function (done) { + console.info('SensorJsTest_097 start') + sensor.createQuaternion([0.25, 0.14]).then((data) => { + console.info('SensorJsTest_097'); + expect(false).assertTrue(); + done() + }, (error) => { + expect(true).assertTrue(); + console.info('promise failed') + done() + }) + }) + + let createRotationMatrixResult = [ + [0.6724675297737122, -0.10471208393573761, 0.7326819896697998, 0.06531608104705811, 0.9944750070571899, + 0.08217836916446686, -0.7372390031814575, -0.007406365126371384, 0.6755914688110352], + [1, 0, 0, 0, 1, 0, 0, 0, 1] + ] + + /* + * @tc.name: SensorJsTest_098 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2RV + * @tc.author: + */ + it('SensorJsTest_098', 0, async function (done) { + console.info("SensorJsTest_098 start"); + sensor.createRotationMatrix([-0.0245, 0.402, 0.0465], (error, data) => { + console.info("SensorJsTest_098"); + if (error) { + console.info('SensorJsTest_098 failed'); + expect(false).assertTrue(); + } else { + for (var i = 0; i < data.length; i++) { + console.info("SensorJsTest_098 [" + i + ") = " + data[i]); + expect(data[i]).assertEqual(createRotationMatrixResult[0][i]) + } + } + done() + }) + console.info(LABEL + "SensorJsTest_098 end"); + }) + + /* + * tc.name: SensorJsTest_099 + * tc.desc: Verfication results of the incorrect parameters of test interface. + * tc.require: SR000GH2A2 + * @tc.author: + */ + it('SensorJsTest_099', 0, async function (done) { + console.info('SensorJsTest_099 start') + sensor.createRotationMatrix([-0.0245, 0.402, 0.0465]).then((data) => { + for (var i = 0; i < data.length; i++) { + console.info("SensorJsTest_099 [" + i + "] : " + data[i]); + expect(data[i]).assertEqual(createRotationMatrixResult[0][i]) + } + done() + }, (error) => { + expect(false).assertTrue(); + console.info('promise failed', error) + done() + }) + console.info("SensorJsTest_099 end") + }) + + /* + * tc.name: SensorJsTest_100 + * tc.desc: Verfication results of the incorrect parameters of test interface. + * tc.require: AR000GH2RV + * @tc.author: + */ + it('SensorJsTest_100', 0, async function (done) { + console.info('SensorJsTest_100 start') + sensor.createRotationMatrix([0, 0, 0]).then((data) => { + for (var i = 0; i < data.length; i++) { + console.info("SensorJsTest_100 [" + i + "] : " + data[i]); + expect(data[i]).assertEqual(createRotationMatrixResult[1][i]) + } + done() + }, (error) => { + expect(false).assertTrue(); + console.info('promise failed', error) + done() + }) + console.info("SensorJsTest_100 end") + }) + + var getGeomagneticDipResult = [0.8760581016540527, 0.862170, -Infinity, 44330] + + /* + * @tc.name: SensorJsTest_101 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2OG + * @tc.author: + */ + it('SensorJsTest_101', 0, async function (done) { + console.info('SensorJsTest_101 start') + sensor.getGeomagneticDip([1, 2, 3, 4, 5, 6, 7, 8, 9], (error, data) => { + if (error) { + console.info('SensorJsTest_101 failed'); + expect(false).assertTrue(); + } else { + console.info("SensorJsTest_101" + data) + expect(data).assertEqual(getGeomagneticDipResult[0]) + } + done() + console.info('SensorJsTest_101' + 'lengh:' + data.length); + }) + console.info("SensorJsTest_101 end") + }) + + /* + * @tc.name: SensorJsTest_102 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2OG + * @tc.author: + */ + it('SensorJsTest_102', 0, async function (done) { + console.info('SensorJsTest_102 start') + sensor.getGeomagneticDip([1, 2, 3, 4], (error, data) => { + if (error) { + console.info('SensorJsTest_102 success'); + expect(true).assertTrue(); + } else { + console.info("SensorJsTest_102 failed") + expect(false).assertTrue(); + } + done() + }) + console.info("SensorJsTest_102 end") + }) + + /* + * @tc.name: SensorJsTest_103 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2OG + * @tc.author: + */ + it('SensorJsTest_103', 0, async function (done) { + console.info('SensorJsTest_103 start') + sensor.getAltitude(0, 100, (error, data) => { + if (error) { + console.info('SensorJsTest_103 failed'); + expect(false).assertTrue(); + } else { + console.info("SensorJsTest_103" + data) + expect(data).assertEqual(getGeomagneticDipResult[2]) + } + done() + console.info("SensorJsTest_103 end") + }) + }) + + /* + * @tc.name: SensorJsTest_104 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2OG + * @tc.author: + */ + it('SensorJsTest_104', 0, async function (done) { + console.info('SensorJsTest_104 start') + sensor.getAltitude(5, 0, (error, data) => { + if (error) { + console.info('SensorJsTest_104 failed'); + expect(false).assertTrue(); + } else { + console.info("SensorJsTest_104" + data) + expect(data).assertEqual(getGeomagneticDipResult[3]) + } + done() + }) + console.info("SensorJsTest_104 end") + }) + + /* + * @tc.name: SensorJsTest_105 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2OG + * @tc.author: + */ + it('SensorJsTest_105', 0, async function (done) { + sensor.getAltitude(0, 100).then((data) => { + console.info("SensorJsTest_104" + data) + expect(data).assertEqual(getGeomagneticDipResult[2]) + done() + }, (error) => { + console.info('SensorJsTest_104 failed'); + expect(false).assertTrue(); + done() + }); + }) + + /* + * @tc.name: SensorJsTest_106 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2OG + * @tc.author: + */ + it('SensorJsTest_106', 0, async function (done) { + sensor.getAltitude(5, 0).then((data) => { + console.info("SensorJsTest_104" + data) + expect(data).assertEqual(getGeomagneticDipResult[3]) + done() + }, (error) => { + console.info('SensorJsTest_104 failed'); + expect(false).assertTrue(); + done() + }); + }) + + let transformCoordinateSystemResult = [ + [1.500000, 1.500000, 1.500000, 1.500000, 1.500000, 1.500000, 1.500000, 1.500000, 1.500000], + [340282001837565600000000000000000000000.000000, 340282001837565600000000000000000000000.000000, + 340282001837565600000000000000000000000.000000, + 340282001837565600000000000000000000000.000000, 340282001837565600000000000000000000000.000000, + 340282001837565600000000000000000000000.000000, + 340282001837565600000000000000000000000.000000, 340282001837565600000000000000000000000.000000, + 340282001837565600000000000000000000000.000000], + [Infinity, -Infinity, Infinity, Infinity, -Infinity, Infinity, Infinity, -Infinity, Infinity]] + + /* + * @tc.name: SensorJsTest_107 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2TR + * @tc.author: + */ + it('SensorJsTest_107', 0, async function (done) { + console.info("---------------------------SensorJsTest_107----------------------------------"); + sensor.transformCoordinateSystem([1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5], { + 'axisX': 1, + 'axisY': 2 + }, (error, data) => { + if (error) { + console.info('SensorJsTest_107 failed'); + expect(false).assertTrue(); + } else { + console.info("SensorJsTest_107 " + JSON.stringify(data)); + expect(JSON.stringify(data)).assertEqual(JSON.stringify(transformCoordinateSystemResult[0])) + } + done() + }) + }) + + /* + * @tc.name: SensorJsTest_108 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2TR + * @tc.author: + */ + it('SensorJsTest_108', 0, async function (done) { + console.info("---------------------------SensorJsTest_108----------------------------------"); + sensor.transformCoordinateSystem([3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, 3.40282e+38, + 3.40282e+38, 3.40282e+38, 3.40282e+38], { 'axisX': 1, 'axisY': 2 }, (error, data) => { + if (error) { + console.info('SensorJsTest_108 failed'); + expect(false).assertTrue(); + } else { + console.info("SensorJsTest_108 " + JSON.stringify(data)); + expect(JSON.stringify(data)).assertEqual(JSON.stringify(transformCoordinateSystemResult[1])) + } + done() + }) + }) + + /* + * @tc.name: SensorJsTest_109 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2TR + * @tc.author: + */ + it("SensorJsTest_109", 0, async function (done) { + console.info("---------------------------SensorJsTest_109----------------------------------"); + sensor.transformCoordinateSystem([1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5], { + 'axisX': 1, + 'axisY': 2 + }).then((data) => { + for (var i = 0; i < data.length; i++) { + console.info("SensorJsTest_109 data[ " + i + "] = " + data[i]); + expect(data[i]).assertEqual(transformCoordinateSystemResult[0][i]); + } + done() + }, (error) => { + console.info('SensorJsTest_109 failed'); + expect(false).assertTrue(); + done() + }); + }) + + /* + * @tc.name: SensorJsTest_110 + * @tc.desc: Verfication results of the incorrect parameters of test interface. + * @tc.require: AR000GH2TR + * @tc.author: + */ + it("SensorJsTest_110", 0, async function (done) { + console.info("---------------------------SensorJsTest_110----------------------------------"); + sensor.transformCoordinateSystem([3.40282e+39, 3.40282e+39, 3.40282e+39, 3.40282e+39, 3.40282e+39, + 3.40282e+39, 3.40282e+39, 3.40282e+39, 3.40282e+39], { 'axisX': 1, 'axisY': 3 }).then((data) => { + for (var i = 0; i < data.length; i++) { + console.info("SensorJsTest_110 data[ " + i + "] = " + data[i]); + expect(data[i]).assertEqual(transformCoordinateSystemResult[2][i]); + } + done() + }, (error) => { + console.info('SensorJsTest_109 failed'); + expect(false).assertTrue(); + done() + }); + }) + + +}) + + + +