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