public void DetailedObjectStringComplexTests() { const string innerVal = "Inner Value"; const string stringVal = "Custom String"; const int intVal = 42; var testType = typeof(ObjectTestClass); var stringVals = new[] { "Foo", "Bar", "Baz" }; var innerObj = new ObjectInnerTestClass(innerVal); var outerObj = new ObjectTestClass(stringVal, intVal, stringVals, innerObj, testType); var classDetailedString = outerObj.ToDetailedString("outerObj"); Assert.IsTrue(!string.IsNullOrEmpty(classDetailedString)); var lineDelimiter = new[] { Environment.NewLine }; var detailLines = classDetailedString.Split(lineDelimiter, StringSplitOptions.RemoveEmptyEntries); Assert.IsNotNull(detailLines); Assert.AreEqual(detailLines.Length, 9); var fooLine = detailLines[4]; Assert.IsTrue(fooLine.Contains("Foo")); }
public void DetailedObjectStringRecursionTest() { const string innerVal = "Inner Value"; const string stringVal = "Custom String"; var innerObj = new ObjectInnerTestClass(innerVal); var recursiveObj = new ObjectRecursionTestClass(stringVal, innerObj); var detailedString = recursiveObj.ToDetailedString(); var delimiters = new[] { Environment.NewLine }; var lines = detailedString.Split(delimiters, StringSplitOptions.RemoveEmptyEntries); Assert.IsNotNull(lines); Assert.AreEqual(lines.Length, 4); }
public ObjectRecursionTestClass(string testStr, ObjectInnerTestClass inner) { Inner = inner; TestStr = testStr; Self = this; }