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