private static void ValidateStringCharacteristics(string expected, ConsoleString actual)
{
Assert.AreEqual(expected, string.Join("", actual.Select(c => c.Value)));
Assert.AreEqual(0, actual.CompareTo(expected));
Assert.AreEqual(expected, actual.ToString());
Assert.AreEqual(expected.Length, actual.Length);
var expectedEnumerator = expected.GetEnumerator();
foreach (var character in actual)
{
expectedEnumerator.MoveNext();
Assert.AreEqual(expectedEnumerator.Current+"", character.ToString());
Assert.AreEqual(expectedEnumerator.Current, character.Value);
character.Write();
}
Assert.IsFalse(expectedEnumerator.MoveNext());
}