public static IEnumerable<object[]> Equals_TestData()
{
var sb1 = new StringBuilder("Hello");
var sb2 = new StringBuilder("Hello");
var sb3 = new StringBuilder("HelloX");
var sb4 = new StringBuilder(10, 20);
var sb5 = new StringBuilder(10, 20);
var sb6 = new StringBuilder(10, 21);
var sb7 = new StringBuilder(11, 20);
var sb8 = new StringBuilder(10, 20);
sb8.Append("Hello");
var sb9 = new StringBuilder(10, 20);
sb9.Append("Hello");
var sb10 = new StringBuilder(10, 20);
sb10.Append("HelloX");
yield return new object[] { sb1, sb1, true };
yield return new object[] { sb1, sb2, true };
yield return new object[] { sb1, sb3, false };
yield return new object[] { sb4, sb5, true };
yield return new object[] { sb4, sb6, false };
yield return new object[] { sb4, sb7, false };
yield return new object[] { sb8, sb9, true };
yield return new object[] { sb8, sb10, false };
yield return new object[] { sb1, null, false };
StringBuilder chunkSplitBuilder = StringBuilderWithMultipleChunks();
yield return new object[] { chunkSplitBuilder, StringBuilderWithMultipleChunks(), true };
yield return new object[] { sb1, chunkSplitBuilder, false };
yield return new object[] { chunkSplitBuilder, sb1, false };
yield return new object[] { chunkSplitBuilder, StringBuilderWithMultipleChunks().Append("b"), false };
yield return new object[] { new StringBuilder(), new StringBuilder(), true };
yield return new object[] { new StringBuilder(), new StringBuilder().Clear(), true };
}