• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16// @ts-ignore
17import {EnergyAnomalyStruct, EnergySystemStruct, EnergyPowerStruct, EnergyStateStruct, PowerDetailsEnergy, PowerBatteryEnergy, SystemDetailsEnergy} from "../../../dist/trace/bean/EnergyStruct.js";
18
19describe('EnergyStruct Test', ()=> {
20    let energyAnomalyStruct = new EnergyAnomalyStruct();
21    let energySystemStruct = new EnergySystemStruct();
22    let energyPowerStruct = new EnergyPowerStruct();
23    let energyStateStruct = new EnergyStateStruct();
24    let powerDetailsEnergy = new PowerDetailsEnergy();
25    let powerBatteryEnergy = new PowerBatteryEnergy();
26    let systemDetailsEnergy = new SystemDetailsEnergy();
27
28    it('energyAnomalyStructTest', function () {
29        energyAnomalyStruct = {
30            type: 0,
31            startNS: 0,
32            height: 0,
33            eventName: 'eventName'
34        };
35        expect(energyAnomalyStruct).not.toBeUndefined()
36        expect(energyAnomalyStruct).toMatchInlineSnapshot({
37  type: expect.any(Number),
38  startNS: expect.any(Number),
39  height: expect.any(Number),
40  eventName: expect.any(String) }, `
41Object {
42  "eventName": Any<String>,
43  "height": Any<Number>,
44  "startNS": Any<Number>,
45  "type": Any<Number>,
46}
47`);
48    });
49
50    it('energySystemStructTest', function () {
51        energySystemStruct = {
52            type: 0,
53            startNs: 0,
54            dur: 0,
55            workScheduler: "",
56            power: "",
57            location: ""
58        };
59        expect(energySystemStruct).not.toBeUndefined()
60        expect(energySystemStruct).toMatchInlineSnapshot({
61  type: expect.any(Number),
62  startNs: expect.any(Number),
63  dur: expect.any(Number),
64  workScheduler: expect.any(String),
65  power: expect.any(String),
66  location: expect.any(String) }, `
67Object {
68  "dur": Any<Number>,
69  "location": Any<String>,
70  "power": Any<String>,
71  "startNs": Any<Number>,
72  "type": Any<Number>,
73  "workScheduler": Any<String>,
74}
75`);
76    });
77
78    it('energyPowerStructTest', function () {
79        energyPowerStruct = {
80            type: 0,
81            name: "",
82            ts: 0,
83            cpu: 0,
84            location: 0,
85            gpu: 0,
86            display:  0,
87            camera: 0,
88            bluetooth: 0,
89            flashlight: 0,
90            audio: 0,
91            wifiscan: 0
92        };
93        expect(energyPowerStruct).not.toBeUndefined()
94        expect(energyPowerStruct).toMatchInlineSnapshot({
95  type: expect.any(Number),
96  name: expect.any(String),
97  ts: expect.any(Number),
98  cpu: expect.any(Number),
99  location: expect.any(Number),
100  gpu: expect.any(Number),
101  display: expect.any(Number),
102  camera: expect.any(Number),
103  bluetooth: expect.any(Number),
104  flashlight: expect.any(Number),
105  audio: expect.any(Number),
106  wifiscan: expect.any(Number) }, `
107Object {
108  "audio": Any<Number>,
109  "bluetooth": Any<Number>,
110  "camera": Any<Number>,
111  "cpu": Any<Number>,
112  "display": Any<Number>,
113  "flashlight": Any<Number>,
114  "gpu": Any<Number>,
115  "location": Any<Number>,
116  "name": Any<String>,
117  "ts": Any<Number>,
118  "type": Any<Number>,
119  "wifiscan": Any<Number>,
120}
121`);
122    });
123
124    it('energyStateStructTest', function () {
125        energyStateStruct = {
126            type: "",
127            startNs: 0,
128            dur: 0,
129            value: 0
130        };
131        expect(energyStateStruct).not.toBeUndefined()
132        expect(energyStateStruct).toMatchInlineSnapshot({
133  type: expect.any(String),
134  startNs: expect.any(Number),
135  dur: expect.any(Number),
136  value: expect.any(Number) }, `
137Object {
138  "dur": Any<Number>,
139  "startNs": Any<Number>,
140  "type": Any<String>,
141  "value": Any<Number>,
142}
143`);
144    });
145
146
147    it('powerDetailsEnergyTest', function () {
148        powerDetailsEnergy = {
149            event: "",
150            charge: 0,
151            background_time: 0,
152            screen_on_time: 0,
153            screen_off_time: 0,
154            load: "-",
155            usage: 0,
156            duration: 0,
157            camera_id: 0,
158            foreground_count: 0,
159            background_count: 0,
160            screen_on_count: 0,
161            screen_off_count: 0,
162            count: 0,
163            appName: "",
164            uid: 0,
165            foreground_duration: 0,
166            foreground_energy: 0,
167            background_duration: 0,
168            background_energy: 0,
169            screen_on_duration: 0,
170            screen_on_energy: 0,
171            screen_off_duration: 0,
172            screen_off_energy: 0,
173            energy: 0,
174            energyConsumptionRatio: ""
175        };
176        expect(powerDetailsEnergy).not.toBeUndefined()
177        expect(powerDetailsEnergy).toMatchInlineSnapshot({
178  event: expect.any(String),
179  charge: expect.any(Number),
180  background_time: expect.any(Number),
181  screen_on_time: expect.any(Number),
182  screen_off_time: expect.any(Number),
183  load: expect.any(String),
184  usage: expect.any(Number),
185  duration: expect.any(Number),
186  camera_id: expect.any(Number),
187  foreground_count: expect.any(Number),
188  background_count: expect.any(Number),
189  screen_on_count: expect.any(Number),
190  screen_off_count: expect.any(Number),
191  count: expect.any(Number),
192  appName: expect.any(String),
193  uid: expect.any(Number),
194  foreground_duration: expect.any(Number),
195  foreground_energy: expect.any(Number),
196  background_duration: expect.any(Number),
197  background_energy: expect.any(Number),
198  screen_on_duration: expect.any(Number),
199  screen_on_energy: expect.any(Number),
200  screen_off_duration: expect.any(Number),
201  screen_off_energy: expect.any(Number),
202  energy: expect.any(Number),
203  energyConsumptionRatio: expect.any(String) }, `
204Object {
205  "appName": Any<String>,
206  "background_count": Any<Number>,
207  "background_duration": Any<Number>,
208  "background_energy": Any<Number>,
209  "background_time": Any<Number>,
210  "camera_id": Any<Number>,
211  "charge": Any<Number>,
212  "count": Any<Number>,
213  "duration": Any<Number>,
214  "energy": Any<Number>,
215  "energyConsumptionRatio": Any<String>,
216  "event": Any<String>,
217  "foreground_count": Any<Number>,
218  "foreground_duration": Any<Number>,
219  "foreground_energy": Any<Number>,
220  "load": Any<String>,
221  "screen_off_count": Any<Number>,
222  "screen_off_duration": Any<Number>,
223  "screen_off_energy": Any<Number>,
224  "screen_off_time": Any<Number>,
225  "screen_on_count": Any<Number>,
226  "screen_on_duration": Any<Number>,
227  "screen_on_energy": Any<Number>,
228  "screen_on_time": Any<Number>,
229  "uid": Any<Number>,
230  "usage": Any<Number>,
231}
232`);
233    });
234
235
236    it('powerBatteryEnergyTest', function () {
237        powerBatteryEnergy = {
238            gasGauge: -1,
239            charge: -1,
240            screen: -1,
241            level: -1,
242            current: -1,
243            capacity: -1,
244            appName: "",
245            uid: -1
246        };
247        expect(powerBatteryEnergy).not.toBeUndefined()
248        expect(powerBatteryEnergy).toMatchInlineSnapshot({
249  gasGauge: expect.any(Number),
250  charge: expect.any(Number),
251  screen: expect.any(Number),
252  level: expect.any(Number),
253  current: expect.any(Number),
254  capacity: expect.any(Number),
255  appName: expect.any(String),
256  uid: expect.any(Number) }, `
257Object {
258  "appName": Any<String>,
259  "capacity": Any<Number>,
260  "charge": Any<Number>,
261  "current": Any<Number>,
262  "gasGauge": Any<Number>,
263  "level": Any<Number>,
264  "screen": Any<Number>,
265  "uid": Any<Number>,
266}
267`);
268    });
269
270
271    it('systemDetailsEnergyTest', function () {
272        systemDetailsEnergy = {
273            eventName: "",
274            type: "",
275            pid: -1,
276            uid: -1,
277            state: -1,
278            workId: "",
279            name: "",
280            interval: -1,
281            level: -1,
282            tag: "",
283            message: "",
284            log_level: ""
285        };
286        expect(systemDetailsEnergy).not.toBeUndefined()
287        expect(systemDetailsEnergy).toMatchInlineSnapshot({
288  eventName: expect.any(String),
289  type: expect.any(String),
290  pid: expect.any(Number),
291  uid: expect.any(Number),
292  state: expect.any(Number),
293  workId: expect.any(String),
294  name: expect.any(String),
295  interval: expect.any(Number),
296  level: expect.any(Number),
297  tag: expect.any(String),
298  message: expect.any(String),
299  log_level: expect.any(String) }, `
300Object {
301  "eventName": Any<String>,
302  "interval": Any<Number>,
303  "level": Any<Number>,
304  "log_level": Any<String>,
305  "message": Any<String>,
306  "name": Any<String>,
307  "pid": Any<Number>,
308  "state": Any<Number>,
309  "tag": Any<String>,
310  "type": Any<String>,
311  "uid": Any<Number>,
312  "workId": Any<String>,
313}
314`);
315    });
316
317})