Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. /*
  2. * Copyright (C) 2009, 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.revwalk;
  11. import static org.junit.Assert.assertEquals;
  12. import static org.junit.Assert.assertFalse;
  13. import static org.junit.Assert.assertNotNull;
  14. import static org.junit.Assert.assertSame;
  15. import static org.junit.Assert.assertTrue;
  16. import java.util.Arrays;
  17. import java.util.Iterator;
  18. import org.junit.Test;
  19. public class RevFlagSetTest extends RevWalkTestCase {
  20. @Test
  21. public void testEmpty() {
  22. final RevFlagSet set = new RevFlagSet();
  23. assertEquals(0, set.mask);
  24. assertEquals(0, set.size());
  25. assertNotNull(set.iterator());
  26. assertFalse(set.iterator().hasNext());
  27. }
  28. @Test
  29. public void testAddOne() {
  30. final String flagName = "flag";
  31. final RevFlag flag = rw.newFlag(flagName);
  32. assertTrue(0 != flag.mask);
  33. assertSame(flagName, flag.name);
  34. final RevFlagSet set = new RevFlagSet();
  35. assertTrue(set.add(flag));
  36. assertFalse(set.add(flag));
  37. assertEquals(flag.mask, set.mask);
  38. assertEquals(1, set.size());
  39. final Iterator<RevFlag> i = set.iterator();
  40. assertTrue(i.hasNext());
  41. assertSame(flag, i.next());
  42. assertFalse(i.hasNext());
  43. }
  44. @Test
  45. public void testAddTwo() {
  46. final RevFlag flag1 = rw.newFlag("flag_1");
  47. final RevFlag flag2 = rw.newFlag("flag_2");
  48. assertEquals(0, (flag1.mask & flag2.mask));
  49. final RevFlagSet set = new RevFlagSet();
  50. assertTrue(set.add(flag1));
  51. assertTrue(set.add(flag2));
  52. assertEquals(flag1.mask | flag2.mask, set.mask);
  53. assertEquals(2, set.size());
  54. }
  55. @Test
  56. public void testContainsAll() {
  57. final RevFlag flag1 = rw.newFlag("flag_1");
  58. final RevFlag flag2 = rw.newFlag("flag_2");
  59. final RevFlagSet set1 = new RevFlagSet();
  60. assertTrue(set1.add(flag1));
  61. assertTrue(set1.add(flag2));
  62. assertTrue(set1.containsAll(Arrays
  63. .asList(new RevFlag[] { flag1, flag2 })));
  64. final RevFlagSet set2 = new RevFlagSet();
  65. set2.add(rw.newFlag("flag_3"));
  66. assertFalse(set1.containsAll(set2));
  67. }
  68. @Test
  69. public void testEquals() {
  70. final RevFlag flag1 = rw.newFlag("flag_1");
  71. final RevFlag flag2 = rw.newFlag("flag_2");
  72. final RevFlagSet set = new RevFlagSet();
  73. assertTrue(set.add(flag1));
  74. assertTrue(set.add(flag2));
  75. assertEquals(set, new RevFlagSet(set));
  76. assertTrue(new RevFlagSet(Arrays.asList(new RevFlag[] { flag1, flag2 }))
  77. .equals(set));
  78. }
  79. @Test
  80. public void testRemove() {
  81. final RevFlag flag1 = rw.newFlag("flag_1");
  82. final RevFlag flag2 = rw.newFlag("flag_2");
  83. final RevFlagSet set = new RevFlagSet();
  84. assertTrue(set.add(flag1));
  85. assertTrue(set.add(flag2));
  86. assertTrue(set.remove(flag1));
  87. assertFalse(set.remove(flag1));
  88. assertEquals(flag2.mask, set.mask);
  89. assertFalse(set.contains(flag1));
  90. }
  91. @Test
  92. public void testContains() {
  93. final RevFlag flag1 = rw.newFlag("flag_1");
  94. final RevFlag flag2 = rw.newFlag("flag_2");
  95. final RevFlagSet set = new RevFlagSet();
  96. set.add(flag1);
  97. assertTrue(set.contains(flag1));
  98. assertFalse(set.contains(flag2));
  99. }
  100. }