1fb726d48Sopenharmony_ci/*
2fb726d48Sopenharmony_ci * Copyright (C) 2022 Huawei Device Co., Ltd.
3fb726d48Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4fb726d48Sopenharmony_ci * you may not use this file except in compliance with the License.
5fb726d48Sopenharmony_ci * You may obtain a copy of the License at
6fb726d48Sopenharmony_ci *
7fb726d48Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8fb726d48Sopenharmony_ci *
9fb726d48Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10fb726d48Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11fb726d48Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12fb726d48Sopenharmony_ci * See the License for the specific language governing permissions and
13fb726d48Sopenharmony_ci * limitations under the License.
14fb726d48Sopenharmony_ci */
15fb726d48Sopenharmony_ci
16fb726d48Sopenharmony_ciimport { LitChartPie } from '../../../../src/base-ui/chart/pie/LitChartPie';
17fb726d48Sopenharmony_ciimport { Utils } from '../../../../src/trace/component/trace/base/Utils';
18fb726d48Sopenharmony_ciconst LitChartPieData = require('../../../../src/base-ui/chart/pie/LitChartPieData');
19fb726d48Sopenharmony_cijest.mock('../../../../src/base-ui/chart/pie/LitChartPieData');
20fb726d48Sopenharmony_ci
21fb726d48Sopenharmony_ciconst scrollHeight = 8000;
22fb726d48Sopenharmony_ciconst clientHeight = 1000;
23fb726d48Sopenharmony_ciconst clientWidth = 1000;
24fb726d48Sopenharmony_ci
25fb726d48Sopenharmony_ciconst fakeWindow = {
26fb726d48Sopenharmony_ci  scrollTop: 0,
27fb726d48Sopenharmony_ci};
28fb726d48Sopenharmony_cibeforeAll(() => {
29fb726d48Sopenharmony_ci  jest.spyOn(document.documentElement, 'scrollHeight', 'get').mockImplementation(() => scrollHeight);
30fb726d48Sopenharmony_ci  jest.spyOn(document.documentElement, 'clientHeight', 'get').mockImplementation(() => clientHeight);
31fb726d48Sopenharmony_ci  jest.spyOn(document.documentElement, 'clientWidth', 'get').mockImplementation(() => clientWidth);
32fb726d48Sopenharmony_ci  jest.spyOn(document.documentElement, 'scrollTop', 'get').mockImplementation(() => fakeWindow.scrollTop);
33fb726d48Sopenharmony_ci});
34fb726d48Sopenharmony_ci
35fb726d48Sopenharmony_ciwindow.ResizeObserver =
36fb726d48Sopenharmony_ci  window.ResizeObserver ||
37fb726d48Sopenharmony_ci  jest.fn().mockImplementation(() => ({
38fb726d48Sopenharmony_ci    disconnect: jest.fn(),
39fb726d48Sopenharmony_ci    observe: jest.fn(),
40fb726d48Sopenharmony_ci    unobserve: jest.fn(),
41fb726d48Sopenharmony_ci  }));
42fb726d48Sopenharmony_ci
43fb726d48Sopenharmony_cidescribe('litChartPie Test', () => {
44fb726d48Sopenharmony_ci  it('litChartPieTest01', function () {
45fb726d48Sopenharmony_ci    let litChartPie = new LitChartPie();
46fb726d48Sopenharmony_ci    expect(litChartPie).not.toBeUndefined();
47fb726d48Sopenharmony_ci  });
48fb726d48Sopenharmony_ci
49fb726d48Sopenharmony_ci  it('litChartPieTest03', function () {
50fb726d48Sopenharmony_ci    Utils.uuid = jest.fn(() => {
51fb726d48Sopenharmony_ci      return Math.floor(Math.random() * 10 + 1);
52fb726d48Sopenharmony_ci    });
53fb726d48Sopenharmony_ci    LitChartPieData.isPointIsCircle = jest.fn().mockResolvedValue(true);
54fb726d48Sopenharmony_ci    document.body.innerHTML = ` <div><lit-chart-pie id='chart-pie'></lit-chart-pie></div> `;
55fb726d48Sopenharmony_ci    let clo = document.getElementById('chart-pie') as LitChartPie;
56fb726d48Sopenharmony_ci    clo.config = {
57fb726d48Sopenharmony_ci      appendPadding: 20,
58fb726d48Sopenharmony_ci      data: [
59fb726d48Sopenharmony_ci        {
60fb726d48Sopenharmony_ci          cpu: 1,
61fb726d48Sopenharmony_ci          value: 345021,
62fb726d48Sopenharmony_ci          sum: 2111136,
63fb726d48Sopenharmony_ci          sumTimeStr: '233.99ms ',
64fb726d48Sopenharmony_ci          min: '32.12μs ',
65fb726d48Sopenharmony_ci          max: '3.47ms ',
66fb726d48Sopenharmony_ci          avg: '1.19ms ',
67fb726d48Sopenharmony_ci          count: 238,
68fb726d48Sopenharmony_ci          ratio: '33.46',
69fb726d48Sopenharmony_ci        },
70fb726d48Sopenharmony_ci        {
71fb726d48Sopenharmony_ci          cpu: 1,
72fb726d48Sopenharmony_ci          value: 1100000,
73fb726d48Sopenharmony_ci          sum: 111649487,
74fb726d48Sopenharmony_ci          sumTimeStr: '113.65ms ',
75fb726d48Sopenharmony_ci          min: '9.90μs ',
76fb726d48Sopenharmony_ci          max: '14.07ms ',
77fb726d48Sopenharmony_ci          avg: '697.24μs ',
78fb726d48Sopenharmony_ci          count: 113,
79fb726d48Sopenharmony_ci          ratio: '19.66',
80fb726d48Sopenharmony_ci        },
81fb726d48Sopenharmony_ci        {
82fb726d48Sopenharmony_ci          cpu: 1,
83fb726d48Sopenharmony_ci          value: 1411000,
84fb726d48Sopenharmony_ci          sum: 1005403,
85fb726d48Sopenharmony_ci          sumTimeStr: '100.75ms ',
86fb726d48Sopenharmony_ci          min: '32.81μs ',
87fb726d48Sopenharmony_ci          max: '25.12ms ',
88fb726d48Sopenharmony_ci          avg: '3.73ms ',
89fb726d48Sopenharmony_ci          count: 17,
90fb726d48Sopenharmony_ci          ratio: '17.43',
91fb726d48Sopenharmony_ci        },
92fb726d48Sopenharmony_ci        {
93fb726d48Sopenharmony_ci          cpu: 1,
94fb726d48Sopenharmony_ci          value: 884100,
95fb726d48Sopenharmony_ci          sum: 66958331,
96fb726d48Sopenharmony_ci          sumTimeStr: '66.96ms ',
97fb726d48Sopenharmony_ci          min: '16.82ms ',
98fb726d48Sopenharmony_ci          max: '27.30ms ',
99fb726d48Sopenharmony_ci          avg: '22.32ms ',
100fb726d48Sopenharmony_ci          count: 31,
101fb726d48Sopenharmony_ci          ratio: '11.58',
102fb726d48Sopenharmony_ci        },
103fb726d48Sopenharmony_ci        {
104fb726d48Sopenharmony_ci          cpu: 1,
105fb726d48Sopenharmony_ci          value: 960001,
106fb726d48Sopenharmony_ci          sum: 6223411,
107fb726d48Sopenharmony_ci          sumTimeStr: '62.21ms ',
108fb726d48Sopenharmony_ci          min: '93.23μs ',
109fb726d48Sopenharmony_ci          max: '20.34ms ',
110fb726d48Sopenharmony_ci          avg: '6.91ms ',
111fb726d48Sopenharmony_ci          count: 91,
112fb726d48Sopenharmony_ci          ratio: '10.76',
113fb726d48Sopenharmony_ci        },
114fb726d48Sopenharmony_ci        {
115fb726d48Sopenharmony_ci          cpu: 1,
116fb726d48Sopenharmony_ci          value: 1517001,
117fb726d48Sopenharmony_ci          sum: 2131,
118fb726d48Sopenharmony_ci          sumTimeStr: '21.87ms ',
119fb726d48Sopenharmony_ci          min: '9.90μs ',
120fb726d48Sopenharmony_ci          max: '8.28ms ',
121fb726d48Sopenharmony_ci          avg: '1.21ms ',
122fb726d48Sopenharmony_ci          count: 181,
123fb726d48Sopenharmony_ci          ratio: '3.78',
124fb726d48Sopenharmony_ci        },
125fb726d48Sopenharmony_ci        {
126fb726d48Sopenharmony_ci          cpu: 1,
127fb726d48Sopenharmony_ci          value: 1632,
128fb726d48Sopenharmony_ci          sum: 637321,
129fb726d48Sopenharmony_ci          sumTimeStr: '6.37ms ',
130fb726d48Sopenharmony_ci          min: '33.85μs ',
131fb726d48Sopenharmony_ci          max: '2.80ms ',
132fb726d48Sopenharmony_ci          avg: '531.08μs ',
133fb726d48Sopenharmony_ci          count: 121,
134fb726d48Sopenharmony_ci          ratio: '21.10',
135fb726d48Sopenharmony_ci        },
136fb726d48Sopenharmony_ci        {
137fb726d48Sopenharmony_ci          cpu: 1,
138fb726d48Sopenharmony_ci          value: 103201,
139fb726d48Sopenharmony_ci          sum: 13261,
140fb726d48Sopenharmony_ci          sumTimeStr: '31.14ms ',
141fb726d48Sopenharmony_ci          min: '25.00μs ',
142fb726d48Sopenharmony_ci          max: '1.12ms ',
143fb726d48Sopenharmony_ci          avg: '570.83μs ',
144fb726d48Sopenharmony_ci          count: 21,
145fb726d48Sopenharmony_ci          ratio: '0.20',
146fb726d48Sopenharmony_ci        },
147fb726d48Sopenharmony_ci        {
148fb726d48Sopenharmony_ci          cpu: 1,
149fb726d48Sopenharmony_ci          value: 12321,
150fb726d48Sopenharmony_ci          sum: 91661,
151fb726d48Sopenharmony_ci          sumTimeStr: '91.67μs ',
152fb726d48Sopenharmony_ci          min: '3.67μs ',
153fb726d48Sopenharmony_ci          max: '65.67μs ',
154fb726d48Sopenharmony_ci          avg: '32.67μs ',
155fb726d48Sopenharmony_ci          count: 11,
156fb726d48Sopenharmony_ci          ratio: '0.02',
157fb726d48Sopenharmony_ci        },
158fb726d48Sopenharmony_ci        {
159fb726d48Sopenharmony_ci          cpu: 1,
160fb726d48Sopenharmony_ci          value: 113201,
161fb726d48Sopenharmony_ci          sum: 76041,
162fb726d48Sopenharmony_ci          sumTimeStr: '76.04μs ',
163fb726d48Sopenharmony_ci          min: '23.04μs ',
164fb726d48Sopenharmony_ci          max: '56.04μs ',
165fb726d48Sopenharmony_ci          avg: '32.04μs ',
166fb726d48Sopenharmony_ci          count: 11,
167fb726d48Sopenharmony_ci          ratio: '0.01',
168fb726d48Sopenharmony_ci        },
169fb726d48Sopenharmony_ci      ],
170fb726d48Sopenharmony_ci      angleField: 'sum',
171fb726d48Sopenharmony_ci      colorField: 'value',
172fb726d48Sopenharmony_ci      radius: -10,
173fb726d48Sopenharmony_ci      label: {
174fb726d48Sopenharmony_ci        type: 'outer',
175fb726d48Sopenharmony_ci      },
176fb726d48Sopenharmony_ci
177fb726d48Sopenharmony_ci      tip: (test: any) => {
178fb726d48Sopenharmony_ci        return `<div>
179fb726d48Sopenharmony_ci                                <div>frequency:${test.obj.value}</div> 
180fb726d48Sopenharmony_ci                                <div>min:${test.obj.min}</div>
181fb726d48Sopenharmony_ci                                <div>max:${test.obj.max}</div>
182fb726d48Sopenharmony_ci                                <div>average:${test.obj.avg}</div>
183fb726d48Sopenharmony_ci                                <div>duration:${test.obj.sumTimeStr}</div>
184fb726d48Sopenharmony_ci                                <div>ratio:${test.obj.ratio}%</div>
185fb726d48Sopenharmony_ci                            </div>
186fb726d48Sopenharmony_ci                                `;
187fb726d48Sopenharmony_ci      },
188fb726d48Sopenharmony_ci      angleClick: () => {},
189fb726d48Sopenharmony_ci      interactions: [
190fb726d48Sopenharmony_ci        {
191fb726d48Sopenharmony_ci          type: 'element-active',
192fb726d48Sopenharmony_ci        },
193fb726d48Sopenharmony_ci      ],
194fb726d48Sopenharmony_ci    };
195fb726d48Sopenharmony_ci    let mouseOutEvent: MouseEvent = new MouseEvent('mouseout', <MouseEventInit>{ movementX: 1, movementY: 3 });
196fb726d48Sopenharmony_ci    clo.canvas.dispatchEvent(mouseOutEvent);
197fb726d48Sopenharmony_ci    expect(clo.config).not.toBeUndefined();
198fb726d48Sopenharmony_ci  });
199fb726d48Sopenharmony_ci
200fb726d48Sopenharmony_ci  it('litChartPieTest04', function () {
201fb726d48Sopenharmony_ci    Utils.uuid = jest.fn(() => {
202fb726d48Sopenharmony_ci      return Math.floor(Math.random() * 10 + 1);
203fb726d48Sopenharmony_ci    });
204fb726d48Sopenharmony_ci    LitChartPieData.isPointIsCircle = jest.fn().mockResolvedValue(false);
205fb726d48Sopenharmony_ci    document.body.innerHTML = `
206fb726d48Sopenharmony_ci        <div>
207fb726d48Sopenharmony_ci            <lit-chart-pie id='chart-pie'></lit-chart-pie>
208fb726d48Sopenharmony_ci        </div> `;
209fb726d48Sopenharmony_ci    let clo = document.getElementById('chart-pie') as LitChartPie;
210fb726d48Sopenharmony_ci    clo.config = {
211fb726d48Sopenharmony_ci      appendPadding: 3,
212fb726d48Sopenharmony_ci      data: [
213fb726d48Sopenharmony_ci        {
214fb726d48Sopenharmony_ci          cpu: 4,
215fb726d48Sopenharmony_ci          value: 1325300,
216fb726d48Sopenharmony_ci          sum: 204992136,
217fb726d48Sopenharmony_ci          sumTimeStr: '204.99ms ',
218fb726d48Sopenharmony_ci          min: '12.92μs ',
219fb726d48Sopenharmony_ci          max: '38.37ms ',
220fb726d48Sopenharmony_ci          avg: '2.09ms ',
221fb726d48Sopenharmony_ci          count: 188,
222fb726d48Sopenharmony_ci          ratio: '35.46',
223fb726d48Sopenharmony_ci        },
224fb726d48Sopenharmony_ci        {
225fb726d48Sopenharmony_ci          cpu: 1,
226fb726d48Sopenharmony_ci          value: 1200000,
227fb726d48Sopenharmony_ci          sum: 112649487,
228fb726d48Sopenharmony_ci          sumTimeStr: '113.65ms ',
229fb726d48Sopenharmony_ci          min: '9.90μs ',
230fb726d48Sopenharmony_ci          max: '14.07ms ',
231fb726d48Sopenharmony_ci          avg: '697.24μs ',
232fb726d48Sopenharmony_ci          count: 123,
233fb726d48Sopenharmony_ci          ratio: '19.66',
234fb726d48Sopenharmony_ci        },
235fb726d48Sopenharmony_ci        {
236fb726d48Sopenharmony_ci          cpu: 1,
237fb726d48Sopenharmony_ci          value: 1421002,
238fb726d48Sopenharmony_ci          sum: 100750002,
239fb726d48Sopenharmony_ci          sumTimeStr: '100.75ms ',
240fb726d48Sopenharmony_ci          min: '32.81μs ',
241fb726d48Sopenharmony_ci          max: '25.12ms ',
242fb726d48Sopenharmony_ci          avg: '3.73ms ',
243fb726d48Sopenharmony_ci          count: 22,
244fb726d48Sopenharmony_ci          ratio: '17.43',
245fb726d48Sopenharmony_ci        },
246fb726d48Sopenharmony_ci        {
247fb726d48Sopenharmony_ci          cpu: 1,
248fb726d48Sopenharmony_ci          value: 884002,
249fb726d48Sopenharmony_ci          sum: 66958332,
250fb726d48Sopenharmony_ci          sumTimeStr: '66.96ms ',
251fb726d48Sopenharmony_ci          min: '16.82ms ',
252fb726d48Sopenharmony_ci          max: '27.30ms ',
253fb726d48Sopenharmony_ci          avg: '22.32ms ',
254fb726d48Sopenharmony_ci          count: 32,
255fb726d48Sopenharmony_ci          ratio: '11.58',
256fb726d48Sopenharmony_ci        },
257fb726d48Sopenharmony_ci        {
258fb726d48Sopenharmony_ci          cpu: 1,
259fb726d48Sopenharmony_ci          value: 960020,
260fb726d48Sopenharmony_ci          sum: 62210426,
261fb726d48Sopenharmony_ci          sumTimeStr: '62.21ms ',
262fb726d48Sopenharmony_ci          min: '93.23μs ',
263fb726d48Sopenharmony_ci          max: '20.34ms ',
264fb726d48Sopenharmony_ci          avg: '6.91ms ',
265fb726d48Sopenharmony_ci          count: 29,
266fb726d48Sopenharmony_ci          ratio: '10.76',
267fb726d48Sopenharmony_ci        },
268fb726d48Sopenharmony_ci        {
269fb726d48Sopenharmony_ci          cpu: 1,
270fb726d48Sopenharmony_ci          value: 1517020,
271fb726d48Sopenharmony_ci          sum: 21867712,
272fb726d48Sopenharmony_ci          sumTimeStr: '21.87ms ',
273fb726d48Sopenharmony_ci          min: '9.90μs ',
274fb726d48Sopenharmony_ci          max: '8.28ms ',
275fb726d48Sopenharmony_ci          avg: '1.21ms ',
276fb726d48Sopenharmony_ci          count: 28,
277fb726d48Sopenharmony_ci          ratio: '3.78',
278fb726d48Sopenharmony_ci        },
279fb726d48Sopenharmony_ci        {
280fb726d48Sopenharmony_ci          cpu: 1,
281fb726d48Sopenharmony_ci          value: 1602000,
282fb726d48Sopenharmony_ci          sum: 6372217,
283fb726d48Sopenharmony_ci          sumTimeStr: '6.37ms ',
284fb726d48Sopenharmony_ci          min: '33.85μs ',
285fb726d48Sopenharmony_ci          max: '2.80ms ',
286fb726d48Sopenharmony_ci          avg: '531.08μs ',
287fb726d48Sopenharmony_ci          count: 212,
288fb726d48Sopenharmony_ci          ratio: '1.10',
289fb726d48Sopenharmony_ci        },
290fb726d48Sopenharmony_ci        {
291fb726d48Sopenharmony_ci          cpu: 1,
292fb726d48Sopenharmony_ci          value: 1037002,
293fb726d48Sopenharmony_ci          sum: 1141627,
294fb726d48Sopenharmony_ci          sumTimeStr: '1.14ms ',
295fb726d48Sopenharmony_ci          min: '25.00μs ',
296fb726d48Sopenharmony_ci          max: '1.12ms ',
297fb726d48Sopenharmony_ci          avg: '570.83μs ',
298fb726d48Sopenharmony_ci          count: 22,
299fb726d48Sopenharmony_ci          ratio: '0.20',
300fb726d48Sopenharmony_ci        },
301fb726d48Sopenharmony_ci        {
302fb726d48Sopenharmony_ci          cpu: 1,
303fb726d48Sopenharmony_ci          value: 1229200,
304fb726d48Sopenharmony_ci          sum: 91662,
305fb726d48Sopenharmony_ci          sumTimeStr: '91.67μs ',
306fb726d48Sopenharmony_ci          min: '91.67μs ',
307fb726d48Sopenharmony_ci          max: '91.67μs ',
308fb726d48Sopenharmony_ci          avg: '91.67μs ',
309fb726d48Sopenharmony_ci          count: 21,
310fb726d48Sopenharmony_ci          ratio: '0.02',
311fb726d48Sopenharmony_ci        },
312fb726d48Sopenharmony_ci        {
313fb726d48Sopenharmony_ci          cpu: 1,
314fb726d48Sopenharmony_ci          value: 12100,
315fb726d48Sopenharmony_ci          sum: 7122,
316fb726d48Sopenharmony_ci          sumTimeStr: '76.04μs ',
317fb726d48Sopenharmony_ci          min: '71.04μs ',
318fb726d48Sopenharmony_ci          max: '79.04μs ',
319fb726d48Sopenharmony_ci          avg: '98.04μs ',
320fb726d48Sopenharmony_ci          count: 12,
321fb726d48Sopenharmony_ci          ratio: '0.01',
322fb726d48Sopenharmony_ci        },
323fb726d48Sopenharmony_ci      ],
324fb726d48Sopenharmony_ci      label: {
325fb726d48Sopenharmony_ci        type: 'outer',
326fb726d48Sopenharmony_ci      },
327fb726d48Sopenharmony_ci      angleField: 'sum',
328fb726d48Sopenharmony_ci      colorField: 'value',
329fb726d48Sopenharmony_ci      radius: 22,
330fb726d48Sopenharmony_ci      tip: (testObj: any) => {
331fb726d48Sopenharmony_ci        return `<div>
332fb726d48Sopenharmony_ci                                <div>frequency:${testObj.obj.value}</div> 
333fb726d48Sopenharmony_ci                                <div>min:${testObj.obj.min}</div>
334fb726d48Sopenharmony_ci                                <div>max:${testObj.obj.max}</div>
335fb726d48Sopenharmony_ci                                <div>average:${testObj.obj.avg}</div>
336fb726d48Sopenharmony_ci                                <div>duration:${testObj.obj.sumTimeStr}</div>
337fb726d48Sopenharmony_ci                                <div>ratio:${testObj.obj.ratio}%</div>
338fb726d48Sopenharmony_ci                            </div>
339fb726d48Sopenharmony_ci                                `;
340fb726d48Sopenharmony_ci      },
341fb726d48Sopenharmony_ci      interactions: [
342fb726d48Sopenharmony_ci        {
343fb726d48Sopenharmony_ci          type: 'active',
344fb726d48Sopenharmony_ci        },
345fb726d48Sopenharmony_ci      ],
346fb726d48Sopenharmony_ci      angleClick: () => {},
347fb726d48Sopenharmony_ci    };
348fb726d48Sopenharmony_ci    let mouseOutEvent: MouseEvent = new MouseEvent('mouseout', <MouseEventInit>{ movementX: 1, movementY: 4 });
349fb726d48Sopenharmony_ci    clo.canvas.dispatchEvent(mouseOutEvent);
350fb726d48Sopenharmony_ci    expect(clo.config).not.toBeUndefined();
351fb726d48Sopenharmony_ci  });
352fb726d48Sopenharmony_ci
353fb726d48Sopenharmony_ci  it('litChartPieTest05', function () {
354fb726d48Sopenharmony_ci    Utils.uuid = jest.fn(() => {
355fb726d48Sopenharmony_ci      return Math.floor(Math.random() * 10 + 1);
356fb726d48Sopenharmony_ci    });
357fb726d48Sopenharmony_ci    LitChartPieData.isPointIsCircle = jest.fn().mockResolvedValue(true);
358fb726d48Sopenharmony_ci    document.body.innerHTML = `
359fb726d48Sopenharmony_ci        <div  width="100px" height="100px">
360fb726d48Sopenharmony_ci            <lit-chart-pie style='width:100px height:100px' width="100px" height="100px" id='chart-pie'></lit-chart-pie>
361fb726d48Sopenharmony_ci        </div> `;
362fb726d48Sopenharmony_ci    let clo = document.getElementById('chart-pie') as LitChartPie;
363fb726d48Sopenharmony_ci    jest.spyOn(clo, 'clientHeight', 'get').mockImplementation(() => clientHeight);
364fb726d48Sopenharmony_ci    jest.spyOn(clo, 'clientWidth', 'get').mockImplementation(() => clientWidth);
365fb726d48Sopenharmony_ci    clo.config = {
366fb726d48Sopenharmony_ci      appendPadding: 0,
367fb726d48Sopenharmony_ci      showChartLine: true,
368fb726d48Sopenharmony_ci      data: [
369fb726d48Sopenharmony_ci        {
370fb726d48Sopenharmony_ci          cpu: 1,
371fb726d48Sopenharmony_ci          value: 1335000,
372fb726d48Sopenharmony_ci          sum: 234991136,
373fb726d48Sopenharmony_ci          sumTimeStr: '204.99ms ',
374fb726d48Sopenharmony_ci          min: '22.92μs ',
375fb726d48Sopenharmony_ci          max: '28.37ms ',
376fb726d48Sopenharmony_ci          avg: '1.09ms ',
377fb726d48Sopenharmony_ci          count: 388,
378fb726d48Sopenharmony_ci          ratio: '35.46',
379fb726d48Sopenharmony_ci        },
380fb726d48Sopenharmony_ci        {
381fb726d48Sopenharmony_ci          cpu: 1,
382fb726d48Sopenharmony_ci          value: 1730000,
383fb726d48Sopenharmony_ci          sum: 113349487,
384fb726d48Sopenharmony_ci          sumTimeStr: '113.65ms ',
385fb726d48Sopenharmony_ci          min: '9.90μs ',
386fb726d48Sopenharmony_ci          max: '14.07ms ',
387fb726d48Sopenharmony_ci          avg: '697.24μs ',
388fb726d48Sopenharmony_ci          count: 133,
389fb726d48Sopenharmony_ci          ratio: '19.66',
390fb726d48Sopenharmony_ci        },
391fb726d48Sopenharmony_ci        {
392fb726d48Sopenharmony_ci          cpu: 1,
393fb726d48Sopenharmony_ci          value: 1421003,
394fb726d48Sopenharmony_ci          sum: 100750003,
395fb726d48Sopenharmony_ci          sumTimeStr: '100.75ms ',
396fb726d48Sopenharmony_ci          min: '32.81μs ',
397fb726d48Sopenharmony_ci          max: '25.12ms ',
398fb726d48Sopenharmony_ci          avg: '3.73ms ',
399fb726d48Sopenharmony_ci          count: 23,
400fb726d48Sopenharmony_ci          ratio: '17.43',
401fb726d48Sopenharmony_ci        },
402fb726d48Sopenharmony_ci        {
403fb726d48Sopenharmony_ci          cpu: 1,
404fb726d48Sopenharmony_ci          value: 884300,
405fb726d48Sopenharmony_ci          sum: 66958334,
406fb726d48Sopenharmony_ci          sumTimeStr: '66.96ms ',
407fb726d48Sopenharmony_ci          min: '16.82ms ',
408fb726d48Sopenharmony_ci          max: '27.30ms ',
409fb726d48Sopenharmony_ci          avg: '22.32ms ',
410fb726d48Sopenharmony_ci          count: 33,
411fb726d48Sopenharmony_ci          ratio: '11.58',
412fb726d48Sopenharmony_ci        },
413fb726d48Sopenharmony_ci        {
414fb726d48Sopenharmony_ci          cpu: 1,
415fb726d48Sopenharmony_ci          value: 960003,
416fb726d48Sopenharmony_ci          sum: 62213416,
417fb726d48Sopenharmony_ci          sumTimeStr: '62.21ms ',
418fb726d48Sopenharmony_ci          min: '93.23μs ',
419fb726d48Sopenharmony_ci          max: '20.34ms ',
420fb726d48Sopenharmony_ci          avg: '6.91ms ',
421fb726d48Sopenharmony_ci          count: 93,
422fb726d48Sopenharmony_ci          ratio: '10.76',
423fb726d48Sopenharmony_ci        },
424fb726d48Sopenharmony_ci        {
425fb726d48Sopenharmony_ci          cpu: 1,
426fb726d48Sopenharmony_ci          value: 1517300,
427fb726d48Sopenharmony_ci          sum: 214012,
428fb726d48Sopenharmony_ci          sumTimeStr: '21.87ms ',
429fb726d48Sopenharmony_ci          min: '9.90μs ',
430fb726d48Sopenharmony_ci          max: '8.28ms ',
431fb726d48Sopenharmony_ci          avg: '1.21ms ',
432fb726d48Sopenharmony_ci          count: 38,
433fb726d48Sopenharmony_ci          ratio: '3.78',
434fb726d48Sopenharmony_ci        },
435fb726d48Sopenharmony_ci        {
436fb726d48Sopenharmony_ci          cpu: 1,
437fb726d48Sopenharmony_ci          value: 1604003,
438fb726d48Sopenharmony_ci          sum: 6372917,
439fb726d48Sopenharmony_ci          sumTimeStr: '6.37ms ',
440fb726d48Sopenharmony_ci          min: '33.85μs ',
441fb726d48Sopenharmony_ci          max: '2.80ms ',
442fb726d48Sopenharmony_ci          avg: '531.08μs ',
443fb726d48Sopenharmony_ci          count: 13,
444fb726d48Sopenharmony_ci          ratio: '1.10',
445fb726d48Sopenharmony_ci        },
446fb726d48Sopenharmony_ci        {
447fb726d48Sopenharmony_ci          cpu: 1,
448fb726d48Sopenharmony_ci          value: 1037003,
449fb726d48Sopenharmony_ci          sum: 1141637,
450fb726d48Sopenharmony_ci          sumTimeStr: '1.14ms ',
451fb726d48Sopenharmony_ci          min: '25.00μs ',
452fb726d48Sopenharmony_ci          max: '1.12ms ',
453fb726d48Sopenharmony_ci          avg: '570.83μs ',
454fb726d48Sopenharmony_ci          count: 23,
455fb726d48Sopenharmony_ci          ratio: '0.20',
456fb726d48Sopenharmony_ci        },
457fb726d48Sopenharmony_ci        {
458fb726d48Sopenharmony_ci          cpu: 1,
459fb726d48Sopenharmony_ci          value: 1229300,
460fb726d48Sopenharmony_ci          sum: 91637,
461fb726d48Sopenharmony_ci          sumTimeStr: '91.67μs ',
462fb726d48Sopenharmony_ci          min: '91.67μs ',
463fb726d48Sopenharmony_ci          max: '91.67μs ',
464fb726d48Sopenharmony_ci          avg: '91.67μs ',
465fb726d48Sopenharmony_ci          count: 31,
466fb726d48Sopenharmony_ci          ratio: '0.02',
467fb726d48Sopenharmony_ci        },
468fb726d48Sopenharmony_ci        {
469fb726d48Sopenharmony_ci          cpu: 1,
470fb726d48Sopenharmony_ci          value: 1133300,
471fb726d48Sopenharmony_ci          sum: 76342,
472fb726d48Sopenharmony_ci          sumTimeStr: '76.04μs ',
473fb726d48Sopenharmony_ci          min: '78.04μs ',
474fb726d48Sopenharmony_ci          max: '76.04μs ',
475fb726d48Sopenharmony_ci          avg: '732.04μs ',
476fb726d48Sopenharmony_ci          count: 13,
477fb726d48Sopenharmony_ci          ratio: '0.01',
478fb726d48Sopenharmony_ci        },
479fb726d48Sopenharmony_ci      ],
480fb726d48Sopenharmony_ci      tip: (obj: any) => {
481fb726d48Sopenharmony_ci        return `<div>
482fb726d48Sopenharmony_ci                                <div>frequency:${obj.obj.value}</div> 
483fb726d48Sopenharmony_ci                                <div>min:${obj.obj.min}</div>
484fb726d48Sopenharmony_ci                                <div>max:${obj.obj.max}</div>
485fb726d48Sopenharmony_ci                                <div>average:${obj.obj.avg}</div>
486fb726d48Sopenharmony_ci                                <div>duration:${obj.obj.sumTimeStr}</div>
487fb726d48Sopenharmony_ci                                <div>ratio:${obj.obj.ratio}%</div>
488fb726d48Sopenharmony_ci                            </div>
489fb726d48Sopenharmony_ci                                `;
490fb726d48Sopenharmony_ci      },
491fb726d48Sopenharmony_ci      angleField: 'summary',
492fb726d48Sopenharmony_ci      colorField: 'value',
493fb726d48Sopenharmony_ci      radius: 32,
494fb726d48Sopenharmony_ci      label: {
495fb726d48Sopenharmony_ci        type: 'outer',
496fb726d48Sopenharmony_ci      },
497fb726d48Sopenharmony_ci      angleClick: () => {},
498fb726d48Sopenharmony_ci      interactions: [
499fb726d48Sopenharmony_ci        {
500fb726d48Sopenharmony_ci          type: 'element-active',
501fb726d48Sopenharmony_ci        },
502fb726d48Sopenharmony_ci      ],
503fb726d48Sopenharmony_ci    };
504fb726d48Sopenharmony_ci    let mouseOutEvent: MouseEvent = new MouseEvent('mousemove', <MouseEventInit>{ movementX: 1, movementY: 5 });
505fb726d48Sopenharmony_ci    clo.canvas.dispatchEvent(mouseOutEvent);
506fb726d48Sopenharmony_ci    expect(clo.config).not.toBeUndefined();
507fb726d48Sopenharmony_ci    clo.dataSource = [
508fb726d48Sopenharmony_ci      {
509fb726d48Sopenharmony_ci        cpu: 1,
510fb726d48Sopenharmony_ci        value: 1345000,
511fb726d48Sopenharmony_ci        sum: 244991136,
512fb726d48Sopenharmony_ci        sumTimeStr: '204.99ms ',
513fb726d48Sopenharmony_ci        min: '22.92μs ',
514fb726d48Sopenharmony_ci        max: '28.37ms ',
515fb726d48Sopenharmony_ci        avg: '1.09ms ',
516fb726d48Sopenharmony_ci        count: 488,
517fb726d48Sopenharmony_ci        ratio: '35.46',
518fb726d48Sopenharmony_ci      },
519fb726d48Sopenharmony_ci      {
520fb726d48Sopenharmony_ci        cpu: 1,
521fb726d48Sopenharmony_ci        value: 1740000,
522fb726d48Sopenharmony_ci        sum: 114649487,
523fb726d48Sopenharmony_ci        sumTimeStr: '113.65ms ',
524fb726d48Sopenharmony_ci        min: '9.90μs ',
525fb726d48Sopenharmony_ci        max: '14.07ms ',
526fb726d48Sopenharmony_ci        avg: '697.24μs ',
527fb726d48Sopenharmony_ci        count: 463,
528fb726d48Sopenharmony_ci        ratio: '19.66',
529fb726d48Sopenharmony_ci      },
530fb726d48Sopenharmony_ci    ];
531fb726d48Sopenharmony_ci    clo.centerX = 10;
532fb726d48Sopenharmony_ci    clo.centerY = 10;
533fb726d48Sopenharmony_ci
534fb726d48Sopenharmony_ci    let mouseMoveEvent: MouseEvent = new MouseEvent('click', <MouseEventInit>{ movementX: 1, movementY: 2 });
535fb726d48Sopenharmony_ci    clo.canvas.dispatchEvent(mouseMoveEvent);
536fb726d48Sopenharmony_ci  });
537fb726d48Sopenharmony_ci  it('litChartPieTest06', function () {
538fb726d48Sopenharmony_ci    let litChartPie = new LitChartPie();
539fb726d48Sopenharmony_ci    litChartPie.pieTipEL = jest.fn(() => true);
540fb726d48Sopenharmony_ci    litChartPie.pieTipEL.style = jest.fn(() => true);
541fb726d48Sopenharmony_ci    expect(litChartPie.showTip(1, 4, 'ab')).toBeUndefined();
542fb726d48Sopenharmony_ci  });
543fb726d48Sopenharmony_ci});
544