public void DecSvc_DecompilerProjectName() { IDecompilerService svc = new DecompilerService(); var loader = mr.StrictMock<ILoader>(); var host = mr.StrictMock<DecompilerHost>(); var arch = mr.StrictMock<IProcessorArchitecture>(); var platform = mr.StrictMock<IPlatform>(); var fileName = OsPath.Relative("foo", "bar", "baz.exe"); var bytes = new byte[100]; var mem = new MemoryArea(Address.Ptr32(0x1000), bytes); var imageMap = new SegmentMap( mem.BaseAddress, new ImageSegment("code", mem, AccessMode.ReadWriteExecute)); var prog = new Program(imageMap, arch, platform); sc.AddService<DecompilerHost>(host); platform.Stub(p => p.CreateMetadata()).Return(new TypeLibrary()); loader.Stub(l => l.LoadImageBytes(fileName, 0)).Return(bytes); loader.Stub(l => l.LoadExecutable(fileName, bytes, null)).Return(prog); loader.Replay(); var dec = new DecompilerDriver(loader, sc); mr.ReplayAll(); svc.Decompiler = dec; svc.Decompiler.Load(fileName); Assert.IsNotNull(svc.Decompiler.Project); Assert.AreEqual("baz.exe", svc.ProjectName, "Should have project name available."); mr.VerifyAll(); }
public void DecSvc_DecompilerProjectName() { IDecompilerService svc = new DecompilerService(); var loader = mr.StrictMock<ILoader>(); var host = mr.StrictMock<DecompilerHost>(); var arch = mr.StrictMock<IProcessorArchitecture>(); var platform = mr.StrictMock<Platform>(sc, arch); var fileName = "foo\\bar\\baz.exe"; var bytes = new byte[100]; var image = new LoadedImage(Address.Ptr32(0x1000), bytes); var imageMap = image.CreateImageMap(); var prog = new Program(image, imageMap, arch, platform); loader.Stub(l => l.LoadImageBytes(fileName, 0)).Return(bytes); loader.Stub(l => l.LoadExecutable(fileName, bytes, null)).Return(prog); loader.Replay(); var dec = new DecompilerDriver(loader, host, sc); mr.ReplayAll(); svc.Decompiler = dec; svc.Decompiler.Load(fileName); Assert.IsNotNull(svc.Decompiler.Project); Assert.AreEqual("baz.exe", svc.ProjectName, "Should have project name available."); mr.VerifyAll(); }
public void DecSvc_EmptyDecompilerProjectName() { IDecompilerService svc = new DecompilerService(); Assert.IsEmpty(svc.ProjectName, "Shouldn't have project name available."); }