public void TestOBJ() { //OBJ = b'o' # build & push class instance ClassDict result = (ClassDict)U("\u0080\u0002(c__main__\nThing\no}U\u0005valueK sb."); Assert.Equal("__main__.Thing", result.ClassName); Assert.Equal(32, result["value"]); }
public void TestINST() { //INST = b'i' # build & push class instance ClassDict result = (ClassDict)U("(i__main__\nThing\n(dS'value'\nI32\nsb."); Assert.Equal("__main__.Thing", result.ClassName); Assert.Equal(32, result["value"]); }
public void TestClassDictConstructorSetsClass() { ClassDict cd = new ClassDict("module", "myclass"); Assert.Equal("module.myclass", cd["__class__"]); ClassDictConstructor cdc = new ClassDictConstructor("module", "myclass"); cd = (ClassDict)cdc.construct(new object[] {}); Assert.Equal("module.myclass", cd["__class__"]); Assert.Equal("module.myclass", cd.ClassName); }
public void TestUnpickleCustomClassAsClassDict() { byte[] pickled = { 128, 2, 99, 95, 95, 109, 97, 105, 110, 95, 95, 10, 67, 117, 115, 115, 115, 115, 115, 115, 97, 122, 122, 10, 113, 0, 41, 129, 113, 1, 125, 113, 2, 40, 85, 3, 97, 103, 101, 113, 3, 75, 34, 85, 6, 118, 97, 108, 117, 101, 115, 113, 4, 93, 113, 5, 40, 75, 1, 75, 2, 75, 3, 101, 85, 4, 110, 97, 109, 101, 113, 6, 85, 5, 72, 97, 114, 114, 121, 113, 7, 117, 98, 46 }; ClassDict cd = (ClassDict)U(pickled); Assert.Equal("__main__.Cussssssazz", cd["__class__"]); Assert.Equal("Harry", cd["name"]); Assert.Equal(34, cd["age"]); Assert.Equal(new ArrayList { 1, 2, 3 }, cd["values"]); }