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 Vector from "@ohos.util.Vector"; 17 18describe("VectorTest", function () { 19 it("SR000GGR47_testConstructor001", 0, function () { 20 try { 21 let vector = new Vector(); 22 } catch (err) { 23 expect(err.name).assertEqual("TypeError"); 24 expect(err.message).assertEqual("Cannot create new vector"); 25 } 26 }); 27 it("SR000GGR47_testAdd002", 0, function () { 28 let vector = new Vector(); 29 vector.add("四"); 30 let res = vector.getFirstElement(); 31 expect(res).assertEqual("四"); 32 }); 33 it("SR000GGR47_testAdd003 ", 0, function () { 34 let vector = new Vector(); 35 vector.add(4); 36 let res = vector.getFirstElement(); 37 expect(res).assertEqual(4); 38 }); 39 it("SR000GGR47_testAdd004 ", 0, function () { 40 let vector = new Vector(); 41 let a = {name: "lala", age: "13岁"}; 42 vector.add(a); 43 let res = vector.getFirstElement(); 44 expect(res).assertEqual(a); 45 }); 46 it("SR000GGR47_testAdd005 ", 0, function () { 47 let vector = new Vector(); 48 let a = [1, 2, 3, 4]; 49 vector.add(a); 50 let res = vector.getFirstElement(); 51 expect(res).assertEqual(a); 52 }); 53 it("SR000GGR47_testInsert006", 0, function () { 54 let vector = new Vector(); 55 vector.add("四"); 56 vector.add("三"); 57 vector.add(1); 58 vector.add("a"); 59 vector.insert(8, 2); 60 let res = vector.get(2); 61 expect(res).assertEqual(8); 62 }); 63 it("SR000GGR47_testInsert007", 0, function () { 64 let vector = new Vector(); 65 vector.add("四"); 66 vector.add("三"); 67 vector.add(1); 68 vector.add("a"); 69 try { 70 vector.insert(-1, 2); 71 } catch (err) { 72 expect(err.name).assertEqual("RangeError"); 73 expect(err.message).assertEqual("the index is out-of-bounds"); 74 } 75 }); 76 it("SR000GGR47_testInsert008", 0, function () { 77 let vector = new Vector(); 78 vector.add("四"); 79 vector.add("三"); 80 vector.add(1); 81 vector.add("a"); 82 let capacity = vector.getCapacity(); 83 vector.insert(capacity, 2); 84 let res = vector.get(2); 85 expect(res).assertEqual(10); 86 }); 87 it("SR000GGR47_testInsert009", 0, function () { 88 let vector = new Vector(); 89 vector.add("四"); 90 vector.add("三"); 91 vector.add(1); 92 vector.add("a"); 93 let capacity = vector.getCapacity(); 94 try { 95 vector.insert(2, capacity + 1); 96 } catch (err) { 97 expect(err.name).assertEqual("RangeError"); 98 expect(err.message).assertEqual("the index is out-of-bounds"); 99 } 100 }); 101 it("SR000GGR47_testLength010", 0, function () { 102 let vector = new Vector(); 103 vector.add("四"); 104 vector.add("三"); 105 vector.add(1); 106 vector.add("a"); 107 let res = vector.length; 108 expect(res).assertEqual(4); 109 }); 110 it("SR000GGR47_testHas011", 0, function () { 111 let vector = new Vector(); 112 vector.add("四"); 113 vector.add("三"); 114 vector.add(1); 115 vector.add("a"); 116 vector.insert(8, 2); 117 let res = vector.has(8); 118 expect(res).assertEqual(true); 119 }); 120 it("SR000GGR47_testHas012", 0, function () { 121 let vector = new Vector(); 122 vector.add("四"); 123 vector.add("三"); 124 vector.add(1); 125 vector.add("a"); 126 vector.insert(8, 2); 127 let res1 = vector.has("二"); 128 expect(res1).assertEqual(false); 129 }); 130 it("SR000GGR47_testGet013", 0, function () { 131 let vector = new Vector(); 132 vector.add("四"); 133 vector.add("三"); 134 vector.add(1); 135 vector.add("a"); 136 vector.insert(8, 2); 137 let res1 = vector.get(1); 138 expect(res1).assertEqual("三"); 139 }); 140 it("SR000GGR47_testGet014", 0, function () { 141 let vector = new Vector(); 142 vector.add("四"); 143 vector.add("三"); 144 vector.add(1); 145 vector.add("a"); 146 vector.insert(8, 2); 147 try { 148 let res = vector.get(10); 149 } catch (err) { 150 expect(err.name).assertEqual("RangeError"); 151 expect(err.message).assertEqual("the index is out-of-bounds"); 152 } 153 }); 154 it("SR000GGR47_testGetIndexOf015", 0, function () { 155 let vector = new Vector(); 156 vector.add(1); 157 vector.add("三"); 158 vector.add(1); 159 vector.add("a"); 160 vector.insert(1, 2); 161 let res1 = vector.getIndexOf(1); 162 expect(res1).assertEqual(0); 163 }); 164 it("SR000GGR47_testGetFirstElement016", 0, function () { 165 let vector = new Vector(); 166 vector.add("四"); 167 vector.add("三"); 168 vector.add(1); 169 vector.add("a"); 170 vector.insert(8, 2); 171 let res = vector.getFirstElement(); 172 expect(res).assertEqual("四"); 173 }); 174 it("SR000GGR47_testGetFirstElement017", 0, function () { 175 let vector = new Vector(); 176 let res = vector.getFirstElement(); 177 expect(res).assertEqual(undefined); 178 }); 179 it("SR000GGR47_testSet018", 0, function () { 180 let vector = new Vector(); 181 vector.add("四"); 182 vector.add("三"); 183 vector.add(1); 184 vector.add("a"); 185 vector.insert(8, 2); 186 vector.set(1, "二"); 187 let res = vector.get(1); 188 expect(res).assertEqual("二"); 189 }); 190 it("SR000GGR47_testRemoveByIndex019", 0, function () { 191 let vector = new Vector(); 192 vector.add("四"); 193 vector.add("三"); 194 vector.add(1); 195 vector.add("a"); 196 vector.removeByIndex(2); 197 let res = vector.has(1); 198 expect(res).assertEqual(false); 199 }); 200 it("SR000GGR47_testRemove020", 0, function () { 201 let vector = new Vector(); 202 vector.add("四"); 203 vector.add("三"); 204 vector.add(1); 205 vector.add("a"); 206 vector.remove("三"); 207 let res = vector.has("三"); 208 expect(res).assertEqual(false); 209 }); 210 it("SR000GGR47_testRemove021", 0, function () { 211 let vector = new Vector(); 212 vector.add("四"); 213 vector.add("三"); 214 vector.add(1); 215 vector.add("a"); 216 let res = vector.remove(2); 217 expect(res).assertEqual(false); 218 }); 219 it("SR000GGR47_testGetLastElement022", 0, function () { 220 let vector = new Vector(); 221 vector.add("四"); 222 vector.add("三"); 223 vector.add(1); 224 vector.add("a"); 225 let res1 = vector.length; 226 let res = vector.getLastElement(); 227 expect(res).assertEqual("a"); 228 }); 229 it("SR000GGR47_testGetLastElement023", 0, function () { 230 let vector = new Vector(); 231 let res = vector.getLastElement(); 232 expect(res).assertEqual(undefined); 233 }); 234 it("SR000GGR47_testGetLastIndexOf024", 0, function () { 235 let vector = new Vector(); 236 vector.add("四"); 237 vector.add("三"); 238 vector.add(1); 239 vector.add("a"); 240 vector.add(1); 241 vector.add("b"); 242 let res = vector.getLastIndexOf(1); 243 expect(res).assertEqual(4); 244 }); 245 it("SR000GGR47_testGetLastIndexFrom025", 0, function () { 246 let vector = new Vector(); 247 vector.add("四"); 248 vector.add("三"); 249 vector.add(1); 250 vector.add("a"); 251 vector.add(1); 252 vector.add("b"); 253 vector.add("c"); 254 vector.add(1); 255 let res = vector.getLastIndexFrom(1, 5); 256 expect(res).assertEqual(4); 257 }); 258 it("SR000GGR47_testGetIndexFrom026", 0, function () { 259 let vector = new Vector(); 260 vector.add("四"); 261 vector.add("三"); 262 vector.add(1); 263 vector.add("a"); 264 vector.add(1); 265 vector.add("b"); 266 vector.add("c"); 267 vector.add(1); 268 let res = vector.getIndexFrom(1, 5); 269 expect(res).assertEqual(7); 270 }); 271 it("SR000GGR47_testRemoveByRange027", 0, function () { 272 let vector = new Vector(); 273 vector.add("四"); 274 vector.add("三"); 275 vector.add(1); 276 vector.add("a"); 277 vector.add(1); 278 vector.add("b"); 279 vector.add("c"); 280 vector.add(1); 281 vector.removeByRange(1, 3); 282 let arr = []; 283 vector.forEach((item, index) => { 284 arr.push(item); 285 }); 286 let a = ["四", "a", 1, "b", "c", 1]; 287 for (let i = 0; i < a.length; i++) { 288 expect(arr[i]).assertEqual(a[i]); 289 } 290 }); 291 it("SR000GGR47_testRemoveByRange028", 0, function () { 292 let vector = new Vector(); 293 vector.add("四"); 294 vector.add("三"); 295 vector.add(1); 296 vector.add("a"); 297 vector.add(1); 298 vector.add("b"); 299 vector.add("c"); 300 vector.add(1); 301 try { 302 vector.removeByRange(3, 1); 303 } catch (err) { 304 expect(err.name).assertEqual("RangeError"); 305 expect(err.message).assertEqual("the fromIndex cannot be less than or equal to toIndex"); 306 } 307 }); 308 it("SR000GGR47_testRemoveByRange029", 0, function () { 309 let vector = new Vector(); 310 vector.add("四"); 311 vector.add("三"); 312 vector.add(1); 313 let length = vector.length; 314 try { 315 vector.removeByRange(length + 1, 7); 316 } catch (err) { 317 expect(err.name).assertEqual("RangeError"); 318 expect(err.message).assertEqual("the fromIndex or the toIndex is out-of-bounds"); 319 } 320 }); 321 it("SR000GGR47_testRemoveByRange030", 0, function () { 322 let vector = new Vector(); 323 vector.add("四"); 324 vector.add("三"); 325 vector.add(1); 326 let length = vector.length; 327 try { 328 vector.removeByRange(1, 7); 329 } catch (err) { 330 expect(err.name).assertEqual("RangeError"); 331 expect(err.message).assertEqual("the index is out-of-bounds"); 332 } 333 }); 334 it("SR000GGR47_testRemoveByRange031", 0, function () { 335 let vector = new Vector(); 336 vector.add("四"); 337 vector.add("三"); 338 vector.add(1); 339 vector.add("a"); 340 vector.add(1); 341 vector.add("b"); 342 vector.add("c"); 343 vector.add(1); 344 let capacity = vector.getCapacity(); 345 vector.removeByRange(0, capacity); 346 let arr = []; 347 vector.forEach((item, index) => { 348 arr.push(item); 349 }); 350 expect(arr.length).assertEqual(0); 351 }); 352 it("SR000GGR47_testRemoveByRange032", 0, function () { 353 let vector = new Vector(); 354 vector.add("四"); 355 vector.add("三"); 356 vector.add(1); 357 vector.add("a"); 358 vector.add(1); 359 vector.add("b"); 360 vector.add("c"); 361 vector.add(1); 362 let capacity = vector.getCapacity(); 363 try { 364 vector.removeByRange(-1, capacity); 365 } catch (err) { 366 expect(err.name).assertEqual("RangeError"); 367 expect(err.message).assertEqual("the fromIndex or the toIndex is out-of-bounds"); 368 } 369 }); 370 it("SR000GGR47_testRemoveByRange033", 0, function () { 371 let vector = new Vector(); 372 vector.add("四"); 373 vector.add("三"); 374 vector.add(1); 375 vector.add("a"); 376 vector.add(1); 377 vector.add("b"); 378 vector.add("c"); 379 vector.add(1); 380 let capacity = vector.getCapacity(); 381 vector.removeByRange(0, capacity + 1); 382 let length = vector.length; 383 expect(length).assertEqual(0); 384 }); 385 it("SR000GGR47_testSetLength034", 0, function () { 386 let vector = new Vector(); 387 vector.add("四"); 388 vector.add("三"); 389 vector.add(1); 390 vector.add("a"); 391 vector.add(1); 392 vector.add("b"); 393 vector.add("c"); 394 vector.add(1); 395 vector.setLength(5); 396 let res1 = vector.length; 397 expect(res1).assertEqual(5); 398 }); 399 it("SR000GGR47_testReplaceAllElements035", 0, function () { 400 let vector = new Vector(); 401 vector.add(4); 402 vector.add(3); 403 vector.add(1); 404 vector.add(2); 405 vector.add(14); 406 vector.replaceAllElements((item, index) => { 407 return (item = 2 * item); 408 }); 409 let arr = []; 410 vector.forEach((item, index) => { 411 arr.push(item); 412 }); 413 let a = [8, 6, 2, 4, 28]; 414 for (let i = 0; i < a.length; i++) { 415 expect(arr[i]).assertEqual(a[i]); 416 } 417 }); 418 it("SR000GGR47_testForEach036", 0, function () { 419 let vector = new Vector(); 420 vector.add(4); 421 vector.add(3); 422 vector.add(1); 423 vector.add(2); 424 vector.add(14); 425 let arr = []; 426 vector.forEach((item, index) => { 427 arr.push(item); 428 }); 429 let a = [4, 3, 1, 2, 14]; 430 for (let i = 0; i < a.length; i++) { 431 expect(arr[i]).assertEqual(a[i]); 432 } 433 }); 434 it("SR000GGR47_testForEach037", 0, function () { 435 let vector = new Vector(); 436 let arr = []; 437 vector.forEach((item, index) => { 438 arr.push(item); 439 }); 440 let a = [4, 3, 1, 2, 14]; 441 expect(arr.length).assertEqual(0); 442 }); 443 it("SR000GGR47_testSubVector038", 0, function () { 444 let vector = new Vector(); 445 vector.add(4); 446 vector.add(3); 447 vector.add(1); 448 vector.add(2); 449 vector.add(14); 450 let res = vector.subVector(2, 4); 451 let arr = []; 452 res.forEach((item, index) => { 453 arr.push(item); 454 }); 455 let a = [1, 2]; 456 for (let i = 0; i < a.length; i++) { 457 expect(arr[i]).assertEqual(a[i]); 458 } 459 }); 460 it("SR000GGR47_testSubVector039", 0, function () { 461 let vector = new Vector(); 462 vector.add(4); 463 vector.add(3); 464 vector.add(1); 465 vector.add(2); 466 vector.add(14); 467 try { 468 let res = vector.subVector(4, 2); 469 } catch (err) { 470 expect(err.name).assertEqual("RangeError"); 471 expect(err.message).assertEqual("the fromIndex cannot be less than or equal to toIndex"); 472 } 473 }); 474 it("SR000GGR47_testSubVector040", 0, function () { 475 let vector = new Vector(); 476 vector.add(4); 477 vector.add(3); 478 vector.add(1); 479 vector.add(2); 480 vector.add(14); 481 let length = vector.length; 482 try { 483 vector.subVector(length + 1, length + 3); 484 } catch (err) { 485 expect(err.name).assertEqual("RangeError"); 486 expect(err.message).assertEqual("the fromIndex or the toIndex is out-of-bounds"); 487 } 488 }); 489 it("SR000GGR47_testSubVector041", 0, function () { 490 let vector = new Vector(); 491 vector.add(4); 492 vector.add(3); 493 vector.add(1); 494 vector.add(2); 495 vector.add(14); 496 let length = vector.length; 497 try { 498 let res = vector.subVector(1, length + 1); 499 } catch (err) { 500 expect(err.name).assertEqual("RangeError"); 501 expect(err.message).assertEqual("the fromIndex or the toIndex is out-of-bounds"); 502 } 503 }); 504 it("SR000GGR47_testClear042", 0, function () { 505 let vector = new Vector(); 506 vector.add(4); 507 vector.add(3); 508 vector.add(1); 509 vector.add(2); 510 vector.add(14); 511 vector.clear(); 512 let res = vector.length; 513 expect(res).assertEqual(0); 514 }); 515 it("SR000GGR47_testConvertToArray043", 0, function () { 516 let vector = new Vector(); 517 vector.add(4); 518 vector.add(3); 519 vector.add(1); 520 vector.add(2); 521 vector.add(14); 522 let arr = vector.convertToArray(); 523 let a = [4, 3, 1, 2, 14]; 524 for (let i = 0; i < a.length; i++) { 525 expect(arr[i]).assertEqual(a[i]); 526 } 527 }); 528 it("SR000GGR47_testCopyToArray044", 0, function () { 529 let vector = new Vector(); 530 vector.add(4); 531 vector.add(3); 532 vector.add(1); 533 vector.add(2); 534 vector.add(14); 535 let arr1 = ["a", "b", "c"]; 536 let res = vector.copyToArray(arr1); 537 let a = [4, 3, 1]; 538 for (let i = 0; i < a.length; i++) { 539 expect(arr1[i]).assertEqual(a[i]); 540 } 541 }); 542 it("SR000GGR47_testToString045", 0, function () { 543 let vector = new Vector(); 544 vector.add(4); 545 vector.add(3); 546 vector.add(1); 547 vector.add(2); 548 vector.add(14); 549 let res = vector.toString(); 550 expect(res).assertEqual("4,3,1,2,14"); 551 }); 552 it("SR000GGR47_testClone046", 0, function () { 553 let vector = new Vector(); 554 vector.add(4); 555 vector.add(3); 556 vector.add(1); 557 vector.add(2); 558 vector.add(14); 559 let res = vector.clone(); 560 let arr = []; 561 res.forEach((item, index) => { 562 arr.push(item); 563 }); 564 let a = [4, 3, 1, 2, 14]; 565 for (let i = 0; i < a.length; i++) { 566 expect(arr[i]).assertEqual(a[i]); 567 } 568 }); 569 it("SR000GGR47_testGetCapacity047", 0, function () { 570 let vector = new Vector(); 571 vector.add(4); 572 vector.add(3); 573 vector.add(1); 574 vector.add(2); 575 vector.add(14); 576 let res = vector.getCapacity(); 577 expect(res).assertEqual(10); 578 }); 579 it("SR000GGR47_testGetCapacity048", 0, function () { 580 let vector = new Vector(); 581 vector.add(4); 582 vector.add(3); 583 vector.add(1); 584 vector.add(2); 585 vector.add(14); 586 vector.add("a"); 587 vector.add("b"); 588 vector.add("c"); 589 vector.add("d"); 590 vector.add("v"); 591 let a = [1, 2, 3, 4]; 592 vector.add(a); 593 let res = vector.getCapacity(); 594 expect(res).assertEqual(20); 595 }); 596 it("SR000GGR47_testIncreaseCapacityTo049", 0, function () { 597 let vector = new Vector(); 598 vector.add(4); 599 vector.add(3); 600 vector.add(1); 601 vector.add(2); 602 vector.add(14); 603 vector.increaseCapacityTo(30); 604 let res = vector.getCapacity(); 605 expect(res).assertEqual(30); 606 }); 607 it("SR000GGR47_testTrimToCurrentLength050", 0, function () { 608 let vector = new Vector(); 609 vector.add(4); 610 vector.add(3); 611 vector.add(1); 612 vector.add(2); 613 vector.add(14); 614 vector.trimToCurrentLength(); 615 let res = vector.getCapacity(); 616 expect(res).assertEqual(5); 617 }); 618 it("SR000GGR47_testSetLength051", 0, function () { 619 let vector = new Vector(); 620 vector.add(4); 621 vector.add(3); 622 vector.add(1); 623 vector.add(2); 624 vector.add(14); 625 vector.setLength(7); 626 let res1 = vector.length; 627 expect(res1).assertEqual(7); 628 }); 629 it("SR000GGR47_testIterator052", 0, function () { 630 let vector = new Vector(); 631 vector.add(8); 632 vector.add("一"); 633 vector.add("二"); 634 vector.add(5); 635 let c = [1, 2, 3, 4]; 636 vector.add(c); 637 vector.add(6); 638 vector.add("三"); 639 vector.add("四"); 640 let arr = []; 641 for (let item of vector) { 642 arr.push(item); 643 } 644 let a = [8, "一", "二", 5, c, 6, "三", "四"]; 645 for (let i = 0; i < a.length; i++) { 646 expect(arr[i]).assertEqual(a[i]); 647 } 648 }); 649 it("SR000GGR47_testIteratorAndRemove053", 0, function () { 650 let vector = new Vector(); 651 vector.add(8); 652 vector.add("一"); 653 vector.add("二"); 654 vector.add(5); 655 let c = [1, 2, 3, 4]; 656 vector.add(c); 657 vector.add(6); 658 vector.add(8); 659 vector.add("三"); 660 vector.add("四"); 661 let arr = []; 662 for (let item of vector) { 663 if (item == 8) { 664 vector.remove(8); 665 } 666 } 667 for (let item of vector) { 668 arr.push(item); 669 } 670 let a = ["一", "二", 5, c, 6, "三", "四"]; 671 for (let i = 0; i < a.length; i++) { 672 expect(arr[i]).assertEqual(a[i]); 673 } 674 }); 675 it("SR000GGR47_testIteratorAndRemove054", 0, function () { 676 let vector = new Vector(); 677 vector.add(8); 678 vector.add("一"); 679 vector.add("二"); 680 vector.add(5); 681 let c = [1, 2, 3, 4]; 682 vector.add(c); 683 vector.add(6); 684 vector.add("三"); 685 vector.add("四"); 686 let arr = []; 687 for (let item of vector) { 688 if (item == 123) { 689 vector.remove(123); 690 } else { 691 arr.push(item); 692 } 693 } 694 let a = [8, "一", "二", 5, c, 6, "三", "四"]; 695 for (let i = 0; i < a.length; i++) { 696 expect(arr[i]).assertEqual(a[i]); 697 } 698 }); 699 it("SR000GGR47_testIterator055", 0, function () { 700 let vector = new Vector(); 701 let arr = []; 702 for (let item of vector) { 703 arr.push(item); 704 } 705 expect(arr.length).assertEqual(0); 706 }); 707 it("SR000GGR47_testSort056", 0, function () { 708 let vector = new Vector(); 709 vector.add(4); 710 vector.add(3); 711 vector.add(1); 712 vector.add(2); 713 vector.add(14); 714 vector.sort((a, b) => a - b); 715 let arr = []; 716 vector.forEach((item, index) => { 717 arr.push(item); 718 }); 719 let a = [1, 2, 3, 4, 14]; 720 for (let i = 0; i < a.length; i++) { 721 expect(arr[i]).assertEqual(a[i]); 722 } 723 }); 724 it("SR000GGR47_testisEmpty057", 0, function () { 725 let vector = new Vector(); 726 vector.add("四"); 727 let res = vector.isEmpty(); 728 expect(res).assertEqual(false); 729 }); 730 it("SR000GGR47_testisEmpty058", 0, function () { 731 let vector = new Vector(); 732 let res = vector.isEmpty(); 733 expect(res).assertEqual(true); 734 }); 735 it("SR000GGR47_testAdd060", 0, function () { 736 let vector = new Vector(); 737 for (let i = 0; i < 100; i++) { 738 let res3 = vector.add(i); 739 } 740 let res = vector.getLastElement(); 741 let res1 = vector.length; 742 expect(res).assertEqual(99); 743 expect(res1).assertEqual(100); 744 }); 745 it("SR000GGR47_testAdd061 ", 0, function () { 746 let vector = new Vector(); 747 vector.add("%"); 748 let res = vector.getFirstElement(); 749 expect(res).assertEqual("%"); 750 }); 751 it("SR000GGR47_testAdd062 ", 0, function () { 752 let vector = new Vector(); 753 vector.add(1.89); 754 let res = vector.getFirstElement(); 755 expect(res).assertEqual(1.89); 756 }); 757 it("SR000GGR47_testAdd063 ", 0, function () { 758 let vector = new Vector(); 759 vector.add(""); 760 let res = vector.getFirstElement(); 761 expect(res).assertEqual(""); 762 }); 763 it("SR000GGR47_testAdd064 ", 0, function () { 764 let vector = new Vector(); 765 vector.add(true); 766 let res = vector.getFirstElement(); 767 expect(res).assertEqual(true); 768 }); 769 it("SR000GGR47_testGetIndexOf065", 0, function () { 770 let vector = new Vector(); 771 vector.add(1); 772 vector.add(2); 773 vector.add(3); 774 let res = vector.getIndexOf(23); 775 expect(res).assertEqual(-1); 776 }); 777 it("SR000GGR47_testSet066", 0, function () { 778 let vector = new Vector(); 779 vector.add("四"); 780 vector.add("三"); 781 try { 782 vector.set(12, "二"); 783 } catch (err) { 784 expect(err.name).assertEqual("RangeError"); 785 expect(err.message).assertEqual("the index is out-of-bounds"); 786 } 787 }); 788 it("SR000GGR47_testRemoveByIndex067", 0, function () { 789 let vector = new Vector(); 790 vector.add("四"); 791 vector.add("三"); 792 try { 793 vector.removeByIndex(12); 794 } catch (err) { 795 expect(err.name).assertEqual("RangeError"); 796 expect(err.message).assertEqual("the index is out-of-bounds"); 797 } 798 }); 799 it("SR000GGR47_testGetLastIndexOf068", 0, function () { 800 let vector = new Vector(); 801 vector.add("四"); 802 vector.add("三"); 803 let res = vector.getLastIndexOf("二"); 804 expect(res).assertEqual(-1); 805 }); 806 it("SR000GGR47_testIterator069", 0, function () { 807 let vector = new Vector(); 808 vector.add(8); 809 vector.add("一"); 810 vector.add("二"); 811 vector.add(5); 812 let c = [1, 2, 3, 4]; 813 vector.add(c); 814 vector.add(6); 815 vector.add("三"); 816 vector.add("四"); 817 let arr = []; 818 let itr = vector[Symbol.iterator](); 819 let tmp = undefined; 820 do { 821 tmp = itr.next().value; 822 arr.push(tmp); 823 } while (tmp != undefined); 824 let a = [8, "一", "二", 5, c, 6, "三", "四"]; 825 for (let i = 0; i < a.length; i++) { 826 expect(arr[i]).assertEqual(a[i]); 827 } 828 }); 829}); 830