public void StrFind_TooShort() { Given_Image(0x23, 0); mr.ReplayAll(); var sf = new StringFinder(program); Assert.AreEqual(0, sf.FindStrings(StringType.NullTerminated(PrimitiveType.Char), 5).Count()); }
public void StrFind_SingleMatch() { Given_Image(0x41, 0); mr.ReplayAll(); var sf = new StringFinder(program); var hits = sf.FindStrings(StringType.NullTerminated(PrimitiveType.Char), 1).ToArray(); Assert.AreEqual(1, hits.Length); Assert.AreEqual(Address.Ptr32(0x00400000), hits[0].Address); }
public void StrFind_TooShort() { Given_Image(0x23, 0); var sf = new StringFinder(program); Assert.AreEqual(0, sf.FindStrings(new StringFinderCriteria { StringType = StringType.NullTerminated(PrimitiveType.Char), MinimumLength = 5, CreateReader = (m, a, b) => new LeImageReader(m, a, b) }).Count()); }
public void StrFind_SingleMatch() { Given_Image(0x41, 0); var sf = new StringFinder(program); var hits = sf.FindStrings(new StringFinderCriteria { StringType = StringType.NullTerminated(PrimitiveType.Char), MinimumLength = 1, CreateReader = (m, a, b) => new LeImageReader(m, a, b) }).ToArray(); Assert.AreEqual(1, hits.Length); Assert.AreEqual(Address.Ptr32(0x00400000), hits[0].Address); }
public void StrFind_FindUtf16Le() { Given_Image(Encoding.GetEncoding("utf-16le").GetBytes("\0\0Hello\0")); var sf = new StringFinder(program); var hits = sf.FindStrings(new StringFinderCriteria { StringType = StringType.NullTerminated(PrimitiveType.UInt16), MinimumLength = 3, CreateReader = (m, a, b) => new LeImageReader(m, a, b) }).ToArray(); Assert.AreEqual(1, hits.Length); Assert.AreEqual(Address.Ptr32(0x00400004), hits[0].Address); Assert.AreEqual(10, hits[0].Length); }