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