public void StrFldMerger_EmptyStruct() { StructureType str = new StructureType("foo", 0); DataType dt = sfm.Merge(str); Assert.AreEqual("(struct \"foo\")", dt.ToString()); }
public void StrFldMerger_SingleMember() { StructureType str = new StructureType("foo", 0); str.Fields.Add(4, PrimitiveType.Word16); var sfm = new StructureFieldMerger(str); DataType dt = sfm.Merge(); Assert.AreEqual("(struct \"foo\" (4 word16 w0004))", dt.ToString()); }
public void StrFldMerger_Merge() { StructureType str = new StructureType("foo", 0); UnionType u = new UnionType(null, null, PrimitiveType.Ptr32, PrimitiveType.Word16); EquivalenceClass eq = Eqv(u); str.Fields.Add(2, eq); str.Fields.Add(4, PrimitiveType.SegmentSelector); var sfm = new StructureFieldMerger(str); StructureType strNew = sfm.Merge(); Assert.AreEqual("(struct \"foo\" (2 (union (ptr32 u0) ((struct (0 word16 w0000) (2 selector pseg0002)) u1)) u0002))", strNew.ToString()); }