use of com.google.security.zynamics.zylib.disassembly.CAddress in project binnavi by google.
the class GroupNodeTest method testElements.
@Test
public void testElements() throws CouldntLoadDataException, PartialLoadException {
final Database database = new Database(new MockDatabase());
final SQLProvider mockProvider = new MockSqlProvider();
final CModule mockModule = new CModule(1, "", "", new Date(), new Date(), "00000000000000000000000000000000", "0000000000000000000000000000000000000000", 0, 0, new CAddress(0), new CAddress(0), null, null, Integer.MAX_VALUE, false, mockProvider);
final TagManager nodeTagManager = new TagManager(new MockTagManager(com.google.security.zynamics.binnavi.Tagging.TagType.NODE_TAG));
final TagManager viewTagManager = new TagManager(new MockTagManager(com.google.security.zynamics.binnavi.Tagging.TagType.VIEW_TAG));
final Module module = new Module(database, mockModule, nodeTagManager, viewTagManager);
final CModuleViewGenerator generator = new CModuleViewGenerator(mockProvider, mockModule);
final INaviView mockView = generator.generate(1, "", "", ViewType.NonNative, GraphType.FLOWGRAPH, new Date(), new Date(), 0, 0, new HashSet<CTag>(), new HashSet<CTag>(), false);
final View view = new View(module, mockView, nodeTagManager, viewTagManager);
view.load();
final CModule internalModule = new CModule(1, "", "", new Date(), new Date(), "00000000000000000000000000000000", "0000000000000000000000000000000000000000", 0, 0, new CAddress(0), new CAddress(0), null, null, Integer.MAX_VALUE, false, mockProvider);
final CFunction parentFunction = new CFunction(internalModule, new MockView(), new CAddress(0x123), "Mock Function", "Mock Function", "Mock Description", 0, 0, 0, 0, FunctionType.NORMAL, "", 0, null, null, null, mockProvider);
final CodeNode codeNode = view.createCodeNode(new Function(module, parentFunction), Lists.newArrayList(new Instruction(new MockInstruction())));
final CodeNode codeNode2 = view.createCodeNode(new Function(module, parentFunction), Lists.newArrayList(new Instruction(new MockInstruction())));
final GroupNode node = view.createGroupNode("", Lists.newArrayList((ViewNode) codeNode2));
final MockGroupNodeListener listener = new MockGroupNodeListener();
final MockViewNodeListener listener2 = new MockViewNodeListener();
node.addListener(listener);
codeNode.addListener(listener2);
node.addNode(codeNode);
assertEquals(2, node.getElements().size());
assertEquals(codeNode, node.getElements().get(1));
assertEquals(node, codeNode.getParentGroup());
assertEquals("addedElement;", listener.events);
assertEquals("changedParentGroup;", listener2.events);
node.removeNode(codeNode);
assertEquals(1, node.getElements().size());
assertEquals(null, codeNode.getParentGroup());
assertEquals("addedElement;removedElement;", listener.events);
assertEquals("changedParentGroup;changedParentGroup;", listener2.events);
node.removeListener(listener);
}
use of com.google.security.zynamics.zylib.disassembly.CAddress in project binnavi by google.
the class MemoryModuleTest method testConstructor.
@Test
public void testConstructor() {
final com.google.security.zynamics.binnavi.debug.models.processmanager.MemoryModule internalModule = new com.google.security.zynamics.binnavi.debug.models.processmanager.MemoryModule("dll", "C:\\dll", new RelocatedAddress(new CAddress(0x100)), 0x200);
final MemoryModule module = new MemoryModule(internalModule);
assertEquals("dll", module.getName());
assertEquals(0x100, module.getBaseAddress().toLong());
assertEquals(0x200, module.getSize());
}
use of com.google.security.zynamics.zylib.disassembly.CAddress in project binnavi by google.
the class ProcessTest method testModules.
@Test
public void testModules() {
final MockProcessListener listener = new MockProcessListener();
final ProcessManager manager = new ProcessManager();
manager.addModule(new MemoryModule("Hannes", "C:\\Hannes.dll", new RelocatedAddress(new CAddress(0x100)), 0x100));
final Process process = new Process(manager);
assertEquals(1, process.getModules().size());
process.addListener(listener);
final MemoryModule dll = new MemoryModule("Foobert.dll", "C:\\Foobert.dll", new RelocatedAddress(new CAddress(0x100)), 0x100);
manager.addModule(dll);
assertEquals("addedModule/Foobert.dll;", listener.events);
assertEquals(2, process.getModules().size());
manager.removeModule(dll);
assertEquals("addedModule/Foobert.dll;removedModule/Foobert.dll;", listener.events);
assertEquals(1, process.getModules().size());
process.removeListener(listener);
}
use of com.google.security.zynamics.zylib.disassembly.CAddress in project binnavi by google.
the class ThreadTest method testGetCurrentAddress.
@Test
public void testGetCurrentAddress() {
final MockThreadListener listener = new MockThreadListener();
m_thread.addListener(listener);
m_internalThread.setCurrentAddress(new RelocatedAddress(new CAddress(0x200)));
assertEquals("changedProgramCounter;", listener.events);
assertEquals(0x200, m_thread.getCurrentAddress().toLong());
m_thread.removeListener(listener);
}
use of com.google.security.zynamics.zylib.disassembly.CAddress in project binnavi by google.
the class FunctionBlockTest method testConstructor.
@Test
public void testConstructor() {
final MockSqlProvider provider = new MockSqlProvider();
final CModule internalModule = new CModule(1, "", "", new Date(), new Date(), "00000000000000000000000000000000", "0000000000000000000000000000000000000000", 0, 0, new CAddress(0), new CAddress(0), null, null, Integer.MAX_VALUE, false, provider);
final CFunction parentFunction = new CFunction(internalModule, new MockView(), new CAddress(0x123), "Mock Function", "Mock Function", "Mock Description", 0, 0, 0, 0, FunctionType.NORMAL, "", 0, null, null, null, provider);
final Function function = new Function(ModuleFactory.get(), parentFunction);
final FunctionBlock block = new FunctionBlock(function);
assertEquals(function, block.getFunction());
assertEquals("Function Block ['123 Mock Function']", block.toString());
}
Aggregations