1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.bcel.util;
21
22 import static org.junit.jupiter.api.Assertions.assertEquals;
23
24 import java.util.Iterator;
25
26 import org.apache.bcel.AbstractTest;
27 import org.apache.bcel.generic.IADD;
28 import org.apache.bcel.generic.ILOAD;
29 import org.apache.bcel.generic.ISTORE;
30 import org.apache.bcel.generic.InstructionHandle;
31 import org.apache.bcel.generic.InstructionList;
32 import org.junit.jupiter.api.Test;
33
34 class InstructionFinderTest extends AbstractTest {
35
36 @Test
37 void testSearch() {
38 final InstructionList il = new InstructionList();
39 il.append(new ILOAD(1));
40 il.append(new ILOAD(2));
41 il.append(new IADD());
42 il.append(new ISTORE(3));
43 final InstructionFinder finder = new InstructionFinder(il);
44
45 final Iterator<?> it = finder.search("ILOAD IADD", il.getInstructionHandles()[0], null);
46 final InstructionHandle[] ihs = (InstructionHandle[]) it.next();
47 assertEquals(2, ihs.length);
48 assertEquals(ihs[0].getInstruction(), new ILOAD(2));
49 assertEquals(ihs[1].getInstruction(), new IADD());
50 }
51 }