public void DiffObjects_RecursesAppropriately() { var identicalStrings = "These strings are identical"; var notIdenticalString = "These strings are not identical"; var identicalNumber = 0.000089; var identicalNumberOffset = 0.000000000000123; var baseObj = new GenericDynamicObject( num: identicalNumber, pubString: identicalStrings, secondString: identicalStrings, subobj: new SubObject("I am equal")); var equalObj = new GenericDynamicObjectCopy( num: identicalNumber + identicalNumberOffset, pubString: identicalStrings, secondString: identicalStrings, subobj: new SubObject("I am equal")); var notEqualObj = new GenericDynamicObjectCopy( num: identicalNumber + identicalNumberOffset, pubString: identicalStrings, secondString: identicalStrings, subobj: new SubObject("I am not equal")); var equalResult = _calculator.DiffObjects( baseObj: baseObj, evaluated: equalObj); var notEqualResult = _calculator.DiffObjects( baseObj: baseObj, evaluated: notEqualObj); Assert.True(equalResult.ValuesMatch); Assert.False(notEqualResult.ValuesMatch); }
public void DiffObjects_EqualityReflectedAcrossDifferentObjects() { var identicalStrings = "These strings are identical"; var notIdenticalString = "These strings are not identical"; var identicalNumber = 0.000089; var identicalNumberOffset = 0.000000000000123; var baseObj = new GenericDynamicObject( num: identicalNumber, pubString: identicalStrings, secondString: identicalStrings); var evaluatedObject = new GenericDynamicObjectCopy( num: identicalNumber + identicalNumberOffset, pubString: identicalStrings, secondString: identicalStrings); var result = _calculator.DiffObjects( baseObj: baseObj, evaluated: evaluatedObject); Assert.True(result.ValuesMatch); }