Some more explanation for this unit test.

This commit is contained in:
BDisp
2022-11-15 13:00:35 +00:00
parent e5f21fa2d9
commit 0a208ff518

View File

@@ -4139,18 +4139,29 @@ This TextFormatter (tf2) is rewritten.
}
[Fact]
public void Ustring_Array_Is_Not_Equal_ToRunes_Array ()
public void Ustring_Array_Is_Not_Equal_ToRunes_Array_And_String_Array ()
{
ustring us = "New Test 你";
var text = "New Test 你";
ustring us = text;
string s = text;
Assert.Equal (10, us.RuneCount);
Assert.Equal (10, s.Length);
// The reason is ustring index is related to byte length and not rune length
Assert.Equal (12, us.Length);
Assert.NotEqual (20320, us [9]);
Assert.Equal (20320, s [9]);
Assert.Equal (228, us [9]);
Assert.Equal ("ä", ((Rune)us [9]).ToString ());
Assert.Equal ("你", s [9].ToString ());
// Rune array is equal to string array
var usToRunes = us.ToRunes ();
Assert.Equal (10, usToRunes.Length);
Assert.Equal (10, s.Length);
Assert.Equal (20320, (int)usToRunes [9]);
Assert.Equal (20320, s [9]);
Assert.Equal ("你", ((Rune)usToRunes [9]).ToString ());
Assert.Equal ("你", s [9].ToString ());
}
}
}