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.

InflatingBitSetTest.java 1.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /*
  2. * Copyright (C) 2012, 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.internal.storage.file;
  11. import static org.junit.Assert.assertFalse;
  12. import static org.junit.Assert.assertTrue;
  13. import org.junit.Test;
  14. import com.googlecode.javaewah.EWAHCompressedBitmap;
  15. public class InflatingBitSetTest {
  16. @Test
  17. public void testMaybeContains() {
  18. EWAHCompressedBitmap ecb = new EWAHCompressedBitmap();
  19. ecb.set(63);
  20. ecb.set(64);
  21. ecb.set(128);
  22. InflatingBitSet ibs = new InflatingBitSet(ecb);
  23. assertTrue(ibs.maybeContains(0));
  24. assertFalse(ibs.contains(0)); // Advance
  25. assertFalse(ibs.maybeContains(0));
  26. assertTrue(ibs.maybeContains(63));
  27. assertTrue(ibs.maybeContains(64));
  28. assertTrue(ibs.maybeContains(65));
  29. assertFalse(ibs.maybeContains(129));
  30. }
  31. @Test
  32. public void testContainsMany() {
  33. EWAHCompressedBitmap ecb = new EWAHCompressedBitmap();
  34. ecb.set(64);
  35. ecb.set(65);
  36. ecb.set(1024);
  37. InflatingBitSet ibs = new InflatingBitSet(ecb);
  38. assertFalse(ibs.contains(0));
  39. assertTrue(ibs.contains(64));
  40. assertTrue(ibs.contains(65));
  41. assertFalse(ibs.contains(66));
  42. assertTrue(ibs.contains(1024));
  43. assertFalse(ibs.contains(1025));
  44. }
  45. @Test
  46. public void testContainsOne() {
  47. EWAHCompressedBitmap ecb = new EWAHCompressedBitmap();
  48. ecb.set(64);
  49. InflatingBitSet ibs = new InflatingBitSet(ecb);
  50. assertTrue(ibs.contains(64));
  51. assertTrue(ibs.contains(64));
  52. assertFalse(ibs.contains(65));
  53. assertFalse(ibs.contains(63));
  54. }
  55. @Test
  56. public void testContainsEmpty() {
  57. InflatingBitSet ibs = new InflatingBitSet(new EWAHCompressedBitmap());
  58. assertFalse(ibs.maybeContains(0));
  59. assertFalse(ibs.contains(0));
  60. }
  61. }