public void GetField() { var objMember = new ObjectMember(); var testObj = new TestObj(); Assert.Equal(2, objMember.GetValue(testObj, "IntFld")); Assert.Equal(2, objMember.GetValue(testObj, "IntFld")); // lets check cached accessor Assert.Equal("BBB", objMember.GetValue(testObj, "StrFld")); Assert.Equal("BBB", objMember.GetValue(testObj, "StrFld")); // lets check cached accessor Assert.Equal(DBNull.Value, objMember.GetValue(testObj, "ObjFld")); }
public void GetProperty() { var objMember = new ObjectMember(); var testObj = new TestObj(); Assert.Equal(1, objMember.GetValue(testObj, "IntProp")); Assert.Equal(1, objMember.GetValue(testObj, "IntProp")); // lets check cached accessor Assert.Equal("AAA", objMember.GetValue(testObj, "StrProp")); Assert.Equal("AAA", objMember.GetValue(testObj, "StrProp")); // lets check cached accessor Assert.Throws <InvalidOperationException>(() => { objMember.GetValue(testObj, "ZZZ"); }); }
public void GetIndexer() { var objMember = new ObjectMember(); var testObj = new TestObj(); Assert.Throws <InvalidOperationException>(() => { objMember.GetValue(testObj, "1"); }); var testObjWithObjIdx = new TestObjWithObjIndexer(); Assert.Equal("ColName", objMember.GetValue(testObjWithObjIdx, "ColName")); var testObjWithStrIdx = new TestObjWithStrIndexer(); Assert.Equal(7, objMember.GetValue(testObjWithStrIdx, "ColName")); }