You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

IntListTest.java 3.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. /*
  2. * Copyright (C) 2008, Google Inc. and others
  3. *
  4. * This program and the accompanying materials are made available under the
  5. * terms of the Eclipse Distribution License v. 1.0 which is available at
  6. * https://www.eclipse.org/org/documents/edl-v10.php.
  7. *
  8. * SPDX-License-Identifier: BSD-3-Clause
  9. */
  10. package org.eclipse.jgit.util;
  11. import static org.junit.Assert.assertEquals;
  12. import static org.junit.Assert.assertFalse;
  13. import static org.junit.Assert.assertTrue;
  14. import static org.junit.Assert.fail;
  15. import org.junit.Test;
  16. public class IntListTest {
  17. @Test
  18. public void testEmpty_DefaultCapacity() {
  19. final IntList i = new IntList();
  20. assertEquals(0, i.size());
  21. try {
  22. i.get(0);
  23. fail("Accepted 0 index on empty list");
  24. } catch (ArrayIndexOutOfBoundsException e) {
  25. assertTrue(true);
  26. }
  27. }
  28. @Test
  29. public void testEmpty_SpecificCapacity() {
  30. final IntList i = new IntList(5);
  31. assertEquals(0, i.size());
  32. try {
  33. i.get(0);
  34. fail("Accepted 0 index on empty list");
  35. } catch (ArrayIndexOutOfBoundsException e) {
  36. assertTrue(true);
  37. }
  38. }
  39. @Test
  40. public void testAdd_SmallGroup() {
  41. final IntList i = new IntList();
  42. final int n = 5;
  43. for (int v = 0; v < n; v++)
  44. i.add(10 + v);
  45. assertEquals(n, i.size());
  46. for (int v = 0; v < n; v++)
  47. assertEquals(10 + v, i.get(v));
  48. try {
  49. i.get(n);
  50. fail("Accepted out of bound index on list");
  51. } catch (ArrayIndexOutOfBoundsException e) {
  52. assertTrue(true);
  53. }
  54. }
  55. @Test
  56. public void testAdd_ZeroCapacity() {
  57. final IntList i = new IntList(0);
  58. assertEquals(0, i.size());
  59. i.add(1);
  60. assertEquals(1, i.get(0));
  61. }
  62. @Test
  63. public void testAdd_LargeGroup() {
  64. final IntList i = new IntList();
  65. final int n = 500;
  66. for (int v = 0; v < n; v++)
  67. i.add(10 + v);
  68. assertEquals(n, i.size());
  69. for (int v = 0; v < n; v++)
  70. assertEquals(10 + v, i.get(v));
  71. try {
  72. i.get(n);
  73. fail("Accepted out of bound index on list");
  74. } catch (ArrayIndexOutOfBoundsException e) {
  75. assertTrue(true);
  76. }
  77. }
  78. @Test
  79. public void testFillTo0() {
  80. final IntList i = new IntList();
  81. i.fillTo(0, Integer.MIN_VALUE);
  82. assertEquals(0, i.size());
  83. }
  84. @Test
  85. public void testFillTo1() {
  86. final IntList i = new IntList();
  87. i.fillTo(1, Integer.MIN_VALUE);
  88. assertEquals(1, i.size());
  89. i.add(0);
  90. assertEquals(Integer.MIN_VALUE, i.get(0));
  91. assertEquals(0, i.get(1));
  92. }
  93. @Test
  94. public void testFillTo100() {
  95. final IntList i = new IntList();
  96. i.fillTo(100, Integer.MIN_VALUE);
  97. assertEquals(100, i.size());
  98. i.add(3);
  99. assertEquals(Integer.MIN_VALUE, i.get(99));
  100. assertEquals(3, i.get(100));
  101. }
  102. @Test
  103. public void testClear() {
  104. final IntList i = new IntList();
  105. final int n = 5;
  106. for (int v = 0; v < n; v++)
  107. i.add(10 + v);
  108. assertEquals(n, i.size());
  109. i.clear();
  110. assertEquals(0, i.size());
  111. try {
  112. i.get(0);
  113. fail("Accepted 0 index on empty list");
  114. } catch (ArrayIndexOutOfBoundsException e) {
  115. assertTrue(true);
  116. }
  117. }
  118. @Test
  119. public void testSet() {
  120. final IntList i = new IntList();
  121. i.add(1);
  122. assertEquals(1, i.size());
  123. assertEquals(1, i.get(0));
  124. i.set(0, 5);
  125. assertEquals(5, i.get(0));
  126. try {
  127. i.set(5, 5);
  128. fail("accepted set of 5 beyond end of list");
  129. } catch (ArrayIndexOutOfBoundsException e){
  130. assertTrue(true);
  131. }
  132. i.set(1, 2);
  133. assertEquals(2, i.size());
  134. assertEquals(2, i.get(1));
  135. }
  136. @Test
  137. public void testContains() {
  138. IntList i = new IntList();
  139. i.add(1);
  140. i.add(4);
  141. assertTrue(i.contains(1));
  142. assertTrue(i.contains(4));
  143. assertFalse(i.contains(2));
  144. }
  145. @Test
  146. public void testToString() {
  147. final IntList i = new IntList();
  148. i.add(1);
  149. assertEquals("[1]", i.toString());
  150. i.add(13);
  151. i.add(5);
  152. assertEquals("[1, 13, 5]", i.toString());
  153. }
  154. }