• 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 */
15import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index';
16import Queue from "@ohos.util.Queue";
17
18describe("QueueTest", function () {
19  it("SR000GGR48_testConstructor001", 0, function () {
20    try {
21      let queue = new Queue();
22    } catch (err) {
23      expect(err.name).assertEqual("TypeError");
24      expect(err.message).assertEqual("Cannot create new queue");
25    }
26  });
27  it("SR000GGR48_testAdd002", 0, function () {
28    let queue = new Queue();
29    queue.add("四");
30    let res = queue.getFirst();
31    expect(res).assertEqual("四");
32  });
33  it("SR000GGR48_testAdd003", 0, function () {
34    let queue = new Queue();
35    queue.add(8);
36    let res = queue.getFirst();
37    expect(res).assertEqual(8);
38  });
39  it("SR000GGR48_testAdd004", 0, function () {
40    let queue = new Queue();
41    let a = ["a", "b", "c"];
42    queue.add(a);
43    let res = queue.getFirst();
44    expect(res).assertEqual(a);
45  });
46  it("SR000GGR48_testGetFirst005", 0, function () {
47    let queue = new Queue();
48    queue.add(6);
49    queue.add("四");
50    let res = queue.getFirst();
51    expect(res).assertEqual(6);
52  });
53  it("SR000GGR48_testPop006", 0, function () {
54    let queue = new Queue();
55    queue.add(6);
56    queue.add("四");
57    let res = queue.pop();
58    let res1 = queue.getFirst();
59    expect(res).assertEqual(6);
60    expect(res1).assertEqual("四");
61  });
62  it("SR000GGR48_testForEach007", 0, function () {
63    let queue = new Queue();
64    queue.add(8);
65    queue.add("一");
66    queue.add("二");
67    queue.add(1);
68    queue.add(2);
69    queue.add(3);
70    queue.add(4);
71    queue.add(5);
72    queue.add(6);
73    let c = ["a", "b", "c", "d"];
74    queue.add(c);
75    let arr = [];
76    queue.forEach((item, index) => {
77      arr.push(item);
78    });
79    let a = [8, "一", "二", 1, 2, 3, 4, 5, 6, c];
80    for (let i = 0; i < a.length; i++) {
81      expect(arr[i]).assertEqual(a[i]);
82    }
83  });
84  it("SR000GGR48_testIterator008", 0, function () {
85    let queue = new Queue();
86    queue.add(8);
87    queue.add("一");
88    queue.add("二");
89    queue.add(5);
90    queue.add(6);
91    queue.add("三");
92    queue.add("四");
93    let arr = [];
94    for (let item of queue) {
95      arr.push(item);
96    }
97    let a = [8, "一", "二", 5, 6, "三", "四"];
98    for (let i = 0; i < a.length; i++) {
99      expect(arr[i]).assertEqual(a[i]);
100    }
101  });
102  it("SR000GGR48_testLength009", 0, function () {
103    let queue = new Queue();
104    queue.add(8);
105    queue.add("一");
106    queue.add("二");
107    queue.add(1);
108    queue.add(2);
109    queue.add(3);
110    queue.add(4);
111    queue.add(5);
112    queue.add(6);
113    let res = queue.length;
114    expect(9).assertEqual(res);
115  });
116  it("SR000GGR48_testAdd010", 0, function () {
117    let queue = new Queue();
118    queue.add("$");
119    let res = queue.getFirst();
120    expect(res).assertEqual("$");
121  });
122  it("SR000GGR48_testAdd011", 0, function () {
123    let queue = new Queue();
124    queue.add(" ");
125    let res = queue.getFirst();
126    expect(res).assertEqual(" ");
127  });
128  it("SR000GGR48_testAdd012", 0, function () {
129    let queue = new Queue();
130    queue.add(null);
131    let res = queue.getFirst();
132    expect(res).assertEqual(null);
133  });
134  it("SR000GGR48_testAdd013", 0, function () {
135    let queue = new Queue();
136    queue.add(undefined);
137    let res = queue.getFirst();
138    expect(res).assertEqual(undefined);
139  });
140  it("SR000GGR48_testAdd014", 0, function () {
141    let queue = new Queue();
142    for (let i = 0; i < 100; i++) {
143      queue.add(i);
144    }
145    let res = queue.length;
146    expect(res).assertEqual(100);
147  });
148  it("SR000GGR48_testGetFirst015", 0, function () {
149    let queue = new Queue();
150    let res = queue.getFirst();
151    expect(res).assertEqual(undefined);
152  });
153  it("SR000GGR48_testPop016", 0, function () {
154    let queue = new Queue();
155    let res = queue.pop();
156    expect(res).assertEqual(undefined);
157  });
158  it("SR000GGR48_testForEach017", 0, function () {
159    let queue = new Queue();
160    let arr = [];
161    queue.forEach((item, index) => {
162      arr.push(item);
163    });
164    expect(arr.length).assertEqual(0);
165  });
166  it("SR000GGR48_testIterator018", 0, function () {
167    let queue = new Queue();
168    let arr = [];
169    for (let item of queue) {
170      arr.push(item);
171    }
172    expect(arr.length).assertEqual(0);
173  });
174  it("SR000GGR48_testIterator019", 0, function () {
175    let queue = new Queue();
176    queue.add(8);
177    queue.add("一");
178    queue.add("二");
179    queue.add(5);
180    queue.add(6);
181    queue.add("三");
182    queue.add("四");
183    let arr = [];
184    let size = queue.length;
185    let itr = queue[Symbol.iterator]();
186    for (let i = 0; i < size; i++) {
187      arr.push(itr.next().value);
188    }
189    let a = [8, "一", "二", 5, 6, "三", "四"];
190    for (let i = 0; i < a.length; i++) {
191      expect(arr[i]).assertEqual(a[i]);
192    }
193  });
194});
195