Browse Source

Some more explanation for this unit test.

BDisp 2 years ago
parent
commit
0a208ff518
1 changed files with 13 additions and 2 deletions
  1. 13 2
      UnitTests/TextFormatterTests.cs

+ 13 - 2
UnitTests/TextFormatterTests.cs

@@ -4139,18 +4139,29 @@ This TextFormatter (tf2) is rewritten.
 		}
 		}
 
 
 		[Fact]
 		[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, 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.NotEqual (20320, us [9]);
+			Assert.Equal (20320, s [9]);
 			Assert.Equal (228, us [9]);
 			Assert.Equal (228, us [9]);
 			Assert.Equal ("ä", ((Rune)us [9]).ToString ());
 			Assert.Equal ("ä", ((Rune)us [9]).ToString ());
+			Assert.Equal ("你", s [9].ToString ());
 
 
+			// Rune array is equal to string array
 			var usToRunes = us.ToRunes ();
 			var usToRunes = us.ToRunes ();
 			Assert.Equal (10, usToRunes.Length);
 			Assert.Equal (10, usToRunes.Length);
+			Assert.Equal (10, s.Length);
 			Assert.Equal (20320, (int)usToRunes [9]);
 			Assert.Equal (20320, (int)usToRunes [9]);
+			Assert.Equal (20320, s [9]);
 			Assert.Equal ("你", ((Rune)usToRunes [9]).ToString ());
 			Assert.Equal ("你", ((Rune)usToRunes [9]).ToString ());
+			Assert.Equal ("你", s [9].ToString ());
 		}
 		}
 	}
 	}
 }
 }