1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.commons.compress.harmony.unpack200;
20
21 import static org.junit.jupiter.api.Assertions.assertEquals;
22 import static org.junit.jupiter.api.Assertions.assertFalse;
23 import static org.junit.jupiter.api.Assertions.assertNotNull;
24 import static org.junit.jupiter.api.Assertions.assertTrue;
25
26 import org.apache.commons.compress.harmony.pack200.Pack200Exception;
27 import org.junit.jupiter.api.Test;
28
29 class AttributeLayoutMapTest {
30
31 @Test
32 void testRepeatable() throws Pack200Exception {
33
34 final AttributeLayoutMap a = new AttributeLayoutMap();
35 AttributeLayout layout = a.getAttributeLayout("SourceFile", AttributeLayout.CONTEXT_CLASS);
36 assertNotNull(layout);
37 assertEquals("RUNH", layout.getLayout());
38 assertEquals(17, layout.getIndex());
39
40 a.add(new AttributeLayout("SourceFile", AttributeLayout.CONTEXT_CLASS, "FROG", 17));
41 layout = a.getAttributeLayout("SourceFile", AttributeLayout.CONTEXT_CLASS);
42 assertNotNull(layout);
43 assertEquals("FROG", layout.getLayout());
44 assertTrue(layout.matches(1 << 17));
45 assertFalse(layout.matches(1 << 16));
46 assertTrue(layout.matches(-1));
47 assertFalse(layout.matches(0));
48
49 final AttributeLayoutMap b = new AttributeLayoutMap();
50 layout = b.getAttributeLayout("SourceFile", AttributeLayout.CONTEXT_CLASS);
51 assertNotNull(layout);
52 assertEquals("RUNH", layout.getLayout());
53
54 }
55 }