text: /*
  	DO NOT MODIFY, AUTO-GENERATED
  
  	Generated on:
  		2015-09-03T14:47:50
  
  	Command line:
  		tools\converter\integration.py
  */
  
  #include "tests-base.hpp"
  
  #include "../helpers/helpers-casemapping.hpp"
  #include "../helpers/helpers-locale.hpp"
  
  class CaseMapping
  	: public ::testing::Test
  {
  
  protected:
  
  	void SetUp()
  	{
  		SET_LOCALE_ENGLISH();
  	}
  
  	void TearDown()
  	{
  		RESET_LOCALE();
  	}
  
  };
  
  TEST_F(CaseMapping, BasicLatin)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_NUL_EQ(0x00000000, "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000001, "\x01", "\x01", "\x01", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000002, "\x02", "\x02", "\x02", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000003, "\x03", "\x03", "\x03", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000004, "\x04", "\x04", "\x04", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000005, "\x05", "\x05", "\x05", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000006, "\x06", "\x06", "\x06", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000007, "\a", "\a", "\a", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000008, "\b", "\b", "\b", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000009, "\t", "\t", "\t", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000000A, "\n", "\n", "\n", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000000B, "\v", "\v", "\v", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000000C, "\f", "\f", "\f", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000000D, "\r", "\r", "\r", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000000E, "\x0E", "\x0E", "\x0E", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000000F, "\x0F", "\x0F", "\x0F", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000010, "\x10", "\x10", "\x10", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000011, "\x11", "\x11", "\x11", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000012, "\x12", "\x12", "\x12", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000013, "\x13", "\x13", "\x13", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000014, "\x14", "\x14", "\x14", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000015, "\x15", "\x15", "\x15", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000016, "\x16", "\x16", "\x16", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000017, "\x17", "\x17", "\x17", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000018, "\x18", "\x18", "\x18", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000019, "\x19", "\x19", "\x19", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000001A, "\x1A", "\x1A", "\x1A", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000001B, "\x1B", "\x1B", "\x1B", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000001C, "\x1C", "\x1C", "\x1C", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000001D, "\x1D", "\x1D", "\x1D", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000001E, "\x1E", "\x1E", "\x1E", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000001F, "\x1F", "\x1F", "\x1F", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000020, " ", " ", " ", "SPACE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000021, "!", "!", "!", "EXCLAMATION MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000022, "\"", "\"", "\"", "QUOTATION MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000023, "#", "#", "#", "NUMBER SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000024, "$", "$", "$", "DOLLAR SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000025, "%", "%", "%", "PERCENT SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000026, "&", "&", "&", "AMPERSAND");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000027, "'", "'", "'", "APOSTROPHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000028, "(", "(", "(", "LEFT PARENTHESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000029, ")", ")", ")", "RIGHT PARENTHESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000002A, "*", "*", "*", "ASTERISK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000002B, "+", "+", "+", "PLUS SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000002C, ",", ",", ",", "COMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000002D, "-", "-", "-", "HYPHEN-MINUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000002E, ".", ".", ".", "FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000002F, "/", "/", "/", "SOLIDUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000030, "0", "0", "0", "DIGIT ZERO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000031, "1", "1", "1", "DIGIT ONE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000032, "2", "2", "2", "DIGIT TWO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000033, "3", "3", "3", "DIGIT THREE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000034, "4", "4", "4", "DIGIT FOUR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000035, "5", "5", "5", "DIGIT FIVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000036, "6", "6", "6", "DIGIT SIX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000037, "7", "7", "7", "DIGIT SEVEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000038, "8", "8", "8", "DIGIT EIGHT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000039, "9", "9", "9", "DIGIT NINE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000003A, ":", ":", ":", "COLON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000003B, ";", ";", ";", "SEMICOLON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000003C, "<", "<", "<", "LESS-THAN SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000003D, "=", "=", "=", "EQUALS SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000003E, ">", ">", ">", "GREATER-THAN SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000003F, "?", "?", "?", "QUESTION MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000040, "@", "@", "@", "COMMERCIAL AT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000041, "a", "A", "A", "LATIN CAPITAL LETTER A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000042, "b", "B", "B", "LATIN CAPITAL LETTER B");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000043, "c", "C", "C", "LATIN CAPITAL LETTER C");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000044, "d", "D", "D", "LATIN CAPITAL LETTER D");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000045, "e", "E", "E", "LATIN CAPITAL LETTER E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000046, "f", "F", "F", "LATIN CAPITAL LETTER F");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000047, "g", "G", "G", "LATIN CAPITAL LETTER G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000048, "h", "H", "H", "LATIN CAPITAL LETTER H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000049, "i", "I", "I", "LATIN CAPITAL LETTER I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000004A, "j", "J", "J", "LATIN CAPITAL LETTER J");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000004B, "k", "K", "K", "LATIN CAPITAL LETTER K");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000004C, "l", "L", "L", "LATIN CAPITAL LETTER L");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000004D, "m", "M", "M", "LATIN CAPITAL LETTER M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000004E, "n", "N", "N", "LATIN CAPITAL LETTER N");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000004F, "o", "O", "O", "LATIN CAPITAL LETTER O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000050, "p", "P", "P", "LATIN CAPITAL LETTER P");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000051, "q", "Q", "Q", "LATIN CAPITAL LETTER Q");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000052, "r", "R", "R", "LATIN CAPITAL LETTER R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000053, "s", "S", "S", "LATIN CAPITAL LETTER S");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000054, "t", "T", "T", "LATIN CAPITAL LETTER T");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000055, "u", "U", "U", "LATIN CAPITAL LETTER U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000056, "v", "V", "V", "LATIN CAPITAL LETTER V");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000057, "w", "W", "W", "LATIN CAPITAL LETTER W");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000058, "x", "X", "X", "LATIN CAPITAL LETTER X");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000059, "y", "Y", "Y", "LATIN CAPITAL LETTER Y");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000005A, "z", "Z", "Z", "LATIN CAPITAL LETTER Z");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000005B, "[", "[", "[", "LEFT SQUARE BRACKET");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000005C, "\\", "\\", "\\", "REVERSE SOLIDUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000005D, "]", "]", "]", "RIGHT SQUARE BRACKET");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000005E, "^", "^", "^", "CIRCUMFLEX ACCENT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000005F, "_", "_", "_", "LOW LINE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000060, "`", "`", "`", "GRAVE ACCENT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000061, "a", "A", "A", "LATIN SMALL LETTER A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000062, "b", "B", "B", "LATIN SMALL LETTER B");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000063, "c", "C", "C", "LATIN SMALL LETTER C");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000064, "d", "D", "D", "LATIN SMALL LETTER D");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000065, "e", "E", "E", "LATIN SMALL LETTER E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000066, "f", "F", "F", "LATIN SMALL LETTER F");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000067, "g", "G", "G", "LATIN SMALL LETTER G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000068, "h", "H", "H", "LATIN SMALL LETTER H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000069, "i", "I", "I", "LATIN SMALL LETTER I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000006A, "j", "J", "J", "LATIN SMALL LETTER J");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000006B, "k", "K", "K", "LATIN SMALL LETTER K");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000006C, "l", "L", "L", "LATIN SMALL LETTER L");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000006D, "m", "M", "M", "LATIN SMALL LETTER M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000006E, "n", "N", "N", "LATIN SMALL LETTER N");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000006F, "o", "O", "O", "LATIN SMALL LETTER O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000070, "p", "P", "P", "LATIN SMALL LETTER P");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000071, "q", "Q", "Q", "LATIN SMALL LETTER Q");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000072, "r", "R", "R", "LATIN SMALL LETTER R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000073, "s", "S", "S", "LATIN SMALL LETTER S");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000074, "t", "T", "T", "LATIN SMALL LETTER T");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000075, "u", "U", "U", "LATIN SMALL LETTER U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000076, "v", "V", "V", "LATIN SMALL LETTER V");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000077, "w", "W", "W", "LATIN SMALL LETTER W");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000078, "x", "X", "X", "LATIN SMALL LETTER X");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000079, "y", "Y", "Y", "LATIN SMALL LETTER Y");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000007A, "z", "Z", "Z", "LATIN SMALL LETTER Z");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000007B, "{", "{", "{", "LEFT CURLY BRACKET");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000007C, "|", "|", "|", "VERTICAL LINE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000007D, "}", "}", "}", "RIGHT CURLY BRACKET");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000007E, "~", "~", "~", "TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000007F, "", "", "", "<control>");
  }
  
  TEST_F(CaseMapping, Latin1Supplement)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000080, "\xC2\x80", "\xC2\x80", "\xC2\x80", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000081, "\xC2\x81", "\xC2\x81", "\xC2\x81", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000082, "\xC2\x82", "\xC2\x82", "\xC2\x82", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000083, "\xC2\x83", "\xC2\x83", "\xC2\x83", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000084, "\xC2\x84", "\xC2\x84", "\xC2\x84", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000085, "\xC2\x85", "\xC2\x85", "\xC2\x85", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000086, "\xC2\x86", "\xC2\x86", "\xC2\x86", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000087, "\xC2\x87", "\xC2\x87", "\xC2\x87", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000088, "\xC2\x88", "\xC2\x88", "\xC2\x88", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000089, "\xC2\x89", "\xC2\x89", "\xC2\x89", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000008A, "\xC2\x8A", "\xC2\x8A", "\xC2\x8A", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000008B, "\xC2\x8B", "\xC2\x8B", "\xC2\x8B", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000008C, "\xC2\x8C", "\xC2\x8C", "\xC2\x8C", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000008D, "\xC2\x8D", "\xC2\x8D", "\xC2\x8D", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000008E, "\xC2\x8E", "\xC2\x8E", "\xC2\x8E", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000008F, "\xC2\x8F", "\xC2\x8F", "\xC2\x8F", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000090, "\xC2\x90", "\xC2\x90", "\xC2\x90", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000091, "\xC2\x91", "\xC2\x91", "\xC2\x91", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000092, "\xC2\x92", "\xC2\x92", "\xC2\x92", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000093, "\xC2\x93", "\xC2\x93", "\xC2\x93", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000094, "\xC2\x94", "\xC2\x94", "\xC2\x94", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000095, "\xC2\x95", "\xC2\x95", "\xC2\x95", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000096, "\xC2\x96", "\xC2\x96", "\xC2\x96", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000097, "\xC2\x97", "\xC2\x97", "\xC2\x97", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000098, "\xC2\x98", "\xC2\x98", "\xC2\x98", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000099, "\xC2\x99", "\xC2\x99", "\xC2\x99", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000009A, "\xC2\x9A", "\xC2\x9A", "\xC2\x9A", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000009B, "\xC2\x9B", "\xC2\x9B", "\xC2\x9B", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000009C, "\xC2\x9C", "\xC2\x9C", "\xC2\x9C", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000009D, "\xC2\x9D", "\xC2\x9D", "\xC2\x9D", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000009E, "\xC2\x9E", "\xC2\x9E", "\xC2\x9E", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000009F, "\xC2\x9F", "\xC2\x9F", "\xC2\x9F", "<control>");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000A0, "\xC2\xA0", "\xC2\xA0", "\xC2\xA0", "NO-BREAK SPACE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000A1, "\xC2\xA1", "\xC2\xA1", "\xC2\xA1", "INVERTED EXCLAMATION MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000A2, "\xC2\xA2", "\xC2\xA2", "\xC2\xA2", "CENT SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000A3, "\xC2\xA3", "\xC2\xA3", "\xC2\xA3", "POUND SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000A4, "\xC2\xA4", "\xC2\xA4", "\xC2\xA4", "CURRENCY SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000A5, "\xC2\xA5", "\xC2\xA5", "\xC2\xA5", "YEN SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000A6, "\xC2\xA6", "\xC2\xA6", "\xC2\xA6", "BROKEN BAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000A7, "\xC2\xA7", "\xC2\xA7", "\xC2\xA7", "SECTION SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000A8, "\xC2\xA8", "\xC2\xA8", "\xC2\xA8", "DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000A9, "\xC2\xA9", "\xC2\xA9", "\xC2\xA9", "COPYRIGHT SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000AA, "\xC2\xAA", "\xC2\xAA", "\xC2\xAA", "FEMININE ORDINAL INDICATOR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000AB, "\xC2\xAB", "\xC2\xAB", "\xC2\xAB", "LEFT-POINTING DOUBLE ANGLE QUOTATION MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000AC, "\xC2\xAC", "\xC2\xAC", "\xC2\xAC", "NOT SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000AD, "\xC2\xAD", "\xC2\xAD", "\xC2\xAD", "SOFT HYPHEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000AE, "\xC2\xAE", "\xC2\xAE", "\xC2\xAE", "REGISTERED SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000AF, "\xC2\xAF", "\xC2\xAF", "\xC2\xAF", "MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000B0, "\xC2\xB0", "\xC2\xB0", "\xC2\xB0", "DEGREE SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000B1, "\xC2\xB1", "\xC2\xB1", "\xC2\xB1", "PLUS-MINUS SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000B2, "\xC2\xB2", "\xC2\xB2", "\xC2\xB2", "SUPERSCRIPT TWO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000B3, "\xC2\xB3", "\xC2\xB3", "\xC2\xB3", "SUPERSCRIPT THREE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000B4, "\xC2\xB4", "\xC2\xB4", "\xC2\xB4", "ACUTE ACCENT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000B5, "\xC2\xB5", "\xCE\x9C", "\xCE\x9C", "MICRO SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000B6, "\xC2\xB6", "\xC2\xB6", "\xC2\xB6", "PILCROW SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000B7, "\xC2\xB7", "\xC2\xB7", "\xC2\xB7", "MIDDLE DOT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000B8, "\xC2\xB8", "\xC2\xB8", "\xC2\xB8", "CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000B9, "\xC2\xB9", "\xC2\xB9", "\xC2\xB9", "SUPERSCRIPT ONE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000BA, "\xC2\xBA", "\xC2\xBA", "\xC2\xBA", "MASCULINE ORDINAL INDICATOR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000BB, "\xC2\xBB", "\xC2\xBB", "\xC2\xBB", "RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000BC, "\xC2\xBC", "\xC2\xBC", "\xC2\xBC", "VULGAR FRACTION ONE QUARTER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000BD, "\xC2\xBD", "\xC2\xBD", "\xC2\xBD", "VULGAR FRACTION ONE HALF");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000BE, "\xC2\xBE", "\xC2\xBE", "\xC2\xBE", "VULGAR FRACTION THREE QUARTERS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000BF, "\xC2\xBF", "\xC2\xBF", "\xC2\xBF", "INVERTED QUESTION MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000C0, "\xC3\xA0", "\xC3\x80", "\xC3\x80", "LATIN CAPITAL LETTER A WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000C1, "\xC3\xA1", "\xC3\x81", "\xC3\x81", "LATIN CAPITAL LETTER A WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000C2, "\xC3\xA2", "\xC3\x82", "\xC3\x82", "LATIN CAPITAL LETTER A WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000C3, "\xC3\xA3", "\xC3\x83", "\xC3\x83", "LATIN CAPITAL LETTER A WITH TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000C4, "\xC3\xA4", "\xC3\x84", "\xC3\x84", "LATIN CAPITAL LETTER A WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000C5, "\xC3\xA5", "\xC3\x85", "\xC3\x85", "LATIN CAPITAL LETTER A WITH RING ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000C6, "\xC3\xA6", "\xC3\x86", "\xC3\x86", "LATIN CAPITAL LETTER AE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000C7, "\xC3\xA7", "\xC3\x87", "\xC3\x87", "LATIN CAPITAL LETTER C WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000C8, "\xC3\xA8", "\xC3\x88", "\xC3\x88", "LATIN CAPITAL LETTER E WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000C9, "\xC3\xA9", "\xC3\x89", "\xC3\x89", "LATIN CAPITAL LETTER E WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000CA, "\xC3\xAA", "\xC3\x8A", "\xC3\x8A", "LATIN CAPITAL LETTER E WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000CB, "\xC3\xAB", "\xC3\x8B", "\xC3\x8B", "LATIN CAPITAL LETTER E WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000CC, "\xC3\xAC", "\xC3\x8C", "\xC3\x8C", "LATIN CAPITAL LETTER I WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000CD, "\xC3\xAD", "\xC3\x8D", "\xC3\x8D", "LATIN CAPITAL LETTER I WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000CE, "\xC3\xAE", "\xC3\x8E", "\xC3\x8E", "LATIN CAPITAL LETTER I WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000CF, "\xC3\xAF", "\xC3\x8F", "\xC3\x8F", "LATIN CAPITAL LETTER I WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000D0, "\xC3\xB0", "\xC3\x90", "\xC3\x90", "LATIN CAPITAL LETTER ETH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000D1, "\xC3\xB1", "\xC3\x91", "\xC3\x91", "LATIN CAPITAL LETTER N WITH TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000D2, "\xC3\xB2", "\xC3\x92", "\xC3\x92", "LATIN CAPITAL LETTER O WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000D3, "\xC3\xB3", "\xC3\x93", "\xC3\x93", "LATIN CAPITAL LETTER O WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000D4, "\xC3\xB4", "\xC3\x94", "\xC3\x94", "LATIN CAPITAL LETTER O WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000D5, "\xC3\xB5", "\xC3\x95", "\xC3\x95", "LATIN CAPITAL LETTER O WITH TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000D6, "\xC3\xB6", "\xC3\x96", "\xC3\x96", "LATIN CAPITAL LETTER O WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000D7, "\xC3\x97", "\xC3\x97", "\xC3\x97", "MULTIPLICATION SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000D8, "\xC3\xB8", "\xC3\x98", "\xC3\x98", "LATIN CAPITAL LETTER O WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000D9, "\xC3\xB9", "\xC3\x99", "\xC3\x99", "LATIN CAPITAL LETTER U WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000DA, "\xC3\xBA", "\xC3\x9A", "\xC3\x9A", "LATIN CAPITAL LETTER U WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000DB, "\xC3\xBB", "\xC3\x9B", "\xC3\x9B", "LATIN CAPITAL LETTER U WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000DC, "\xC3\xBC", "\xC3\x9C", "\xC3\x9C", "LATIN CAPITAL LETTER U WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000DD, "\xC3\xBD", "\xC3\x9D", "\xC3\x9D", "LATIN CAPITAL LETTER Y WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000DE, "\xC3\xBE", "\xC3\x9E", "\xC3\x9E", "LATIN CAPITAL LETTER THORN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000DF, "\xC3\x9F", "SS", "Ss", "LATIN SMALL LETTER SHARP S");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000E0, "\xC3\xA0", "\xC3\x80", "\xC3\x80", "LATIN SMALL LETTER A WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000E1, "\xC3\xA1", "\xC3\x81", "\xC3\x81", "LATIN SMALL LETTER A WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000E2, "\xC3\xA2", "\xC3\x82", "\xC3\x82", "LATIN SMALL LETTER A WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000E3, "\xC3\xA3", "\xC3\x83", "\xC3\x83", "LATIN SMALL LETTER A WITH TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000E4, "\xC3\xA4", "\xC3\x84", "\xC3\x84", "LATIN SMALL LETTER A WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000E5, "\xC3\xA5", "\xC3\x85", "\xC3\x85", "LATIN SMALL LETTER A WITH RING ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000E6, "\xC3\xA6", "\xC3\x86", "\xC3\x86", "LATIN SMALL LETTER AE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000E7, "\xC3\xA7", "\xC3\x87", "\xC3\x87", "LATIN SMALL LETTER C WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000E8, "\xC3\xA8", "\xC3\x88", "\xC3\x88", "LATIN SMALL LETTER E WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000E9, "\xC3\xA9", "\xC3\x89", "\xC3\x89", "LATIN SMALL LETTER E WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000EA, "\xC3\xAA", "\xC3\x8A", "\xC3\x8A", "LATIN SMALL LETTER E WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000EB, "\xC3\xAB", "\xC3\x8B", "\xC3\x8B", "LATIN SMALL LETTER E WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000EC, "\xC3\xAC", "\xC3\x8C", "\xC3\x8C", "LATIN SMALL LETTER I WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000ED, "\xC3\xAD", "\xC3\x8D", "\xC3\x8D", "LATIN SMALL LETTER I WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000EE, "\xC3\xAE", "\xC3\x8E", "\xC3\x8E", "LATIN SMALL LETTER I WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000EF, "\xC3\xAF", "\xC3\x8F", "\xC3\x8F", "LATIN SMALL LETTER I WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000F0, "\xC3\xB0", "\xC3\x90", "\xC3\x90", "LATIN SMALL LETTER ETH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000F1, "\xC3\xB1", "\xC3\x91", "\xC3\x91", "LATIN SMALL LETTER N WITH TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000F2, "\xC3\xB2", "\xC3\x92", "\xC3\x92", "LATIN SMALL LETTER O WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000F3, "\xC3\xB3", "\xC3\x93", "\xC3\x93", "LATIN SMALL LETTER O WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000F4, "\xC3\xB4", "\xC3\x94", "\xC3\x94", "LATIN SMALL LETTER O WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000F5, "\xC3\xB5", "\xC3\x95", "\xC3\x95", "LATIN SMALL LETTER O WITH TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000F6, "\xC3\xB6", "\xC3\x96", "\xC3\x96", "LATIN SMALL LETTER O WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000F7, "\xC3\xB7", "\xC3\xB7", "\xC3\xB7", "DIVISION SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000F8, "\xC3\xB8", "\xC3\x98", "\xC3\x98", "LATIN SMALL LETTER O WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000F9, "\xC3\xB9", "\xC3\x99", "\xC3\x99", "LATIN SMALL LETTER U WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000FA, "\xC3\xBA", "\xC3\x9A", "\xC3\x9A", "LATIN SMALL LETTER U WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000FB, "\xC3\xBB", "\xC3\x9B", "\xC3\x9B", "LATIN SMALL LETTER U WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000FC, "\xC3\xBC", "\xC3\x9C", "\xC3\x9C", "LATIN SMALL LETTER U WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000FD, "\xC3\xBD", "\xC3\x9D", "\xC3\x9D", "LATIN SMALL LETTER Y WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000FE, "\xC3\xBE", "\xC3\x9E", "\xC3\x9E", "LATIN SMALL LETTER THORN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000000FF, "\xC3\xBF", "\xC5\xB8", "\xC5\xB8", "LATIN SMALL LETTER Y WITH DIAERESIS");
  }
  
  TEST_F(CaseMapping, LatinExtendedA)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000100, "\xC4\x81", "\xC4\x80", "\xC4\x80", "LATIN CAPITAL LETTER A WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000101, "\xC4\x81", "\xC4\x80", "\xC4\x80", "LATIN SMALL LETTER A WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000102, "\xC4\x83", "\xC4\x82", "\xC4\x82", "LATIN CAPITAL LETTER A WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000103, "\xC4\x83", "\xC4\x82", "\xC4\x82", "LATIN SMALL LETTER A WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000104, "\xC4\x85", "\xC4\x84", "\xC4\x84", "LATIN CAPITAL LETTER A WITH OGONEK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000105, "\xC4\x85", "\xC4\x84", "\xC4\x84", "LATIN SMALL LETTER A WITH OGONEK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000106, "\xC4\x87", "\xC4\x86", "\xC4\x86", "LATIN CAPITAL LETTER C WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000107, "\xC4\x87", "\xC4\x86", "\xC4\x86", "LATIN SMALL LETTER C WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000108, "\xC4\x89", "\xC4\x88", "\xC4\x88", "LATIN CAPITAL LETTER C WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000109, "\xC4\x89", "\xC4\x88", "\xC4\x88", "LATIN SMALL LETTER C WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000010A, "\xC4\x8B", "\xC4\x8A", "\xC4\x8A", "LATIN CAPITAL LETTER C WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000010B, "\xC4\x8B", "\xC4\x8A", "\xC4\x8A", "LATIN SMALL LETTER C WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000010C, "\xC4\x8D", "\xC4\x8C", "\xC4\x8C", "LATIN CAPITAL LETTER C WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000010D, "\xC4\x8D", "\xC4\x8C", "\xC4\x8C", "LATIN SMALL LETTER C WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000010E, "\xC4\x8F", "\xC4\x8E", "\xC4\x8E", "LATIN CAPITAL LETTER D WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000010F, "\xC4\x8F", "\xC4\x8E", "\xC4\x8E", "LATIN SMALL LETTER D WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000110, "\xC4\x91", "\xC4\x90", "\xC4\x90", "LATIN CAPITAL LETTER D WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000111, "\xC4\x91", "\xC4\x90", "\xC4\x90", "LATIN SMALL LETTER D WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000112, "\xC4\x93", "\xC4\x92", "\xC4\x92", "LATIN CAPITAL LETTER E WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000113, "\xC4\x93", "\xC4\x92", "\xC4\x92", "LATIN SMALL LETTER E WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000114, "\xC4\x95", "\xC4\x94", "\xC4\x94", "LATIN CAPITAL LETTER E WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000115, "\xC4\x95", "\xC4\x94", "\xC4\x94", "LATIN SMALL LETTER E WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000116, "\xC4\x97", "\xC4\x96", "\xC4\x96", "LATIN CAPITAL LETTER E WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000117, "\xC4\x97", "\xC4\x96", "\xC4\x96", "LATIN SMALL LETTER E WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000118, "\xC4\x99", "\xC4\x98", "\xC4\x98", "LATIN CAPITAL LETTER E WITH OGONEK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000119, "\xC4\x99", "\xC4\x98", "\xC4\x98", "LATIN SMALL LETTER E WITH OGONEK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000011A, "\xC4\x9B", "\xC4\x9A", "\xC4\x9A", "LATIN CAPITAL LETTER E WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000011B, "\xC4\x9B", "\xC4\x9A", "\xC4\x9A", "LATIN SMALL LETTER E WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000011C, "\xC4\x9D", "\xC4\x9C", "\xC4\x9C", "LATIN CAPITAL LETTER G WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000011D, "\xC4\x9D", "\xC4\x9C", "\xC4\x9C", "LATIN SMALL LETTER G WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000011E, "\xC4\x9F", "\xC4\x9E", "\xC4\x9E", "LATIN CAPITAL LETTER G WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000011F, "\xC4\x9F", "\xC4\x9E", "\xC4\x9E", "LATIN SMALL LETTER G WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000120, "\xC4\xA1", "\xC4\xA0", "\xC4\xA0", "LATIN CAPITAL LETTER G WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000121, "\xC4\xA1", "\xC4\xA0", "\xC4\xA0", "LATIN SMALL LETTER G WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000122, "\xC4\xA3", "\xC4\xA2", "\xC4\xA2", "LATIN CAPITAL LETTER G WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000123, "\xC4\xA3", "\xC4\xA2", "\xC4\xA2", "LATIN SMALL LETTER G WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000124, "\xC4\xA5", "\xC4\xA4", "\xC4\xA4", "LATIN CAPITAL LETTER H WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000125, "\xC4\xA5", "\xC4\xA4", "\xC4\xA4", "LATIN SMALL LETTER H WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000126, "\xC4\xA7", "\xC4\xA6", "\xC4\xA6", "LATIN CAPITAL LETTER H WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000127, "\xC4\xA7", "\xC4\xA6", "\xC4\xA6", "LATIN SMALL LETTER H WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000128, "\xC4\xA9", "\xC4\xA8", "\xC4\xA8", "LATIN CAPITAL LETTER I WITH TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000129, "\xC4\xA9", "\xC4\xA8", "\xC4\xA8", "LATIN SMALL LETTER I WITH TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000012A, "\xC4\xAB", "\xC4\xAA", "\xC4\xAA", "LATIN CAPITAL LETTER I WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000012B, "\xC4\xAB", "\xC4\xAA", "\xC4\xAA", "LATIN SMALL LETTER I WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000012C, "\xC4\xAD", "\xC4\xAC", "\xC4\xAC", "LATIN CAPITAL LETTER I WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000012D, "\xC4\xAD", "\xC4\xAC", "\xC4\xAC", "LATIN SMALL LETTER I WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000012E, "\xC4\xAF", "\xC4\xAE", "\xC4\xAE", "LATIN CAPITAL LETTER I WITH OGONEK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000012F, "\xC4\xAF", "\xC4\xAE", "\xC4\xAE", "LATIN SMALL LETTER I WITH OGONEK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000130, "i\xCC\x87", "\xC4\xB0", "\xC4\xB0", "LATIN CAPITAL LETTER I WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000131, "\xC4\xB1", "I", "I", "LATIN SMALL LETTER DOTLESS I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000132, "\xC4\xB3", "\xC4\xB2", "\xC4\xB2", "LATIN CAPITAL LIGATURE IJ");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000133, "\xC4\xB3", "\xC4\xB2", "\xC4\xB2", "LATIN SMALL LIGATURE IJ");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000134, "\xC4\xB5", "\xC4\xB4", "\xC4\xB4", "LATIN CAPITAL LETTER J WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000135, "\xC4\xB5", "\xC4\xB4", "\xC4\xB4", "LATIN SMALL LETTER J WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000136, "\xC4\xB7", "\xC4\xB6", "\xC4\xB6", "LATIN CAPITAL LETTER K WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000137, "\xC4\xB7", "\xC4\xB6", "\xC4\xB6", "LATIN SMALL LETTER K WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000138, "\xC4\xB8", "\xC4\xB8", "\xC4\xB8", "LATIN SMALL LETTER KRA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000139, "\xC4\xBA", "\xC4\xB9", "\xC4\xB9", "LATIN CAPITAL LETTER L WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000013A, "\xC4\xBA", "\xC4\xB9", "\xC4\xB9", "LATIN SMALL LETTER L WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000013B, "\xC4\xBC", "\xC4\xBB", "\xC4\xBB", "LATIN CAPITAL LETTER L WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000013C, "\xC4\xBC", "\xC4\xBB", "\xC4\xBB", "LATIN SMALL LETTER L WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000013D, "\xC4\xBE", "\xC4\xBD", "\xC4\xBD", "LATIN CAPITAL LETTER L WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000013E, "\xC4\xBE", "\xC4\xBD", "\xC4\xBD", "LATIN SMALL LETTER L WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000013F, "\xC5\x80", "\xC4\xBF", "\xC4\xBF", "LATIN CAPITAL LETTER L WITH MIDDLE DOT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000140, "\xC5\x80", "\xC4\xBF", "\xC4\xBF", "LATIN SMALL LETTER L WITH MIDDLE DOT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000141, "\xC5\x82", "\xC5\x81", "\xC5\x81", "LATIN CAPITAL LETTER L WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000142, "\xC5\x82", "\xC5\x81", "\xC5\x81", "LATIN SMALL LETTER L WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000143, "\xC5\x84", "\xC5\x83", "\xC5\x83", "LATIN CAPITAL LETTER N WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000144, "\xC5\x84", "\xC5\x83", "\xC5\x83", "LATIN SMALL LETTER N WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000145, "\xC5\x86", "\xC5\x85", "\xC5\x85", "LATIN CAPITAL LETTER N WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000146, "\xC5\x86", "\xC5\x85", "\xC5\x85", "LATIN SMALL LETTER N WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000147, "\xC5\x88", "\xC5\x87", "\xC5\x87", "LATIN CAPITAL LETTER N WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000148, "\xC5\x88", "\xC5\x87", "\xC5\x87", "LATIN SMALL LETTER N WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000149, "\xC5\x89", "\xCA\xBCN", "\xCA\xBCN", "LATIN SMALL LETTER N PRECEDED BY APOSTROPHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000014A, "\xC5\x8B", "\xC5\x8A", "\xC5\x8A", "LATIN CAPITAL LETTER ENG");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000014B, "\xC5\x8B", "\xC5\x8A", "\xC5\x8A", "LATIN SMALL LETTER ENG");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000014C, "\xC5\x8D", "\xC5\x8C", "\xC5\x8C", "LATIN CAPITAL LETTER O WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000014D, "\xC5\x8D", "\xC5\x8C", "\xC5\x8C", "LATIN SMALL LETTER O WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000014E, "\xC5\x8F", "\xC5\x8E", "\xC5\x8E", "LATIN CAPITAL LETTER O WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000014F, "\xC5\x8F", "\xC5\x8E", "\xC5\x8E", "LATIN SMALL LETTER O WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000150, "\xC5\x91", "\xC5\x90", "\xC5\x90", "LATIN CAPITAL LETTER O WITH DOUBLE ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000151, "\xC5\x91", "\xC5\x90", "\xC5\x90", "LATIN SMALL LETTER O WITH DOUBLE ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000152, "\xC5\x93", "\xC5\x92", "\xC5\x92", "LATIN CAPITAL LIGATURE OE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000153, "\xC5\x93", "\xC5\x92", "\xC5\x92", "LATIN SMALL LIGATURE OE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000154, "\xC5\x95", "\xC5\x94", "\xC5\x94", "LATIN CAPITAL LETTER R WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000155, "\xC5\x95", "\xC5\x94", "\xC5\x94", "LATIN SMALL LETTER R WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000156, "\xC5\x97", "\xC5\x96", "\xC5\x96", "LATIN CAPITAL LETTER R WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000157, "\xC5\x97", "\xC5\x96", "\xC5\x96", "LATIN SMALL LETTER R WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000158, "\xC5\x99", "\xC5\x98", "\xC5\x98", "LATIN CAPITAL LETTER R WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000159, "\xC5\x99", "\xC5\x98", "\xC5\x98", "LATIN SMALL LETTER R WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000015A, "\xC5\x9B", "\xC5\x9A", "\xC5\x9A", "LATIN CAPITAL LETTER S WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000015B, "\xC5\x9B", "\xC5\x9A", "\xC5\x9A", "LATIN SMALL LETTER S WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000015C, "\xC5\x9D", "\xC5\x9C", "\xC5\x9C", "LATIN CAPITAL LETTER S WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000015D, "\xC5\x9D", "\xC5\x9C", "\xC5\x9C", "LATIN SMALL LETTER S WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000015E, "\xC5\x9F", "\xC5\x9E", "\xC5\x9E", "LATIN CAPITAL LETTER S WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000015F, "\xC5\x9F", "\xC5\x9E", "\xC5\x9E", "LATIN SMALL LETTER S WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000160, "\xC5\xA1", "\xC5\xA0", "\xC5\xA0", "LATIN CAPITAL LETTER S WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000161, "\xC5\xA1", "\xC5\xA0", "\xC5\xA0", "LATIN SMALL LETTER S WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000162, "\xC5\xA3", "\xC5\xA2", "\xC5\xA2", "LATIN CAPITAL LETTER T WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000163, "\xC5\xA3", "\xC5\xA2", "\xC5\xA2", "LATIN SMALL LETTER T WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000164, "\xC5\xA5", "\xC5\xA4", "\xC5\xA4", "LATIN CAPITAL LETTER T WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000165, "\xC5\xA5", "\xC5\xA4", "\xC5\xA4", "LATIN SMALL LETTER T WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000166, "\xC5\xA7", "\xC5\xA6", "\xC5\xA6", "LATIN CAPITAL LETTER T WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000167, "\xC5\xA7", "\xC5\xA6", "\xC5\xA6", "LATIN SMALL LETTER T WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000168, "\xC5\xA9", "\xC5\xA8", "\xC5\xA8", "LATIN CAPITAL LETTER U WITH TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000169, "\xC5\xA9", "\xC5\xA8", "\xC5\xA8", "LATIN SMALL LETTER U WITH TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000016A, "\xC5\xAB", "\xC5\xAA", "\xC5\xAA", "LATIN CAPITAL LETTER U WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000016B, "\xC5\xAB", "\xC5\xAA", "\xC5\xAA", "LATIN SMALL LETTER U WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000016C, "\xC5\xAD", "\xC5\xAC", "\xC5\xAC", "LATIN CAPITAL LETTER U WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000016D, "\xC5\xAD", "\xC5\xAC", "\xC5\xAC", "LATIN SMALL LETTER U WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000016E, "\xC5\xAF", "\xC5\xAE", "\xC5\xAE", "LATIN CAPITAL LETTER U WITH RING ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000016F, "\xC5\xAF", "\xC5\xAE", "\xC5\xAE", "LATIN SMALL LETTER U WITH RING ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000170, "\xC5\xB1", "\xC5\xB0", "\xC5\xB0", "LATIN CAPITAL LETTER U WITH DOUBLE ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000171, "\xC5\xB1", "\xC5\xB0", "\xC5\xB0", "LATIN SMALL LETTER U WITH DOUBLE ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000172, "\xC5\xB3", "\xC5\xB2", "\xC5\xB2", "LATIN CAPITAL LETTER U WITH OGONEK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000173, "\xC5\xB3", "\xC5\xB2", "\xC5\xB2", "LATIN SMALL LETTER U WITH OGONEK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000174, "\xC5\xB5", "\xC5\xB4", "\xC5\xB4", "LATIN CAPITAL LETTER W WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000175, "\xC5\xB5", "\xC5\xB4", "\xC5\xB4", "LATIN SMALL LETTER W WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000176, "\xC5\xB7", "\xC5\xB6", "\xC5\xB6", "LATIN CAPITAL LETTER Y WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000177, "\xC5\xB7", "\xC5\xB6", "\xC5\xB6", "LATIN SMALL LETTER Y WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000178, "\xC3\xBF", "\xC5\xB8", "\xC5\xB8", "LATIN CAPITAL LETTER Y WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000179, "\xC5\xBA", "\xC5\xB9", "\xC5\xB9", "LATIN CAPITAL LETTER Z WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000017A, "\xC5\xBA", "\xC5\xB9", "\xC5\xB9", "LATIN SMALL LETTER Z WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000017B, "\xC5\xBC", "\xC5\xBB", "\xC5\xBB", "LATIN CAPITAL LETTER Z WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000017C, "\xC5\xBC", "\xC5\xBB", "\xC5\xBB", "LATIN SMALL LETTER Z WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000017D, "\xC5\xBE", "\xC5\xBD", "\xC5\xBD", "LATIN CAPITAL LETTER Z WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000017E, "\xC5\xBE", "\xC5\xBD", "\xC5\xBD", "LATIN SMALL LETTER Z WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000017F, "\xC5\xBF", "S", "S", "LATIN SMALL LETTER LONG S");
  }
  
  TEST_F(CaseMapping, LatinExtendedB)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000180, "\xC6\x80", "\xC9\x83", "\xC9\x83", "LATIN SMALL LETTER B WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000181, "\xC9\x93", "\xC6\x81", "\xC6\x81", "LATIN CAPITAL LETTER B WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000182, "\xC6\x83", "\xC6\x82", "\xC6\x82", "LATIN CAPITAL LETTER B WITH TOPBAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000183, "\xC6\x83", "\xC6\x82", "\xC6\x82", "LATIN SMALL LETTER B WITH TOPBAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000184, "\xC6\x85", "\xC6\x84", "\xC6\x84", "LATIN CAPITAL LETTER TONE SIX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000185, "\xC6\x85", "\xC6\x84", "\xC6\x84", "LATIN SMALL LETTER TONE SIX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000186, "\xC9\x94", "\xC6\x86", "\xC6\x86", "LATIN CAPITAL LETTER OPEN O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000187, "\xC6\x88", "\xC6\x87", "\xC6\x87", "LATIN CAPITAL LETTER C WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000188, "\xC6\x88", "\xC6\x87", "\xC6\x87", "LATIN SMALL LETTER C WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000189, "\xC9\x96", "\xC6\x89", "\xC6\x89", "LATIN CAPITAL LETTER AFRICAN D");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000018A, "\xC9\x97", "\xC6\x8A", "\xC6\x8A", "LATIN CAPITAL LETTER D WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000018B, "\xC6\x8C", "\xC6\x8B", "\xC6\x8B", "LATIN CAPITAL LETTER D WITH TOPBAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000018C, "\xC6\x8C", "\xC6\x8B", "\xC6\x8B", "LATIN SMALL LETTER D WITH TOPBAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000018D, "\xC6\x8D", "\xC6\x8D", "\xC6\x8D", "LATIN SMALL LETTER TURNED DELTA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000018E, "\xC7\x9D", "\xC6\x8E", "\xC6\x8E", "LATIN CAPITAL LETTER REVERSED E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000018F, "\xC9\x99", "\xC6\x8F", "\xC6\x8F", "LATIN CAPITAL LETTER SCHWA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000190, "\xC9\x9B", "\xC6\x90", "\xC6\x90", "LATIN CAPITAL LETTER OPEN E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000191, "\xC6\x92", "\xC6\x91", "\xC6\x91", "LATIN CAPITAL LETTER F WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000192, "\xC6\x92", "\xC6\x91", "\xC6\x91", "LATIN SMALL LETTER F WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000193, "\xC9\xA0", "\xC6\x93", "\xC6\x93", "LATIN CAPITAL LETTER G WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000194, "\xC9\xA3", "\xC6\x94", "\xC6\x94", "LATIN CAPITAL LETTER GAMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000195, "\xC6\x95", "\xC7\xB6", "\xC7\xB6", "LATIN SMALL LETTER HV");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000196, "\xC9\xA9", "\xC6\x96", "\xC6\x96", "LATIN CAPITAL LETTER IOTA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000197, "\xC9\xA8", "\xC6\x97", "\xC6\x97", "LATIN CAPITAL LETTER I WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000198, "\xC6\x99", "\xC6\x98", "\xC6\x98", "LATIN CAPITAL LETTER K WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000199, "\xC6\x99", "\xC6\x98", "\xC6\x98", "LATIN SMALL LETTER K WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000019A, "\xC6\x9A", "\xC8\xBD", "\xC8\xBD", "LATIN SMALL LETTER L WITH BAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000019B, "\xC6\x9B", "\xC6\x9B", "\xC6\x9B", "LATIN SMALL LETTER LAMBDA WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000019C, "\xC9\xAF", "\xC6\x9C", "\xC6\x9C", "LATIN CAPITAL LETTER TURNED M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000019D, "\xC9\xB2", "\xC6\x9D", "\xC6\x9D", "LATIN CAPITAL LETTER N WITH LEFT HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000019E, "\xC6\x9E", "\xC8\xA0", "\xC8\xA0", "LATIN SMALL LETTER N WITH LONG RIGHT LEG");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000019F, "\xC9\xB5", "\xC6\x9F", "\xC6\x9F", "LATIN CAPITAL LETTER O WITH MIDDLE TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001A0, "\xC6\xA1", "\xC6\xA0", "\xC6\xA0", "LATIN CAPITAL LETTER O WITH HORN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001A1, "\xC6\xA1", "\xC6\xA0", "\xC6\xA0", "LATIN SMALL LETTER O WITH HORN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001A2, "\xC6\xA3", "\xC6\xA2", "\xC6\xA2", "LATIN CAPITAL LETTER OI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001A3, "\xC6\xA3", "\xC6\xA2", "\xC6\xA2", "LATIN SMALL LETTER OI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001A4, "\xC6\xA5", "\xC6\xA4", "\xC6\xA4", "LATIN CAPITAL LETTER P WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001A5, "\xC6\xA5", "\xC6\xA4", "\xC6\xA4", "LATIN SMALL LETTER P WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001A6, "\xCA\x80", "\xC6\xA6", "\xC6\xA6", "LATIN LETTER YR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001A7, "\xC6\xA8", "\xC6\xA7", "\xC6\xA7", "LATIN CAPITAL LETTER TONE TWO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001A8, "\xC6\xA8", "\xC6\xA7", "\xC6\xA7", "LATIN SMALL LETTER TONE TWO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001A9, "\xCA\x83", "\xC6\xA9", "\xC6\xA9", "LATIN CAPITAL LETTER ESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001AA, "\xC6\xAA", "\xC6\xAA", "\xC6\xAA", "LATIN LETTER REVERSED ESH LOOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001AB, "\xC6\xAB", "\xC6\xAB", "\xC6\xAB", "LATIN SMALL LETTER T WITH PALATAL HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001AC, "\xC6\xAD", "\xC6\xAC", "\xC6\xAC", "LATIN CAPITAL LETTER T WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001AD, "\xC6\xAD", "\xC6\xAC", "\xC6\xAC", "LATIN SMALL LETTER T WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001AE, "\xCA\x88", "\xC6\xAE", "\xC6\xAE", "LATIN CAPITAL LETTER T WITH RETROFLEX HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001AF, "\xC6\xB0", "\xC6\xAF", "\xC6\xAF", "LATIN CAPITAL LETTER U WITH HORN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001B0, "\xC6\xB0", "\xC6\xAF", "\xC6\xAF", "LATIN SMALL LETTER U WITH HORN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001B1, "\xCA\x8A", "\xC6\xB1", "\xC6\xB1", "LATIN CAPITAL LETTER UPSILON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001B2, "\xCA\x8B", "\xC6\xB2", "\xC6\xB2", "LATIN CAPITAL LETTER V WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001B3, "\xC6\xB4", "\xC6\xB3", "\xC6\xB3", "LATIN CAPITAL LETTER Y WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001B4, "\xC6\xB4", "\xC6\xB3", "\xC6\xB3", "LATIN SMALL LETTER Y WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001B5, "\xC6\xB6", "\xC6\xB5", "\xC6\xB5", "LATIN CAPITAL LETTER Z WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001B6, "\xC6\xB6", "\xC6\xB5", "\xC6\xB5", "LATIN SMALL LETTER Z WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001B7, "\xCA\x92", "\xC6\xB7", "\xC6\xB7", "LATIN CAPITAL LETTER EZH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001B8, "\xC6\xB9", "\xC6\xB8", "\xC6\xB8", "LATIN CAPITAL LETTER EZH REVERSED");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001B9, "\xC6\xB9", "\xC6\xB8", "\xC6\xB8", "LATIN SMALL LETTER EZH REVERSED");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001BA, "\xC6\xBA", "\xC6\xBA", "\xC6\xBA", "LATIN SMALL LETTER EZH WITH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001BB, "\xC6\xBB", "\xC6\xBB", "\xC6\xBB", "LATIN LETTER TWO WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001BC, "\xC6\xBD", "\xC6\xBC", "\xC6\xBC", "LATIN CAPITAL LETTER TONE FIVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001BD, "\xC6\xBD", "\xC6\xBC", "\xC6\xBC", "LATIN SMALL LETTER TONE FIVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001BE, "\xC6\xBE", "\xC6\xBE", "\xC6\xBE", "LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001BF, "\xC6\xBF", "\xC7\xB7", "\xC7\xB7", "LATIN LETTER WYNN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001C0, "\xC7\x80", "\xC7\x80", "\xC7\x80", "LATIN LETTER DENTAL CLICK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001C1, "\xC7\x81", "\xC7\x81", "\xC7\x81", "LATIN LETTER LATERAL CLICK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001C2, "\xC7\x82", "\xC7\x82", "\xC7\x82", "LATIN LETTER ALVEOLAR CLICK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001C3, "\xC7\x83", "\xC7\x83", "\xC7\x83", "LATIN LETTER RETROFLEX CLICK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001C4, "\xC7\x86", "\xC7\x84", "\xC7\x85", "LATIN CAPITAL LETTER DZ WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001C5, "\xC7\x86", "\xC7\x84", "\xC7\x85", "LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001C6, "\xC7\x86", "\xC7\x84", "\xC7\x85", "LATIN SMALL LETTER DZ WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001C7, "\xC7\x89", "\xC7\x87", "\xC7\x88", "LATIN CAPITAL LETTER LJ");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001C8, "\xC7\x89", "\xC7\x87", "\xC7\x88", "LATIN CAPITAL LETTER L WITH SMALL LETTER J");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001C9, "\xC7\x89", "\xC7\x87", "\xC7\x88", "LATIN SMALL LETTER LJ");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001CA, "\xC7\x8C", "\xC7\x8A", "\xC7\x8B", "LATIN CAPITAL LETTER NJ");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001CB, "\xC7\x8C", "\xC7\x8A", "\xC7\x8B", "LATIN CAPITAL LETTER N WITH SMALL LETTER J");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001CC, "\xC7\x8C", "\xC7\x8A", "\xC7\x8B", "LATIN SMALL LETTER NJ");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001CD, "\xC7\x8E", "\xC7\x8D", "\xC7\x8D", "LATIN CAPITAL LETTER A WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001CE, "\xC7\x8E", "\xC7\x8D", "\xC7\x8D", "LATIN SMALL LETTER A WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001CF, "\xC7\x90", "\xC7\x8F", "\xC7\x8F", "LATIN CAPITAL LETTER I WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001D0, "\xC7\x90", "\xC7\x8F", "\xC7\x8F", "LATIN SMALL LETTER I WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001D1, "\xC7\x92", "\xC7\x91", "\xC7\x91", "LATIN CAPITAL LETTER O WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001D2, "\xC7\x92", "\xC7\x91", "\xC7\x91", "LATIN SMALL LETTER O WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001D3, "\xC7\x94", "\xC7\x93", "\xC7\x93", "LATIN CAPITAL LETTER U WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001D4, "\xC7\x94", "\xC7\x93", "\xC7\x93", "LATIN SMALL LETTER U WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001D5, "\xC7\x96", "\xC7\x95", "\xC7\x95", "LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001D6, "\xC7\x96", "\xC7\x95", "\xC7\x95", "LATIN SMALL LETTER U WITH DIAERESIS AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001D7, "\xC7\x98", "\xC7\x97", "\xC7\x97", "LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001D8, "\xC7\x98", "\xC7\x97", "\xC7\x97", "LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001D9, "\xC7\x9A", "\xC7\x99", "\xC7\x99", "LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001DA, "\xC7\x9A", "\xC7\x99", "\xC7\x99", "LATIN SMALL LETTER U WITH DIAERESIS AND CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001DB, "\xC7\x9C", "\xC7\x9B", "\xC7\x9B", "LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001DC, "\xC7\x9C", "\xC7\x9B", "\xC7\x9B", "LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001DD, "\xC7\x9D", "\xC6\x8E", "\xC6\x8E", "LATIN SMALL LETTER TURNED E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001DE, "\xC7\x9F", "\xC7\x9E", "\xC7\x9E", "LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001DF, "\xC7\x9F", "\xC7\x9E", "\xC7\x9E", "LATIN SMALL LETTER A WITH DIAERESIS AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001E0, "\xC7\xA1", "\xC7\xA0", "\xC7\xA0", "LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001E1, "\xC7\xA1", "\xC7\xA0", "\xC7\xA0", "LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001E2, "\xC7\xA3", "\xC7\xA2", "\xC7\xA2", "LATIN CAPITAL LETTER AE WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001E3, "\xC7\xA3", "\xC7\xA2", "\xC7\xA2", "LATIN SMALL LETTER AE WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001E4, "\xC7\xA5", "\xC7\xA4", "\xC7\xA4", "LATIN CAPITAL LETTER G WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001E5, "\xC7\xA5", "\xC7\xA4", "\xC7\xA4", "LATIN SMALL LETTER G WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001E6, "\xC7\xA7", "\xC7\xA6", "\xC7\xA6", "LATIN CAPITAL LETTER G WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001E7, "\xC7\xA7", "\xC7\xA6", "\xC7\xA6", "LATIN SMALL LETTER G WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001E8, "\xC7\xA9", "\xC7\xA8", "\xC7\xA8", "LATIN CAPITAL LETTER K WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001E9, "\xC7\xA9", "\xC7\xA8", "\xC7\xA8", "LATIN SMALL LETTER K WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001EA, "\xC7\xAB", "\xC7\xAA", "\xC7\xAA", "LATIN CAPITAL LETTER O WITH OGONEK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001EB, "\xC7\xAB", "\xC7\xAA", "\xC7\xAA", "LATIN SMALL LETTER O WITH OGONEK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001EC, "\xC7\xAD", "\xC7\xAC", "\xC7\xAC", "LATIN CAPITAL LETTER O WITH OGONEK AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001ED, "\xC7\xAD", "\xC7\xAC", "\xC7\xAC", "LATIN SMALL LETTER O WITH OGONEK AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001EE, "\xC7\xAF", "\xC7\xAE", "\xC7\xAE", "LATIN CAPITAL LETTER EZH WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001EF, "\xC7\xAF", "\xC7\xAE", "\xC7\xAE", "LATIN SMALL LETTER EZH WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001F0, "\xC7\xB0", "J\xCC\x8C", "J\xCC\x8C", "LATIN SMALL LETTER J WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001F1, "\xC7\xB3", "\xC7\xB1", "\xC7\xB2", "LATIN CAPITAL LETTER DZ");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001F2, "\xC7\xB3", "\xC7\xB1", "\xC7\xB2", "LATIN CAPITAL LETTER D WITH SMALL LETTER Z");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001F3, "\xC7\xB3", "\xC7\xB1", "\xC7\xB2", "LATIN SMALL LETTER DZ");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001F4, "\xC7\xB5", "\xC7\xB4", "\xC7\xB4", "LATIN CAPITAL LETTER G WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001F5, "\xC7\xB5", "\xC7\xB4", "\xC7\xB4", "LATIN SMALL LETTER G WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001F6, "\xC6\x95", "\xC7\xB6", "\xC7\xB6", "LATIN CAPITAL LETTER HWAIR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001F7, "\xC6\xBF", "\xC7\xB7", "\xC7\xB7", "LATIN CAPITAL LETTER WYNN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001F8, "\xC7\xB9", "\xC7\xB8", "\xC7\xB8", "LATIN CAPITAL LETTER N WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001F9, "\xC7\xB9", "\xC7\xB8", "\xC7\xB8", "LATIN SMALL LETTER N WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001FA, "\xC7\xBB", "\xC7\xBA", "\xC7\xBA", "LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001FB, "\xC7\xBB", "\xC7\xBA", "\xC7\xBA", "LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001FC, "\xC7\xBD", "\xC7\xBC", "\xC7\xBC", "LATIN CAPITAL LETTER AE WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001FD, "\xC7\xBD", "\xC7\xBC", "\xC7\xBC", "LATIN SMALL LETTER AE WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001FE, "\xC7\xBF", "\xC7\xBE", "\xC7\xBE", "LATIN CAPITAL LETTER O WITH STROKE AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000001FF, "\xC7\xBF", "\xC7\xBE", "\xC7\xBE", "LATIN SMALL LETTER O WITH STROKE AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000200, "\xC8\x81", "\xC8\x80", "\xC8\x80", "LATIN CAPITAL LETTER A WITH DOUBLE GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000201, "\xC8\x81", "\xC8\x80", "\xC8\x80", "LATIN SMALL LETTER A WITH DOUBLE GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000202, "\xC8\x83", "\xC8\x82", "\xC8\x82", "LATIN CAPITAL LETTER A WITH INVERTED BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000203, "\xC8\x83", "\xC8\x82", "\xC8\x82", "LATIN SMALL LETTER A WITH INVERTED BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000204, "\xC8\x85", "\xC8\x84", "\xC8\x84", "LATIN CAPITAL LETTER E WITH DOUBLE GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000205, "\xC8\x85", "\xC8\x84", "\xC8\x84", "LATIN SMALL LETTER E WITH DOUBLE GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000206, "\xC8\x87", "\xC8\x86", "\xC8\x86", "LATIN CAPITAL LETTER E WITH INVERTED BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000207, "\xC8\x87", "\xC8\x86", "\xC8\x86", "LATIN SMALL LETTER E WITH INVERTED BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000208, "\xC8\x89", "\xC8\x88", "\xC8\x88", "LATIN CAPITAL LETTER I WITH DOUBLE GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000209, "\xC8\x89", "\xC8\x88", "\xC8\x88", "LATIN SMALL LETTER I WITH DOUBLE GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000020A, "\xC8\x8B", "\xC8\x8A", "\xC8\x8A", "LATIN CAPITAL LETTER I WITH INVERTED BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000020B, "\xC8\x8B", "\xC8\x8A", "\xC8\x8A", "LATIN SMALL LETTER I WITH INVERTED BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000020C, "\xC8\x8D", "\xC8\x8C", "\xC8\x8C", "LATIN CAPITAL LETTER O WITH DOUBLE GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000020D, "\xC8\x8D", "\xC8\x8C", "\xC8\x8C", "LATIN SMALL LETTER O WITH DOUBLE GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000020E, "\xC8\x8F", "\xC8\x8E", "\xC8\x8E", "LATIN CAPITAL LETTER O WITH INVERTED BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000020F, "\xC8\x8F", "\xC8\x8E", "\xC8\x8E", "LATIN SMALL LETTER O WITH INVERTED BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000210, "\xC8\x91", "\xC8\x90", "\xC8\x90", "LATIN CAPITAL LETTER R WITH DOUBLE GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000211, "\xC8\x91", "\xC8\x90", "\xC8\x90", "LATIN SMALL LETTER R WITH DOUBLE GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000212, "\xC8\x93", "\xC8\x92", "\xC8\x92", "LATIN CAPITAL LETTER R WITH INVERTED BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000213, "\xC8\x93", "\xC8\x92", "\xC8\x92", "LATIN SMALL LETTER R WITH INVERTED BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000214, "\xC8\x95", "\xC8\x94", "\xC8\x94", "LATIN CAPITAL LETTER U WITH DOUBLE GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000215, "\xC8\x95", "\xC8\x94", "\xC8\x94", "LATIN SMALL LETTER U WITH DOUBLE GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000216, "\xC8\x97", "\xC8\x96", "\xC8\x96", "LATIN CAPITAL LETTER U WITH INVERTED BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000217, "\xC8\x97", "\xC8\x96", "\xC8\x96", "LATIN SMALL LETTER U WITH INVERTED BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000218, "\xC8\x99", "\xC8\x98", "\xC8\x98", "LATIN CAPITAL LETTER S WITH COMMA BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000219, "\xC8\x99", "\xC8\x98", "\xC8\x98", "LATIN SMALL LETTER S WITH COMMA BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000021A, "\xC8\x9B", "\xC8\x9A", "\xC8\x9A", "LATIN CAPITAL LETTER T WITH COMMA BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000021B, "\xC8\x9B", "\xC8\x9A", "\xC8\x9A", "LATIN SMALL LETTER T WITH COMMA BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000021C, "\xC8\x9D", "\xC8\x9C", "\xC8\x9C", "LATIN CAPITAL LETTER YOGH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000021D, "\xC8\x9D", "\xC8\x9C", "\xC8\x9C", "LATIN SMALL LETTER YOGH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000021E, "\xC8\x9F", "\xC8\x9E", "\xC8\x9E", "LATIN CAPITAL LETTER H WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000021F, "\xC8\x9F", "\xC8\x9E", "\xC8\x9E", "LATIN SMALL LETTER H WITH CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000220, "\xC6\x9E", "\xC8\xA0", "\xC8\xA0", "LATIN CAPITAL LETTER N WITH LONG RIGHT LEG");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000221, "\xC8\xA1", "\xC8\xA1", "\xC8\xA1", "LATIN SMALL LETTER D WITH CURL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000222, "\xC8\xA3", "\xC8\xA2", "\xC8\xA2", "LATIN CAPITAL LETTER OU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000223, "\xC8\xA3", "\xC8\xA2", "\xC8\xA2", "LATIN SMALL LETTER OU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000224, "\xC8\xA5", "\xC8\xA4", "\xC8\xA4", "LATIN CAPITAL LETTER Z WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000225, "\xC8\xA5", "\xC8\xA4", "\xC8\xA4", "LATIN SMALL LETTER Z WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000226, "\xC8\xA7", "\xC8\xA6", "\xC8\xA6", "LATIN CAPITAL LETTER A WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000227, "\xC8\xA7", "\xC8\xA6", "\xC8\xA6", "LATIN SMALL LETTER A WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000228, "\xC8\xA9", "\xC8\xA8", "\xC8\xA8", "LATIN CAPITAL LETTER E WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000229, "\xC8\xA9", "\xC8\xA8", "\xC8\xA8", "LATIN SMALL LETTER E WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000022A, "\xC8\xAB", "\xC8\xAA", "\xC8\xAA", "LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000022B, "\xC8\xAB", "\xC8\xAA", "\xC8\xAA", "LATIN SMALL LETTER O WITH DIAERESIS AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000022C, "\xC8\xAD", "\xC8\xAC", "\xC8\xAC", "LATIN CAPITAL LETTER O WITH TILDE AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000022D, "\xC8\xAD", "\xC8\xAC", "\xC8\xAC", "LATIN SMALL LETTER O WITH TILDE AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000022E, "\xC8\xAF", "\xC8\xAE", "\xC8\xAE", "LATIN CAPITAL LETTER O WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000022F, "\xC8\xAF", "\xC8\xAE", "\xC8\xAE", "LATIN SMALL LETTER O WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000230, "\xC8\xB1", "\xC8\xB0", "\xC8\xB0", "LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000231, "\xC8\xB1", "\xC8\xB0", "\xC8\xB0", "LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000232, "\xC8\xB3", "\xC8\xB2", "\xC8\xB2", "LATIN CAPITAL LETTER Y WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000233, "\xC8\xB3", "\xC8\xB2", "\xC8\xB2", "LATIN SMALL LETTER Y WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000234, "\xC8\xB4", "\xC8\xB4", "\xC8\xB4", "LATIN SMALL LETTER L WITH CURL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000235, "\xC8\xB5", "\xC8\xB5", "\xC8\xB5", "LATIN SMALL LETTER N WITH CURL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000236, "\xC8\xB6", "\xC8\xB6", "\xC8\xB6", "LATIN SMALL LETTER T WITH CURL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000237, "\xC8\xB7", "\xC8\xB7", "\xC8\xB7", "LATIN SMALL LETTER DOTLESS J");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000238, "\xC8\xB8", "\xC8\xB8", "\xC8\xB8", "LATIN SMALL LETTER DB DIGRAPH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000239, "\xC8\xB9", "\xC8\xB9", "\xC8\xB9", "LATIN SMALL LETTER QP DIGRAPH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000023A, "\xE2\xB1\xA5", "\xC8\xBA", "\xC8\xBA", "LATIN CAPITAL LETTER A WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000023B, "\xC8\xBC", "\xC8\xBB", "\xC8\xBB", "LATIN CAPITAL LETTER C WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000023C, "\xC8\xBC", "\xC8\xBB", "\xC8\xBB", "LATIN SMALL LETTER C WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000023D, "\xC6\x9A", "\xC8\xBD", "\xC8\xBD", "LATIN CAPITAL LETTER L WITH BAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000023E, "\xE2\xB1\xA6", "\xC8\xBE", "\xC8\xBE", "LATIN CAPITAL LETTER T WITH DIAGONAL STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000023F, "\xC8\xBF", "\xE2\xB1\xBE", "\xE2\xB1\xBE", "LATIN SMALL LETTER S WITH SWASH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000240, "\xC9\x80", "\xE2\xB1\xBF", "\xE2\xB1\xBF", "LATIN SMALL LETTER Z WITH SWASH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000241, "\xC9\x82", "\xC9\x81", "\xC9\x81", "LATIN CAPITAL LETTER GLOTTAL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000242, "\xC9\x82", "\xC9\x81", "\xC9\x81", "LATIN SMALL LETTER GLOTTAL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000243, "\xC6\x80", "\xC9\x83", "\xC9\x83", "LATIN CAPITAL LETTER B WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000244, "\xCA\x89", "\xC9\x84", "\xC9\x84", "LATIN CAPITAL LETTER U BAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000245, "\xCA\x8C", "\xC9\x85", "\xC9\x85", "LATIN CAPITAL LETTER TURNED V");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000246, "\xC9\x87", "\xC9\x86", "\xC9\x86", "LATIN CAPITAL LETTER E WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000247, "\xC9\x87", "\xC9\x86", "\xC9\x86", "LATIN SMALL LETTER E WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000248, "\xC9\x89", "\xC9\x88", "\xC9\x88", "LATIN CAPITAL LETTER J WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000249, "\xC9\x89", "\xC9\x88", "\xC9\x88", "LATIN SMALL LETTER J WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000024A, "\xC9\x8B", "\xC9\x8A", "\xC9\x8A", "LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000024B, "\xC9\x8B", "\xC9\x8A", "\xC9\x8A", "LATIN SMALL LETTER Q WITH HOOK TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000024C, "\xC9\x8D", "\xC9\x8C", "\xC9\x8C", "LATIN CAPITAL LETTER R WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000024D, "\xC9\x8D", "\xC9\x8C", "\xC9\x8C", "LATIN SMALL LETTER R WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000024E, "\xC9\x8F", "\xC9\x8E", "\xC9\x8E", "LATIN CAPITAL LETTER Y WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000024F, "\xC9\x8F", "\xC9\x8E", "\xC9\x8E", "LATIN SMALL LETTER Y WITH STROKE");
  }
  
  TEST_F(CaseMapping, IPAExtensions)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000250, "\xC9\x90", "\xE2\xB1\xAF", "\xE2\xB1\xAF", "LATIN SMALL LETTER TURNED A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000251, "\xC9\x91", "\xE2\xB1\xAD", "\xE2\xB1\xAD", "LATIN SMALL LETTER ALPHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000252, "\xC9\x92", "\xE2\xB1\xB0", "\xE2\xB1\xB0", "LATIN SMALL LETTER TURNED ALPHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000253, "\xC9\x93", "\xC6\x81", "\xC6\x81", "LATIN SMALL LETTER B WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000254, "\xC9\x94", "\xC6\x86", "\xC6\x86", "LATIN SMALL LETTER OPEN O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000255, "\xC9\x95", "\xC9\x95", "\xC9\x95", "LATIN SMALL LETTER C WITH CURL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000256, "\xC9\x96", "\xC6\x89", "\xC6\x89", "LATIN SMALL LETTER D WITH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000257, "\xC9\x97", "\xC6\x8A", "\xC6\x8A", "LATIN SMALL LETTER D WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000258, "\xC9\x98", "\xC9\x98", "\xC9\x98", "LATIN SMALL LETTER REVERSED E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000259, "\xC9\x99", "\xC6\x8F", "\xC6\x8F", "LATIN SMALL LETTER SCHWA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000025A, "\xC9\x9A", "\xC9\x9A", "\xC9\x9A", "LATIN SMALL LETTER SCHWA WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000025B, "\xC9\x9B", "\xC6\x90", "\xC6\x90", "LATIN SMALL LETTER OPEN E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000025C, "\xC9\x9C", "\xEA\x9E\xAB", "\xEA\x9E\xAB", "LATIN SMALL LETTER REVERSED OPEN E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000025D, "\xC9\x9D", "\xC9\x9D", "\xC9\x9D", "LATIN SMALL LETTER REVERSED OPEN E WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000025E, "\xC9\x9E", "\xC9\x9E", "\xC9\x9E", "LATIN SMALL LETTER CLOSED REVERSED OPEN E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000025F, "\xC9\x9F", "\xC9\x9F", "\xC9\x9F", "LATIN SMALL LETTER DOTLESS J WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000260, "\xC9\xA0", "\xC6\x93", "\xC6\x93", "LATIN SMALL LETTER G WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000261, "\xC9\xA1", "\xEA\x9E\xAC", "\xEA\x9E\xAC", "LATIN SMALL LETTER SCRIPT G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000262, "\xC9\xA2", "\xC9\xA2", "\xC9\xA2", "LATIN LETTER SMALL CAPITAL G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000263, "\xC9\xA3", "\xC6\x94", "\xC6\x94", "LATIN SMALL LETTER GAMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000264, "\xC9\xA4", "\xC9\xA4", "\xC9\xA4", "LATIN SMALL LETTER RAMS HORN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000265, "\xC9\xA5", "\xEA\x9E\x8D", "\xEA\x9E\x8D", "LATIN SMALL LETTER TURNED H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000266, "\xC9\xA6", "\xEA\x9E\xAA", "\xEA\x9E\xAA", "LATIN SMALL LETTER H WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000267, "\xC9\xA7", "\xC9\xA7", "\xC9\xA7", "LATIN SMALL LETTER HENG WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000268, "\xC9\xA8", "\xC6\x97", "\xC6\x97", "LATIN SMALL LETTER I WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000269, "\xC9\xA9", "\xC6\x96", "\xC6\x96", "LATIN SMALL LETTER IOTA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000026A, "\xC9\xAA", "\xC9\xAA", "\xC9\xAA", "LATIN LETTER SMALL CAPITAL I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000026B, "\xC9\xAB", "\xE2\xB1\xA2", "\xE2\xB1\xA2", "LATIN SMALL LETTER L WITH MIDDLE TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000026C, "\xC9\xAC", "\xEA\x9E\xAD", "\xEA\x9E\xAD", "LATIN SMALL LETTER L WITH BELT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000026D, "\xC9\xAD", "\xC9\xAD", "\xC9\xAD", "LATIN SMALL LETTER L WITH RETROFLEX HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000026E, "\xC9\xAE", "\xC9\xAE", "\xC9\xAE", "LATIN SMALL LETTER LEZH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000026F, "\xC9\xAF", "\xC6\x9C", "\xC6\x9C", "LATIN SMALL LETTER TURNED M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000270, "\xC9\xB0", "\xC9\xB0", "\xC9\xB0", "LATIN SMALL LETTER TURNED M WITH LONG LEG");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000271, "\xC9\xB1", "\xE2\xB1\xAE", "\xE2\xB1\xAE", "LATIN SMALL LETTER M WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000272, "\xC9\xB2", "\xC6\x9D", "\xC6\x9D", "LATIN SMALL LETTER N WITH LEFT HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000273, "\xC9\xB3", "\xC9\xB3", "\xC9\xB3", "LATIN SMALL LETTER N WITH RETROFLEX HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000274, "\xC9\xB4", "\xC9\xB4", "\xC9\xB4", "LATIN LETTER SMALL CAPITAL N");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000275, "\xC9\xB5", "\xC6\x9F", "\xC6\x9F", "LATIN SMALL LETTER BARRED O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000276, "\xC9\xB6", "\xC9\xB6", "\xC9\xB6", "LATIN LETTER SMALL CAPITAL OE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000277, "\xC9\xB7", "\xC9\xB7", "\xC9\xB7", "LATIN SMALL LETTER CLOSED OMEGA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000278, "\xC9\xB8", "\xC9\xB8", "\xC9\xB8", "LATIN SMALL LETTER PHI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000279, "\xC9\xB9", "\xC9\xB9", "\xC9\xB9", "LATIN SMALL LETTER TURNED R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000027A, "\xC9\xBA", "\xC9\xBA", "\xC9\xBA", "LATIN SMALL LETTER TURNED R WITH LONG LEG");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000027B, "\xC9\xBB", "\xC9\xBB", "\xC9\xBB", "LATIN SMALL LETTER TURNED R WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000027C, "\xC9\xBC", "\xC9\xBC", "\xC9\xBC", "LATIN SMALL LETTER R WITH LONG LEG");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000027D, "\xC9\xBD", "\xE2\xB1\xA4", "\xE2\xB1\xA4", "LATIN SMALL LETTER R WITH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000027E, "\xC9\xBE", "\xC9\xBE", "\xC9\xBE", "LATIN SMALL LETTER R WITH FISHHOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000027F, "\xC9\xBF", "\xC9\xBF", "\xC9\xBF", "LATIN SMALL LETTER REVERSED R WITH FISHHOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000280, "\xCA\x80", "\xC6\xA6", "\xC6\xA6", "LATIN LETTER SMALL CAPITAL R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000281, "\xCA\x81", "\xCA\x81", "\xCA\x81", "LATIN LETTER SMALL CAPITAL INVERTED R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000282, "\xCA\x82", "\xCA\x82", "\xCA\x82", "LATIN SMALL LETTER S WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000283, "\xCA\x83", "\xC6\xA9", "\xC6\xA9", "LATIN SMALL LETTER ESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000284, "\xCA\x84", "\xCA\x84", "\xCA\x84", "LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000285, "\xCA\x85", "\xCA\x85", "\xCA\x85", "LATIN SMALL LETTER SQUAT REVERSED ESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000286, "\xCA\x86", "\xCA\x86", "\xCA\x86", "LATIN SMALL LETTER ESH WITH CURL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000287, "\xCA\x87", "\xEA\x9E\xB1", "\xEA\x9E\xB1", "LATIN SMALL LETTER TURNED T");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000288, "\xCA\x88", "\xC6\xAE", "\xC6\xAE", "LATIN SMALL LETTER T WITH RETROFLEX HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000289, "\xCA\x89", "\xC9\x84", "\xC9\x84", "LATIN SMALL LETTER U BAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000028A, "\xCA\x8A", "\xC6\xB1", "\xC6\xB1", "LATIN SMALL LETTER UPSILON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000028B, "\xCA\x8B", "\xC6\xB2", "\xC6\xB2", "LATIN SMALL LETTER V WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000028C, "\xCA\x8C", "\xC9\x85", "\xC9\x85", "LATIN SMALL LETTER TURNED V");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000028D, "\xCA\x8D", "\xCA\x8D", "\xCA\x8D", "LATIN SMALL LETTER TURNED W");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000028E, "\xCA\x8E", "\xCA\x8E", "\xCA\x8E", "LATIN SMALL LETTER TURNED Y");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000028F, "\xCA\x8F", "\xCA\x8F", "\xCA\x8F", "LATIN LETTER SMALL CAPITAL Y");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000290, "\xCA\x90", "\xCA\x90", "\xCA\x90", "LATIN SMALL LETTER Z WITH RETROFLEX HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000291, "\xCA\x91", "\xCA\x91", "\xCA\x91", "LATIN SMALL LETTER Z WITH CURL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000292, "\xCA\x92", "\xC6\xB7", "\xC6\xB7", "LATIN SMALL LETTER EZH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000293, "\xCA\x93", "\xCA\x93", "\xCA\x93", "LATIN SMALL LETTER EZH WITH CURL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000294, "\xCA\x94", "\xCA\x94", "\xCA\x94", "LATIN LETTER GLOTTAL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000295, "\xCA\x95", "\xCA\x95", "\xCA\x95", "LATIN LETTER PHARYNGEAL VOICED FRICATIVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000296, "\xCA\x96", "\xCA\x96", "\xCA\x96", "LATIN LETTER INVERTED GLOTTAL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000297, "\xCA\x97", "\xCA\x97", "\xCA\x97", "LATIN LETTER STRETCHED C");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000298, "\xCA\x98", "\xCA\x98", "\xCA\x98", "LATIN LETTER BILABIAL CLICK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000299, "\xCA\x99", "\xCA\x99", "\xCA\x99", "LATIN LETTER SMALL CAPITAL B");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000029A, "\xCA\x9A", "\xCA\x9A", "\xCA\x9A", "LATIN SMALL LETTER CLOSED OPEN E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000029B, "\xCA\x9B", "\xCA\x9B", "\xCA\x9B", "LATIN LETTER SMALL CAPITAL G WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000029C, "\xCA\x9C", "\xCA\x9C", "\xCA\x9C", "LATIN LETTER SMALL CAPITAL H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000029D, "\xCA\x9D", "\xCA\x9D", "\xCA\x9D", "LATIN SMALL LETTER J WITH CROSSED-TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000029E, "\xCA\x9E", "\xEA\x9E\xB0", "\xEA\x9E\xB0", "LATIN SMALL LETTER TURNED K");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000029F, "\xCA\x9F", "\xCA\x9F", "\xCA\x9F", "LATIN LETTER SMALL CAPITAL L");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000002A0, "\xCA\xA0", "\xCA\xA0", "\xCA\xA0", "LATIN SMALL LETTER Q WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000002A1, "\xCA\xA1", "\xCA\xA1", "\xCA\xA1", "LATIN LETTER GLOTTAL STOP WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000002A2, "\xCA\xA2", "\xCA\xA2", "\xCA\xA2", "LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000002A3, "\xCA\xA3", "\xCA\xA3", "\xCA\xA3", "LATIN SMALL LETTER DZ DIGRAPH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000002A4, "\xCA\xA4", "\xCA\xA4", "\xCA\xA4", "LATIN SMALL LETTER DEZH DIGRAPH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000002A5, "\xCA\xA5", "\xCA\xA5", "\xCA\xA5", "LATIN SMALL LETTER DZ DIGRAPH WITH CURL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000002A6, "\xCA\xA6", "\xCA\xA6", "\xCA\xA6", "LATIN SMALL LETTER TS DIGRAPH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000002A7, "\xCA\xA7", "\xCA\xA7", "\xCA\xA7", "LATIN SMALL LETTER TESH DIGRAPH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000002A8, "\xCA\xA8", "\xCA\xA8", "\xCA\xA8", "LATIN SMALL LETTER TC DIGRAPH WITH CURL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000002A9, "\xCA\xA9", "\xCA\xA9", "\xCA\xA9", "LATIN SMALL LETTER FENG DIGRAPH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000002AA, "\xCA\xAA", "\xCA\xAA", "\xCA\xAA", "LATIN SMALL LETTER LS DIGRAPH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000002AB, "\xCA\xAB", "\xCA\xAB", "\xCA\xAB", "LATIN SMALL LETTER LZ DIGRAPH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000002AC, "\xCA\xAC", "\xCA\xAC", "\xCA\xAC", "LATIN LETTER BILABIAL PERCUSSIVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000002AD, "\xCA\xAD", "\xCA\xAD", "\xCA\xAD", "LATIN LETTER BIDENTAL PERCUSSIVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000002AE, "\xCA\xAE", "\xCA\xAE", "\xCA\xAE", "LATIN SMALL LETTER TURNED H WITH FISHHOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000002AF, "\xCA\xAF", "\xCA\xAF", "\xCA\xAF", "LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL");
  }
  
  TEST_F(CaseMapping, CombiningDiacriticalMarks)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000300, "\xCC\x80", "\xCC\x80", "\xCC\x80", "COMBINING GRAVE ACCENT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000301, "\xCC\x81", "\xCC\x81", "\xCC\x81", "COMBINING ACUTE ACCENT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000302, "\xCC\x82", "\xCC\x82", "\xCC\x82", "COMBINING CIRCUMFLEX ACCENT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000303, "\xCC\x83", "\xCC\x83", "\xCC\x83", "COMBINING TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000304, "\xCC\x84", "\xCC\x84", "\xCC\x84", "COMBINING MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000305, "\xCC\x85", "\xCC\x85", "\xCC\x85", "COMBINING OVERLINE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000306, "\xCC\x86", "\xCC\x86", "\xCC\x86", "COMBINING BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000307, "\xCC\x87", "\xCC\x87", "\xCC\x87", "COMBINING DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000308, "\xCC\x88", "\xCC\x88", "\xCC\x88", "COMBINING DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000309, "\xCC\x89", "\xCC\x89", "\xCC\x89", "COMBINING HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000030A, "\xCC\x8A", "\xCC\x8A", "\xCC\x8A", "COMBINING RING ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000030B, "\xCC\x8B", "\xCC\x8B", "\xCC\x8B", "COMBINING DOUBLE ACUTE ACCENT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000030C, "\xCC\x8C", "\xCC\x8C", "\xCC\x8C", "COMBINING CARON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000030D, "\xCC\x8D", "\xCC\x8D", "\xCC\x8D", "COMBINING VERTICAL LINE ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000030E, "\xCC\x8E", "\xCC\x8E", "\xCC\x8E", "COMBINING DOUBLE VERTICAL LINE ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000030F, "\xCC\x8F", "\xCC\x8F", "\xCC\x8F", "COMBINING DOUBLE GRAVE ACCENT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000310, "\xCC\x90", "\xCC\x90", "\xCC\x90", "COMBINING CANDRABINDU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000311, "\xCC\x91", "\xCC\x91", "\xCC\x91", "COMBINING INVERTED BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000312, "\xCC\x92", "\xCC\x92", "\xCC\x92", "COMBINING TURNED COMMA ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000313, "\xCC\x93", "\xCC\x93", "\xCC\x93", "COMBINING COMMA ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000314, "\xCC\x94", "\xCC\x94", "\xCC\x94", "COMBINING REVERSED COMMA ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000315, "\xCC\x95", "\xCC\x95", "\xCC\x95", "COMBINING COMMA ABOVE RIGHT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000316, "\xCC\x96", "\xCC\x96", "\xCC\x96", "COMBINING GRAVE ACCENT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000317, "\xCC\x97", "\xCC\x97", "\xCC\x97", "COMBINING ACUTE ACCENT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000318, "\xCC\x98", "\xCC\x98", "\xCC\x98", "COMBINING LEFT TACK BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000319, "\xCC\x99", "\xCC\x99", "\xCC\x99", "COMBINING RIGHT TACK BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000031A, "\xCC\x9A", "\xCC\x9A", "\xCC\x9A", "COMBINING LEFT ANGLE ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000031B, "\xCC\x9B", "\xCC\x9B", "\xCC\x9B", "COMBINING HORN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000031C, "\xCC\x9C", "\xCC\x9C", "\xCC\x9C", "COMBINING LEFT HALF RING BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000031D, "\xCC\x9D", "\xCC\x9D", "\xCC\x9D", "COMBINING UP TACK BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000031E, "\xCC\x9E", "\xCC\x9E", "\xCC\x9E", "COMBINING DOWN TACK BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000031F, "\xCC\x9F", "\xCC\x9F", "\xCC\x9F", "COMBINING PLUS SIGN BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000320, "\xCC\xA0", "\xCC\xA0", "\xCC\xA0", "COMBINING MINUS SIGN BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000321, "\xCC\xA1", "\xCC\xA1", "\xCC\xA1", "COMBINING PALATALIZED HOOK BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000322, "\xCC\xA2", "\xCC\xA2", "\xCC\xA2", "COMBINING RETROFLEX HOOK BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000323, "\xCC\xA3", "\xCC\xA3", "\xCC\xA3", "COMBINING DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000324, "\xCC\xA4", "\xCC\xA4", "\xCC\xA4", "COMBINING DIAERESIS BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000325, "\xCC\xA5", "\xCC\xA5", "\xCC\xA5", "COMBINING RING BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000326, "\xCC\xA6", "\xCC\xA6", "\xCC\xA6", "COMBINING COMMA BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000327, "\xCC\xA7", "\xCC\xA7", "\xCC\xA7", "COMBINING CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000328, "\xCC\xA8", "\xCC\xA8", "\xCC\xA8", "COMBINING OGONEK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000329, "\xCC\xA9", "\xCC\xA9", "\xCC\xA9", "COMBINING VERTICAL LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000032A, "\xCC\xAA", "\xCC\xAA", "\xCC\xAA", "COMBINING BRIDGE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000032B, "\xCC\xAB", "\xCC\xAB", "\xCC\xAB", "COMBINING INVERTED DOUBLE ARCH BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000032C, "\xCC\xAC", "\xCC\xAC", "\xCC\xAC", "COMBINING CARON BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000032D, "\xCC\xAD", "\xCC\xAD", "\xCC\xAD", "COMBINING CIRCUMFLEX ACCENT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000032E, "\xCC\xAE", "\xCC\xAE", "\xCC\xAE", "COMBINING BREVE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000032F, "\xCC\xAF", "\xCC\xAF", "\xCC\xAF", "COMBINING INVERTED BREVE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000330, "\xCC\xB0", "\xCC\xB0", "\xCC\xB0", "COMBINING TILDE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000331, "\xCC\xB1", "\xCC\xB1", "\xCC\xB1", "COMBINING MACRON BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000332, "\xCC\xB2", "\xCC\xB2", "\xCC\xB2", "COMBINING LOW LINE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000333, "\xCC\xB3", "\xCC\xB3", "\xCC\xB3", "COMBINING DOUBLE LOW LINE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000334, "\xCC\xB4", "\xCC\xB4", "\xCC\xB4", "COMBINING TILDE OVERLAY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000335, "\xCC\xB5", "\xCC\xB5", "\xCC\xB5", "COMBINING SHORT STROKE OVERLAY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000336, "\xCC\xB6", "\xCC\xB6", "\xCC\xB6", "COMBINING LONG STROKE OVERLAY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000337, "\xCC\xB7", "\xCC\xB7", "\xCC\xB7", "COMBINING SHORT SOLIDUS OVERLAY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000338, "\xCC\xB8", "\xCC\xB8", "\xCC\xB8", "COMBINING LONG SOLIDUS OVERLAY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000339, "\xCC\xB9", "\xCC\xB9", "\xCC\xB9", "COMBINING RIGHT HALF RING BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000033A, "\xCC\xBA", "\xCC\xBA", "\xCC\xBA", "COMBINING INVERTED BRIDGE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000033B, "\xCC\xBB", "\xCC\xBB", "\xCC\xBB", "COMBINING SQUARE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000033C, "\xCC\xBC", "\xCC\xBC", "\xCC\xBC", "COMBINING SEAGULL BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000033D, "\xCC\xBD", "\xCC\xBD", "\xCC\xBD", "COMBINING X ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000033E, "\xCC\xBE", "\xCC\xBE", "\xCC\xBE", "COMBINING VERTICAL TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000033F, "\xCC\xBF", "\xCC\xBF", "\xCC\xBF", "COMBINING DOUBLE OVERLINE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000340, "\xCD\x80", "\xCD\x80", "\xCD\x80", "COMBINING GRAVE TONE MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000341, "\xCD\x81", "\xCD\x81", "\xCD\x81", "COMBINING ACUTE TONE MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000342, "\xCD\x82", "\xCD\x82", "\xCD\x82", "COMBINING GREEK PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000343, "\xCD\x83", "\xCD\x83", "\xCD\x83", "COMBINING GREEK KORONIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000344, "\xCD\x84", "\xCD\x84", "\xCD\x84", "COMBINING GREEK DIALYTIKA TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000345, "\xCD\x85", "\xCE\x99", "\xCE\x99", "COMBINING GREEK YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000346, "\xCD\x86", "\xCD\x86", "\xCD\x86", "COMBINING BRIDGE ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000347, "\xCD\x87", "\xCD\x87", "\xCD\x87", "COMBINING EQUALS SIGN BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000348, "\xCD\x88", "\xCD\x88", "\xCD\x88", "COMBINING DOUBLE VERTICAL LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000349, "\xCD\x89", "\xCD\x89", "\xCD\x89", "COMBINING LEFT ANGLE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000034A, "\xCD\x8A", "\xCD\x8A", "\xCD\x8A", "COMBINING NOT TILDE ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000034B, "\xCD\x8B", "\xCD\x8B", "\xCD\x8B", "COMBINING HOMOTHETIC ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000034C, "\xCD\x8C", "\xCD\x8C", "\xCD\x8C", "COMBINING ALMOST EQUAL TO ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000034D, "\xCD\x8D", "\xCD\x8D", "\xCD\x8D", "COMBINING LEFT RIGHT ARROW BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000034E, "\xCD\x8E", "\xCD\x8E", "\xCD\x8E", "COMBINING UPWARDS ARROW BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000034F, "\xCD\x8F", "\xCD\x8F", "\xCD\x8F", "COMBINING GRAPHEME JOINER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000350, "\xCD\x90", "\xCD\x90", "\xCD\x90", "COMBINING RIGHT ARROWHEAD ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000351, "\xCD\x91", "\xCD\x91", "\xCD\x91", "COMBINING LEFT HALF RING ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000352, "\xCD\x92", "\xCD\x92", "\xCD\x92", "COMBINING FERMATA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000353, "\xCD\x93", "\xCD\x93", "\xCD\x93", "COMBINING X BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000354, "\xCD\x94", "\xCD\x94", "\xCD\x94", "COMBINING LEFT ARROWHEAD BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000355, "\xCD\x95", "\xCD\x95", "\xCD\x95", "COMBINING RIGHT ARROWHEAD BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000356, "\xCD\x96", "\xCD\x96", "\xCD\x96", "COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000357, "\xCD\x97", "\xCD\x97", "\xCD\x97", "COMBINING RIGHT HALF RING ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000358, "\xCD\x98", "\xCD\x98", "\xCD\x98", "COMBINING DOT ABOVE RIGHT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000359, "\xCD\x99", "\xCD\x99", "\xCD\x99", "COMBINING ASTERISK BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000035A, "\xCD\x9A", "\xCD\x9A", "\xCD\x9A", "COMBINING DOUBLE RING BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000035B, "\xCD\x9B", "\xCD\x9B", "\xCD\x9B", "COMBINING ZIGZAG ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000035C, "\xCD\x9C", "\xCD\x9C", "\xCD\x9C", "COMBINING DOUBLE BREVE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000035D, "\xCD\x9D", "\xCD\x9D", "\xCD\x9D", "COMBINING DOUBLE BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000035E, "\xCD\x9E", "\xCD\x9E", "\xCD\x9E", "COMBINING DOUBLE MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000035F, "\xCD\x9F", "\xCD\x9F", "\xCD\x9F", "COMBINING DOUBLE MACRON BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000360, "\xCD\xA0", "\xCD\xA0", "\xCD\xA0", "COMBINING DOUBLE TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000361, "\xCD\xA1", "\xCD\xA1", "\xCD\xA1", "COMBINING DOUBLE INVERTED BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000362, "\xCD\xA2", "\xCD\xA2", "\xCD\xA2", "COMBINING DOUBLE RIGHTWARDS ARROW BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000363, "\xCD\xA3", "\xCD\xA3", "\xCD\xA3", "COMBINING LATIN SMALL LETTER A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000364, "\xCD\xA4", "\xCD\xA4", "\xCD\xA4", "COMBINING LATIN SMALL LETTER E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000365, "\xCD\xA5", "\xCD\xA5", "\xCD\xA5", "COMBINING LATIN SMALL LETTER I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000366, "\xCD\xA6", "\xCD\xA6", "\xCD\xA6", "COMBINING LATIN SMALL LETTER O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000367, "\xCD\xA7", "\xCD\xA7", "\xCD\xA7", "COMBINING LATIN SMALL LETTER U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000368, "\xCD\xA8", "\xCD\xA8", "\xCD\xA8", "COMBINING LATIN SMALL LETTER C");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000369, "\xCD\xA9", "\xCD\xA9", "\xCD\xA9", "COMBINING LATIN SMALL LETTER D");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000036A, "\xCD\xAA", "\xCD\xAA", "\xCD\xAA", "COMBINING LATIN SMALL LETTER H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000036B, "\xCD\xAB", "\xCD\xAB", "\xCD\xAB", "COMBINING LATIN SMALL LETTER M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000036C, "\xCD\xAC", "\xCD\xAC", "\xCD\xAC", "COMBINING LATIN SMALL LETTER R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000036D, "\xCD\xAD", "\xCD\xAD", "\xCD\xAD", "COMBINING LATIN SMALL LETTER T");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000036E, "\xCD\xAE", "\xCD\xAE", "\xCD\xAE", "COMBINING LATIN SMALL LETTER V");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000036F, "\xCD\xAF", "\xCD\xAF", "\xCD\xAF", "COMBINING LATIN SMALL LETTER X");
  }
  
  TEST_F(CaseMapping, GreekandCoptic)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000370, "\xCD\xB1", "\xCD\xB0", "\xCD\xB0", "GREEK CAPITAL LETTER HETA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000371, "\xCD\xB1", "\xCD\xB0", "\xCD\xB0", "GREEK SMALL LETTER HETA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000372, "\xCD\xB3", "\xCD\xB2", "\xCD\xB2", "GREEK CAPITAL LETTER ARCHAIC SAMPI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000373, "\xCD\xB3", "\xCD\xB2", "\xCD\xB2", "GREEK SMALL LETTER ARCHAIC SAMPI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000374, "\xCD\xB4", "\xCD\xB4", "\xCD\xB4", "GREEK NUMERAL SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000375, "\xCD\xB5", "\xCD\xB5", "\xCD\xB5", "GREEK LOWER NUMERAL SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000376, "\xCD\xB7", "\xCD\xB6", "\xCD\xB6", "GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000377, "\xCD\xB7", "\xCD\xB6", "\xCD\xB6", "GREEK SMALL LETTER PAMPHYLIAN DIGAMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000037A, "\xCD\xBA", "\xCD\xBA", "\xCD\xBA", "GREEK YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000037B, "\xCD\xBB", "\xCF\xBD", "\xCF\xBD", "GREEK SMALL REVERSED LUNATE SIGMA SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000037C, "\xCD\xBC", "\xCF\xBE", "\xCF\xBE", "GREEK SMALL DOTTED LUNATE SIGMA SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000037D, "\xCD\xBD", "\xCF\xBF", "\xCF\xBF", "GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000037E, "\xCD\xBE", "\xCD\xBE", "\xCD\xBE", "GREEK QUESTION MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000037F, "\xCF\xB3", "\xCD\xBF", "\xCD\xBF", "GREEK CAPITAL LETTER YOT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000384, "\xCE\x84", "\xCE\x84", "\xCE\x84", "GREEK TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000385, "\xCE\x85", "\xCE\x85", "\xCE\x85", "GREEK DIALYTIKA TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000386, "\xCE\xAC", "\xCE\x86", "\xCE\x86", "GREEK CAPITAL LETTER ALPHA WITH TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000387, "\xCE\x87", "\xCE\x87", "\xCE\x87", "GREEK ANO TELEIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000388, "\xCE\xAD", "\xCE\x88", "\xCE\x88", "GREEK CAPITAL LETTER EPSILON WITH TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000389, "\xCE\xAE", "\xCE\x89", "\xCE\x89", "GREEK CAPITAL LETTER ETA WITH TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000038A, "\xCE\xAF", "\xCE\x8A", "\xCE\x8A", "GREEK CAPITAL LETTER IOTA WITH TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000038C, "\xCF\x8C", "\xCE\x8C", "\xCE\x8C", "GREEK CAPITAL LETTER OMICRON WITH TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000038E, "\xCF\x8D", "\xCE\x8E", "\xCE\x8E", "GREEK CAPITAL LETTER UPSILON WITH TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000038F, "\xCF\x8E", "\xCE\x8F", "\xCE\x8F", "GREEK CAPITAL LETTER OMEGA WITH TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000390, "\xCE\x90", "\xCE\x99\xCC\x88\xCC\x81", "\xCE\x99\xCC\x88\xCC\x81", "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000391, "\xCE\xB1", "\xCE\x91", "\xCE\x91", "GREEK CAPITAL LETTER ALPHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000392, "\xCE\xB2", "\xCE\x92", "\xCE\x92", "GREEK CAPITAL LETTER BETA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000393, "\xCE\xB3", "\xCE\x93", "\xCE\x93", "GREEK CAPITAL LETTER GAMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000394, "\xCE\xB4", "\xCE\x94", "\xCE\x94", "GREEK CAPITAL LETTER DELTA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000395, "\xCE\xB5", "\xCE\x95", "\xCE\x95", "GREEK CAPITAL LETTER EPSILON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000396, "\xCE\xB6", "\xCE\x96", "\xCE\x96", "GREEK CAPITAL LETTER ZETA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000397, "\xCE\xB7", "\xCE\x97", "\xCE\x97", "GREEK CAPITAL LETTER ETA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000398, "\xCE\xB8", "\xCE\x98", "\xCE\x98", "GREEK CAPITAL LETTER THETA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000399, "\xCE\xB9", "\xCE\x99", "\xCE\x99", "GREEK CAPITAL LETTER IOTA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000039A, "\xCE\xBA", "\xCE\x9A", "\xCE\x9A", "GREEK CAPITAL LETTER KAPPA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000039B, "\xCE\xBB", "\xCE\x9B", "\xCE\x9B", "GREEK CAPITAL LETTER LAMDA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000039C, "\xCE\xBC", "\xCE\x9C", "\xCE\x9C", "GREEK CAPITAL LETTER MU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000039D, "\xCE\xBD", "\xCE\x9D", "\xCE\x9D", "GREEK CAPITAL LETTER NU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000039E, "\xCE\xBE", "\xCE\x9E", "\xCE\x9E", "GREEK CAPITAL LETTER XI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000039F, "\xCE\xBF", "\xCE\x9F", "\xCE\x9F", "GREEK CAPITAL LETTER OMICRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003A0, "\xCF\x80", "\xCE\xA0", "\xCE\xA0", "GREEK CAPITAL LETTER PI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003A1, "\xCF\x81", "\xCE\xA1", "\xCE\xA1", "GREEK CAPITAL LETTER RHO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003A3, "\xCF\x83", "\xCE\xA3", "\xCE\xA3", "GREEK CAPITAL LETTER SIGMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003A4, "\xCF\x84", "\xCE\xA4", "\xCE\xA4", "GREEK CAPITAL LETTER TAU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003A5, "\xCF\x85", "\xCE\xA5", "\xCE\xA5", "GREEK CAPITAL LETTER UPSILON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003A6, "\xCF\x86", "\xCE\xA6", "\xCE\xA6", "GREEK CAPITAL LETTER PHI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003A7, "\xCF\x87", "\xCE\xA7", "\xCE\xA7", "GREEK CAPITAL LETTER CHI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003A8, "\xCF\x88", "\xCE\xA8", "\xCE\xA8", "GREEK CAPITAL LETTER PSI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003A9, "\xCF\x89", "\xCE\xA9", "\xCE\xA9", "GREEK CAPITAL LETTER OMEGA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003AA, "\xCF\x8A", "\xCE\xAA", "\xCE\xAA", "GREEK CAPITAL LETTER IOTA WITH DIALYTIKA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003AB, "\xCF\x8B", "\xCE\xAB", "\xCE\xAB", "GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003AC, "\xCE\xAC", "\xCE\x86", "\xCE\x86", "GREEK SMALL LETTER ALPHA WITH TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003AD, "\xCE\xAD", "\xCE\x88", "\xCE\x88", "GREEK SMALL LETTER EPSILON WITH TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003AE, "\xCE\xAE", "\xCE\x89", "\xCE\x89", "GREEK SMALL LETTER ETA WITH TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003AF, "\xCE\xAF", "\xCE\x8A", "\xCE\x8A", "GREEK SMALL LETTER IOTA WITH TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003B0, "\xCE\xB0", "\xCE\xA5\xCC\x88\xCC\x81", "\xCE\xA5\xCC\x88\xCC\x81", "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003B1, "\xCE\xB1", "\xCE\x91", "\xCE\x91", "GREEK SMALL LETTER ALPHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003B2, "\xCE\xB2", "\xCE\x92", "\xCE\x92", "GREEK SMALL LETTER BETA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003B3, "\xCE\xB3", "\xCE\x93", "\xCE\x93", "GREEK SMALL LETTER GAMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003B4, "\xCE\xB4", "\xCE\x94", "\xCE\x94", "GREEK SMALL LETTER DELTA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003B5, "\xCE\xB5", "\xCE\x95", "\xCE\x95", "GREEK SMALL LETTER EPSILON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003B6, "\xCE\xB6", "\xCE\x96", "\xCE\x96", "GREEK SMALL LETTER ZETA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003B7, "\xCE\xB7", "\xCE\x97", "\xCE\x97", "GREEK SMALL LETTER ETA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003B8, "\xCE\xB8", "\xCE\x98", "\xCE\x98", "GREEK SMALL LETTER THETA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003B9, "\xCE\xB9", "\xCE\x99", "\xCE\x99", "GREEK SMALL LETTER IOTA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003BA, "\xCE\xBA", "\xCE\x9A", "\xCE\x9A", "GREEK SMALL LETTER KAPPA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003BB, "\xCE\xBB", "\xCE\x9B", "\xCE\x9B", "GREEK SMALL LETTER LAMDA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003BC, "\xCE\xBC", "\xCE\x9C", "\xCE\x9C", "GREEK SMALL LETTER MU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003BD, "\xCE\xBD", "\xCE\x9D", "\xCE\x9D", "GREEK SMALL LETTER NU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003BE, "\xCE\xBE", "\xCE\x9E", "\xCE\x9E", "GREEK SMALL LETTER XI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003BF, "\xCE\xBF", "\xCE\x9F", "\xCE\x9F", "GREEK SMALL LETTER OMICRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003C0, "\xCF\x80", "\xCE\xA0", "\xCE\xA0", "GREEK SMALL LETTER PI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003C1, "\xCF\x81", "\xCE\xA1", "\xCE\xA1", "GREEK SMALL LETTER RHO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003C2, "\xCF\x82", "\xCE\xA3", "\xCE\xA3", "GREEK SMALL LETTER FINAL SIGMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003C3, "\xCF\x83", "\xCE\xA3", "\xCE\xA3", "GREEK SMALL LETTER SIGMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003C4, "\xCF\x84", "\xCE\xA4", "\xCE\xA4", "GREEK SMALL LETTER TAU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003C5, "\xCF\x85", "\xCE\xA5", "\xCE\xA5", "GREEK SMALL LETTER UPSILON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003C6, "\xCF\x86", "\xCE\xA6", "\xCE\xA6", "GREEK SMALL LETTER PHI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003C7, "\xCF\x87", "\xCE\xA7", "\xCE\xA7", "GREEK SMALL LETTER CHI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003C8, "\xCF\x88", "\xCE\xA8", "\xCE\xA8", "GREEK SMALL LETTER PSI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003C9, "\xCF\x89", "\xCE\xA9", "\xCE\xA9", "GREEK SMALL LETTER OMEGA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003CA, "\xCF\x8A", "\xCE\xAA", "\xCE\xAA", "GREEK SMALL LETTER IOTA WITH DIALYTIKA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003CB, "\xCF\x8B", "\xCE\xAB", "\xCE\xAB", "GREEK SMALL LETTER UPSILON WITH DIALYTIKA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003CC, "\xCF\x8C", "\xCE\x8C", "\xCE\x8C", "GREEK SMALL LETTER OMICRON WITH TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003CD, "\xCF\x8D", "\xCE\x8E", "\xCE\x8E", "GREEK SMALL LETTER UPSILON WITH TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003CE, "\xCF\x8E", "\xCE\x8F", "\xCE\x8F", "GREEK SMALL LETTER OMEGA WITH TONOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003CF, "\xCF\x97", "\xCF\x8F", "\xCF\x8F", "GREEK CAPITAL KAI SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003D0, "\xCF\x90", "\xCE\x92", "\xCE\x92", "GREEK BETA SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003D1, "\xCF\x91", "\xCE\x98", "\xCE\x98", "GREEK THETA SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003D2, "\xCF\x92", "\xCF\x92", "\xCF\x92", "GREEK UPSILON WITH HOOK SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003D3, "\xCF\x93", "\xCF\x93", "\xCF\x93", "GREEK UPSILON WITH ACUTE AND HOOK SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003D4, "\xCF\x94", "\xCF\x94", "\xCF\x94", "GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003D5, "\xCF\x95", "\xCE\xA6", "\xCE\xA6", "GREEK PHI SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003D6, "\xCF\x96", "\xCE\xA0", "\xCE\xA0", "GREEK PI SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003D7, "\xCF\x97", "\xCF\x8F", "\xCF\x8F", "GREEK KAI SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003D8, "\xCF\x99", "\xCF\x98", "\xCF\x98", "GREEK LETTER ARCHAIC KOPPA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003D9, "\xCF\x99", "\xCF\x98", "\xCF\x98", "GREEK SMALL LETTER ARCHAIC KOPPA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003DA, "\xCF\x9B", "\xCF\x9A", "\xCF\x9A", "GREEK LETTER STIGMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003DB, "\xCF\x9B", "\xCF\x9A", "\xCF\x9A", "GREEK SMALL LETTER STIGMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003DC, "\xCF\x9D", "\xCF\x9C", "\xCF\x9C", "GREEK LETTER DIGAMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003DD, "\xCF\x9D", "\xCF\x9C", "\xCF\x9C", "GREEK SMALL LETTER DIGAMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003DE, "\xCF\x9F", "\xCF\x9E", "\xCF\x9E", "GREEK LETTER KOPPA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003DF, "\xCF\x9F", "\xCF\x9E", "\xCF\x9E", "GREEK SMALL LETTER KOPPA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003E0, "\xCF\xA1", "\xCF\xA0", "\xCF\xA0", "GREEK LETTER SAMPI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003E1, "\xCF\xA1", "\xCF\xA0", "\xCF\xA0", "GREEK SMALL LETTER SAMPI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003E2, "\xCF\xA3", "\xCF\xA2", "\xCF\xA2", "COPTIC CAPITAL LETTER SHEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003E3, "\xCF\xA3", "\xCF\xA2", "\xCF\xA2", "COPTIC SMALL LETTER SHEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003E4, "\xCF\xA5", "\xCF\xA4", "\xCF\xA4", "COPTIC CAPITAL LETTER FEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003E5, "\xCF\xA5", "\xCF\xA4", "\xCF\xA4", "COPTIC SMALL LETTER FEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003E6, "\xCF\xA7", "\xCF\xA6", "\xCF\xA6", "COPTIC CAPITAL LETTER KHEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003E7, "\xCF\xA7", "\xCF\xA6", "\xCF\xA6", "COPTIC SMALL LETTER KHEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003E8, "\xCF\xA9", "\xCF\xA8", "\xCF\xA8", "COPTIC CAPITAL LETTER HORI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003E9, "\xCF\xA9", "\xCF\xA8", "\xCF\xA8", "COPTIC SMALL LETTER HORI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003EA, "\xCF\xAB", "\xCF\xAA", "\xCF\xAA", "COPTIC CAPITAL LETTER GANGIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003EB, "\xCF\xAB", "\xCF\xAA", "\xCF\xAA", "COPTIC SMALL LETTER GANGIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003EC, "\xCF\xAD", "\xCF\xAC", "\xCF\xAC", "COPTIC CAPITAL LETTER SHIMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003ED, "\xCF\xAD", "\xCF\xAC", "\xCF\xAC", "COPTIC SMALL LETTER SHIMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003EE, "\xCF\xAF", "\xCF\xAE", "\xCF\xAE", "COPTIC CAPITAL LETTER DEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003EF, "\xCF\xAF", "\xCF\xAE", "\xCF\xAE", "COPTIC SMALL LETTER DEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003F0, "\xCF\xB0", "\xCE\x9A", "\xCE\x9A", "GREEK KAPPA SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003F1, "\xCF\xB1", "\xCE\xA1", "\xCE\xA1", "GREEK RHO SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003F2, "\xCF\xB2", "\xCF\xB9", "\xCF\xB9", "GREEK LUNATE SIGMA SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003F3, "\xCF\xB3", "\xCD\xBF", "\xCD\xBF", "GREEK LETTER YOT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003F4, "\xCE\xB8", "\xCF\xB4", "\xCF\xB4", "GREEK CAPITAL THETA SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003F5, "\xCF\xB5", "\xCE\x95", "\xCE\x95", "GREEK LUNATE EPSILON SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003F6, "\xCF\xB6", "\xCF\xB6", "\xCF\xB6", "GREEK REVERSED LUNATE EPSILON SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003F7, "\xCF\xB8", "\xCF\xB7", "\xCF\xB7", "GREEK CAPITAL LETTER SHO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003F8, "\xCF\xB8", "\xCF\xB7", "\xCF\xB7", "GREEK SMALL LETTER SHO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003F9, "\xCF\xB2", "\xCF\xB9", "\xCF\xB9", "GREEK CAPITAL LUNATE SIGMA SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003FA, "\xCF\xBB", "\xCF\xBA", "\xCF\xBA", "GREEK CAPITAL LETTER SAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003FB, "\xCF\xBB", "\xCF\xBA", "\xCF\xBA", "GREEK SMALL LETTER SAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003FC, "\xCF\xBC", "\xCF\xBC", "\xCF\xBC", "GREEK RHO WITH STROKE SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003FD, "\xCD\xBB", "\xCF\xBD", "\xCF\xBD", "GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003FE, "\xCD\xBC", "\xCF\xBE", "\xCF\xBE", "GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000003FF, "\xCD\xBD", "\xCF\xBF", "\xCF\xBF", "GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL");
  }
  
  TEST_F(CaseMapping, Cyrillic)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000400, "\xD1\x90", "\xD0\x80", "\xD0\x80", "CYRILLIC CAPITAL LETTER IE WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000401, "\xD1\x91", "\xD0\x81", "\xD0\x81", "CYRILLIC CAPITAL LETTER IO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000402, "\xD1\x92", "\xD0\x82", "\xD0\x82", "CYRILLIC CAPITAL LETTER DJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000403, "\xD1\x93", "\xD0\x83", "\xD0\x83", "CYRILLIC CAPITAL LETTER GJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000404, "\xD1\x94", "\xD0\x84", "\xD0\x84", "CYRILLIC CAPITAL LETTER UKRAINIAN IE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000405, "\xD1\x95", "\xD0\x85", "\xD0\x85", "CYRILLIC CAPITAL LETTER DZE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000406, "\xD1\x96", "\xD0\x86", "\xD0\x86", "CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000407, "\xD1\x97", "\xD0\x87", "\xD0\x87", "CYRILLIC CAPITAL LETTER YI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000408, "\xD1\x98", "\xD0\x88", "\xD0\x88", "CYRILLIC CAPITAL LETTER JE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000409, "\xD1\x99", "\xD0\x89", "\xD0\x89", "CYRILLIC CAPITAL LETTER LJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000040A, "\xD1\x9A", "\xD0\x8A", "\xD0\x8A", "CYRILLIC CAPITAL LETTER NJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000040B, "\xD1\x9B", "\xD0\x8B", "\xD0\x8B", "CYRILLIC CAPITAL LETTER TSHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000040C, "\xD1\x9C", "\xD0\x8C", "\xD0\x8C", "CYRILLIC CAPITAL LETTER KJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000040D, "\xD1\x9D", "\xD0\x8D", "\xD0\x8D", "CYRILLIC CAPITAL LETTER I WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000040E, "\xD1\x9E", "\xD0\x8E", "\xD0\x8E", "CYRILLIC CAPITAL LETTER SHORT U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000040F, "\xD1\x9F", "\xD0\x8F", "\xD0\x8F", "CYRILLIC CAPITAL LETTER DZHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000410, "\xD0\xB0", "\xD0\x90", "\xD0\x90", "CYRILLIC CAPITAL LETTER A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000411, "\xD0\xB1", "\xD0\x91", "\xD0\x91", "CYRILLIC CAPITAL LETTER BE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000412, "\xD0\xB2", "\xD0\x92", "\xD0\x92", "CYRILLIC CAPITAL LETTER VE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000413, "\xD0\xB3", "\xD0\x93", "\xD0\x93", "CYRILLIC CAPITAL LETTER GHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000414, "\xD0\xB4", "\xD0\x94", "\xD0\x94", "CYRILLIC CAPITAL LETTER DE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000415, "\xD0\xB5", "\xD0\x95", "\xD0\x95", "CYRILLIC CAPITAL LETTER IE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000416, "\xD0\xB6", "\xD0\x96", "\xD0\x96", "CYRILLIC CAPITAL LETTER ZHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000417, "\xD0\xB7", "\xD0\x97", "\xD0\x97", "CYRILLIC CAPITAL LETTER ZE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000418, "\xD0\xB8", "\xD0\x98", "\xD0\x98", "CYRILLIC CAPITAL LETTER I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000419, "\xD0\xB9", "\xD0\x99", "\xD0\x99", "CYRILLIC CAPITAL LETTER SHORT I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000041A, "\xD0\xBA", "\xD0\x9A", "\xD0\x9A", "CYRILLIC CAPITAL LETTER KA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000041B, "\xD0\xBB", "\xD0\x9B", "\xD0\x9B", "CYRILLIC CAPITAL LETTER EL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000041C, "\xD0\xBC", "\xD0\x9C", "\xD0\x9C", "CYRILLIC CAPITAL LETTER EM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000041D, "\xD0\xBD", "\xD0\x9D", "\xD0\x9D", "CYRILLIC CAPITAL LETTER EN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000041E, "\xD0\xBE", "\xD0\x9E", "\xD0\x9E", "CYRILLIC CAPITAL LETTER O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000041F, "\xD0\xBF", "\xD0\x9F", "\xD0\x9F", "CYRILLIC CAPITAL LETTER PE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000420, "\xD1\x80", "\xD0\xA0", "\xD0\xA0", "CYRILLIC CAPITAL LETTER ER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000421, "\xD1\x81", "\xD0\xA1", "\xD0\xA1", "CYRILLIC CAPITAL LETTER ES");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000422, "\xD1\x82", "\xD0\xA2", "\xD0\xA2", "CYRILLIC CAPITAL LETTER TE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000423, "\xD1\x83", "\xD0\xA3", "\xD0\xA3", "CYRILLIC CAPITAL LETTER U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000424, "\xD1\x84", "\xD0\xA4", "\xD0\xA4", "CYRILLIC CAPITAL LETTER EF");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000425, "\xD1\x85", "\xD0\xA5", "\xD0\xA5", "CYRILLIC CAPITAL LETTER HA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000426, "\xD1\x86", "\xD0\xA6", "\xD0\xA6", "CYRILLIC CAPITAL LETTER TSE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000427, "\xD1\x87", "\xD0\xA7", "\xD0\xA7", "CYRILLIC CAPITAL LETTER CHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000428, "\xD1\x88", "\xD0\xA8", "\xD0\xA8", "CYRILLIC CAPITAL LETTER SHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000429, "\xD1\x89", "\xD0\xA9", "\xD0\xA9", "CYRILLIC CAPITAL LETTER SHCHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000042A, "\xD1\x8A", "\xD0\xAA", "\xD0\xAA", "CYRILLIC CAPITAL LETTER HARD SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000042B, "\xD1\x8B", "\xD0\xAB", "\xD0\xAB", "CYRILLIC CAPITAL LETTER YERU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000042C, "\xD1\x8C", "\xD0\xAC", "\xD0\xAC", "CYRILLIC CAPITAL LETTER SOFT SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000042D, "\xD1\x8D", "\xD0\xAD", "\xD0\xAD", "CYRILLIC CAPITAL LETTER E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000042E, "\xD1\x8E", "\xD0\xAE", "\xD0\xAE", "CYRILLIC CAPITAL LETTER YU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000042F, "\xD1\x8F", "\xD0\xAF", "\xD0\xAF", "CYRILLIC CAPITAL LETTER YA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000430, "\xD0\xB0", "\xD0\x90", "\xD0\x90", "CYRILLIC SMALL LETTER A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000431, "\xD0\xB1", "\xD0\x91", "\xD0\x91", "CYRILLIC SMALL LETTER BE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000432, "\xD0\xB2", "\xD0\x92", "\xD0\x92", "CYRILLIC SMALL LETTER VE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000433, "\xD0\xB3", "\xD0\x93", "\xD0\x93", "CYRILLIC SMALL LETTER GHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000434, "\xD0\xB4", "\xD0\x94", "\xD0\x94", "CYRILLIC SMALL LETTER DE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000435, "\xD0\xB5", "\xD0\x95", "\xD0\x95", "CYRILLIC SMALL LETTER IE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000436, "\xD0\xB6", "\xD0\x96", "\xD0\x96", "CYRILLIC SMALL LETTER ZHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000437, "\xD0\xB7", "\xD0\x97", "\xD0\x97", "CYRILLIC SMALL LETTER ZE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000438, "\xD0\xB8", "\xD0\x98", "\xD0\x98", "CYRILLIC SMALL LETTER I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000439, "\xD0\xB9", "\xD0\x99", "\xD0\x99", "CYRILLIC SMALL LETTER SHORT I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000043A, "\xD0\xBA", "\xD0\x9A", "\xD0\x9A", "CYRILLIC SMALL LETTER KA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000043B, "\xD0\xBB", "\xD0\x9B", "\xD0\x9B", "CYRILLIC SMALL LETTER EL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000043C, "\xD0\xBC", "\xD0\x9C", "\xD0\x9C", "CYRILLIC SMALL LETTER EM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000043D, "\xD0\xBD", "\xD0\x9D", "\xD0\x9D", "CYRILLIC SMALL LETTER EN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000043E, "\xD0\xBE", "\xD0\x9E", "\xD0\x9E", "CYRILLIC SMALL LETTER O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000043F, "\xD0\xBF", "\xD0\x9F", "\xD0\x9F", "CYRILLIC SMALL LETTER PE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000440, "\xD1\x80", "\xD0\xA0", "\xD0\xA0", "CYRILLIC SMALL LETTER ER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000441, "\xD1\x81", "\xD0\xA1", "\xD0\xA1", "CYRILLIC SMALL LETTER ES");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000442, "\xD1\x82", "\xD0\xA2", "\xD0\xA2", "CYRILLIC SMALL LETTER TE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000443, "\xD1\x83", "\xD0\xA3", "\xD0\xA3", "CYRILLIC SMALL LETTER U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000444, "\xD1\x84", "\xD0\xA4", "\xD0\xA4", "CYRILLIC SMALL LETTER EF");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000445, "\xD1\x85", "\xD0\xA5", "\xD0\xA5", "CYRILLIC SMALL LETTER HA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000446, "\xD1\x86", "\xD0\xA6", "\xD0\xA6", "CYRILLIC SMALL LETTER TSE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000447, "\xD1\x87", "\xD0\xA7", "\xD0\xA7", "CYRILLIC SMALL LETTER CHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000448, "\xD1\x88", "\xD0\xA8", "\xD0\xA8", "CYRILLIC SMALL LETTER SHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000449, "\xD1\x89", "\xD0\xA9", "\xD0\xA9", "CYRILLIC SMALL LETTER SHCHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000044A, "\xD1\x8A", "\xD0\xAA", "\xD0\xAA", "CYRILLIC SMALL LETTER HARD SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000044B, "\xD1\x8B", "\xD0\xAB", "\xD0\xAB", "CYRILLIC SMALL LETTER YERU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000044C, "\xD1\x8C", "\xD0\xAC", "\xD0\xAC", "CYRILLIC SMALL LETTER SOFT SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000044D, "\xD1\x8D", "\xD0\xAD", "\xD0\xAD", "CYRILLIC SMALL LETTER E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000044E, "\xD1\x8E", "\xD0\xAE", "\xD0\xAE", "CYRILLIC SMALL LETTER YU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000044F, "\xD1\x8F", "\xD0\xAF", "\xD0\xAF", "CYRILLIC SMALL LETTER YA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000450, "\xD1\x90", "\xD0\x80", "\xD0\x80", "CYRILLIC SMALL LETTER IE WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000451, "\xD1\x91", "\xD0\x81", "\xD0\x81", "CYRILLIC SMALL LETTER IO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000452, "\xD1\x92", "\xD0\x82", "\xD0\x82", "CYRILLIC SMALL LETTER DJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000453, "\xD1\x93", "\xD0\x83", "\xD0\x83", "CYRILLIC SMALL LETTER GJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000454, "\xD1\x94", "\xD0\x84", "\xD0\x84", "CYRILLIC SMALL LETTER UKRAINIAN IE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000455, "\xD1\x95", "\xD0\x85", "\xD0\x85", "CYRILLIC SMALL LETTER DZE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000456, "\xD1\x96", "\xD0\x86", "\xD0\x86", "CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000457, "\xD1\x97", "\xD0\x87", "\xD0\x87", "CYRILLIC SMALL LETTER YI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000458, "\xD1\x98", "\xD0\x88", "\xD0\x88", "CYRILLIC SMALL LETTER JE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000459, "\xD1\x99", "\xD0\x89", "\xD0\x89", "CYRILLIC SMALL LETTER LJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000045A, "\xD1\x9A", "\xD0\x8A", "\xD0\x8A", "CYRILLIC SMALL LETTER NJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000045B, "\xD1\x9B", "\xD0\x8B", "\xD0\x8B", "CYRILLIC SMALL LETTER TSHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000045C, "\xD1\x9C", "\xD0\x8C", "\xD0\x8C", "CYRILLIC SMALL LETTER KJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000045D, "\xD1\x9D", "\xD0\x8D", "\xD0\x8D", "CYRILLIC SMALL LETTER I WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000045E, "\xD1\x9E", "\xD0\x8E", "\xD0\x8E", "CYRILLIC SMALL LETTER SHORT U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000045F, "\xD1\x9F", "\xD0\x8F", "\xD0\x8F", "CYRILLIC SMALL LETTER DZHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000460, "\xD1\xA1", "\xD1\xA0", "\xD1\xA0", "CYRILLIC CAPITAL LETTER OMEGA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000461, "\xD1\xA1", "\xD1\xA0", "\xD1\xA0", "CYRILLIC SMALL LETTER OMEGA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000462, "\xD1\xA3", "\xD1\xA2", "\xD1\xA2", "CYRILLIC CAPITAL LETTER YAT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000463, "\xD1\xA3", "\xD1\xA2", "\xD1\xA2", "CYRILLIC SMALL LETTER YAT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000464, "\xD1\xA5", "\xD1\xA4", "\xD1\xA4", "CYRILLIC CAPITAL LETTER IOTIFIED E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000465, "\xD1\xA5", "\xD1\xA4", "\xD1\xA4", "CYRILLIC SMALL LETTER IOTIFIED E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000466, "\xD1\xA7", "\xD1\xA6", "\xD1\xA6", "CYRILLIC CAPITAL LETTER LITTLE YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000467, "\xD1\xA7", "\xD1\xA6", "\xD1\xA6", "CYRILLIC SMALL LETTER LITTLE YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000468, "\xD1\xA9", "\xD1\xA8", "\xD1\xA8", "CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000469, "\xD1\xA9", "\xD1\xA8", "\xD1\xA8", "CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000046A, "\xD1\xAB", "\xD1\xAA", "\xD1\xAA", "CYRILLIC CAPITAL LETTER BIG YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000046B, "\xD1\xAB", "\xD1\xAA", "\xD1\xAA", "CYRILLIC SMALL LETTER BIG YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000046C, "\xD1\xAD", "\xD1\xAC", "\xD1\xAC", "CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000046D, "\xD1\xAD", "\xD1\xAC", "\xD1\xAC", "CYRILLIC SMALL LETTER IOTIFIED BIG YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000046E, "\xD1\xAF", "\xD1\xAE", "\xD1\xAE", "CYRILLIC CAPITAL LETTER KSI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000046F, "\xD1\xAF", "\xD1\xAE", "\xD1\xAE", "CYRILLIC SMALL LETTER KSI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000470, "\xD1\xB1", "\xD1\xB0", "\xD1\xB0", "CYRILLIC CAPITAL LETTER PSI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000471, "\xD1\xB1", "\xD1\xB0", "\xD1\xB0", "CYRILLIC SMALL LETTER PSI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000472, "\xD1\xB3", "\xD1\xB2", "\xD1\xB2", "CYRILLIC CAPITAL LETTER FITA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000473, "\xD1\xB3", "\xD1\xB2", "\xD1\xB2", "CYRILLIC SMALL LETTER FITA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000474, "\xD1\xB5", "\xD1\xB4", "\xD1\xB4", "CYRILLIC CAPITAL LETTER IZHITSA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000475, "\xD1\xB5", "\xD1\xB4", "\xD1\xB4", "CYRILLIC SMALL LETTER IZHITSA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000476, "\xD1\xB7", "\xD1\xB6", "\xD1\xB6", "CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000477, "\xD1\xB7", "\xD1\xB6", "\xD1\xB6", "CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000478, "\xD1\xB9", "\xD1\xB8", "\xD1\xB8", "CYRILLIC CAPITAL LETTER UK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000479, "\xD1\xB9", "\xD1\xB8", "\xD1\xB8", "CYRILLIC SMALL LETTER UK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000047A, "\xD1\xBB", "\xD1\xBA", "\xD1\xBA", "CYRILLIC CAPITAL LETTER ROUND OMEGA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000047B, "\xD1\xBB", "\xD1\xBA", "\xD1\xBA", "CYRILLIC SMALL LETTER ROUND OMEGA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000047C, "\xD1\xBD", "\xD1\xBC", "\xD1\xBC", "CYRILLIC CAPITAL LETTER OMEGA WITH TITLO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000047D, "\xD1\xBD", "\xD1\xBC", "\xD1\xBC", "CYRILLIC SMALL LETTER OMEGA WITH TITLO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000047E, "\xD1\xBF", "\xD1\xBE", "\xD1\xBE", "CYRILLIC CAPITAL LETTER OT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000047F, "\xD1\xBF", "\xD1\xBE", "\xD1\xBE", "CYRILLIC SMALL LETTER OT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000480, "\xD2\x81", "\xD2\x80", "\xD2\x80", "CYRILLIC CAPITAL LETTER KOPPA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000481, "\xD2\x81", "\xD2\x80", "\xD2\x80", "CYRILLIC SMALL LETTER KOPPA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000482, "\xD2\x82", "\xD2\x82", "\xD2\x82", "CYRILLIC THOUSANDS SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000483, "\xD2\x83", "\xD2\x83", "\xD2\x83", "COMBINING CYRILLIC TITLO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000484, "\xD2\x84", "\xD2\x84", "\xD2\x84", "COMBINING CYRILLIC PALATALIZATION");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000485, "\xD2\x85", "\xD2\x85", "\xD2\x85", "COMBINING CYRILLIC DASIA PNEUMATA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000486, "\xD2\x86", "\xD2\x86", "\xD2\x86", "COMBINING CYRILLIC PSILI PNEUMATA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000487, "\xD2\x87", "\xD2\x87", "\xD2\x87", "COMBINING CYRILLIC POKRYTIE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000488, "\xD2\x88", "\xD2\x88", "\xD2\x88", "COMBINING CYRILLIC HUNDRED THOUSANDS SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000489, "\xD2\x89", "\xD2\x89", "\xD2\x89", "COMBINING CYRILLIC MILLIONS SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000048A, "\xD2\x8B", "\xD2\x8A", "\xD2\x8A", "CYRILLIC CAPITAL LETTER SHORT I WITH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000048B, "\xD2\x8B", "\xD2\x8A", "\xD2\x8A", "CYRILLIC SMALL LETTER SHORT I WITH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000048C, "\xD2\x8D", "\xD2\x8C", "\xD2\x8C", "CYRILLIC CAPITAL LETTER SEMISOFT SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000048D, "\xD2\x8D", "\xD2\x8C", "\xD2\x8C", "CYRILLIC SMALL LETTER SEMISOFT SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000048E, "\xD2\x8F", "\xD2\x8E", "\xD2\x8E", "CYRILLIC CAPITAL LETTER ER WITH TICK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000048F, "\xD2\x8F", "\xD2\x8E", "\xD2\x8E", "CYRILLIC SMALL LETTER ER WITH TICK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000490, "\xD2\x91", "\xD2\x90", "\xD2\x90", "CYRILLIC CAPITAL LETTER GHE WITH UPTURN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000491, "\xD2\x91", "\xD2\x90", "\xD2\x90", "CYRILLIC SMALL LETTER GHE WITH UPTURN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000492, "\xD2\x93", "\xD2\x92", "\xD2\x92", "CYRILLIC CAPITAL LETTER GHE WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000493, "\xD2\x93", "\xD2\x92", "\xD2\x92", "CYRILLIC SMALL LETTER GHE WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000494, "\xD2\x95", "\xD2\x94", "\xD2\x94", "CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000495, "\xD2\x95", "\xD2\x94", "\xD2\x94", "CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000496, "\xD2\x97", "\xD2\x96", "\xD2\x96", "CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000497, "\xD2\x97", "\xD2\x96", "\xD2\x96", "CYRILLIC SMALL LETTER ZHE WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000498, "\xD2\x99", "\xD2\x98", "\xD2\x98", "CYRILLIC CAPITAL LETTER ZE WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000499, "\xD2\x99", "\xD2\x98", "\xD2\x98", "CYRILLIC SMALL LETTER ZE WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000049A, "\xD2\x9B", "\xD2\x9A", "\xD2\x9A", "CYRILLIC CAPITAL LETTER KA WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000049B, "\xD2\x9B", "\xD2\x9A", "\xD2\x9A", "CYRILLIC SMALL LETTER KA WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000049C, "\xD2\x9D", "\xD2\x9C", "\xD2\x9C", "CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000049D, "\xD2\x9D", "\xD2\x9C", "\xD2\x9C", "CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000049E, "\xD2\x9F", "\xD2\x9E", "\xD2\x9E", "CYRILLIC CAPITAL LETTER KA WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000049F, "\xD2\x9F", "\xD2\x9E", "\xD2\x9E", "CYRILLIC SMALL LETTER KA WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004A0, "\xD2\xA1", "\xD2\xA0", "\xD2\xA0", "CYRILLIC CAPITAL LETTER BASHKIR KA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004A1, "\xD2\xA1", "\xD2\xA0", "\xD2\xA0", "CYRILLIC SMALL LETTER BASHKIR KA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004A2, "\xD2\xA3", "\xD2\xA2", "\xD2\xA2", "CYRILLIC CAPITAL LETTER EN WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004A3, "\xD2\xA3", "\xD2\xA2", "\xD2\xA2", "CYRILLIC SMALL LETTER EN WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004A4, "\xD2\xA5", "\xD2\xA4", "\xD2\xA4", "CYRILLIC CAPITAL LIGATURE EN GHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004A5, "\xD2\xA5", "\xD2\xA4", "\xD2\xA4", "CYRILLIC SMALL LIGATURE EN GHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004A6, "\xD2\xA7", "\xD2\xA6", "\xD2\xA6", "CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004A7, "\xD2\xA7", "\xD2\xA6", "\xD2\xA6", "CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004A8, "\xD2\xA9", "\xD2\xA8", "\xD2\xA8", "CYRILLIC CAPITAL LETTER ABKHASIAN HA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004A9, "\xD2\xA9", "\xD2\xA8", "\xD2\xA8", "CYRILLIC SMALL LETTER ABKHASIAN HA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004AA, "\xD2\xAB", "\xD2\xAA", "\xD2\xAA", "CYRILLIC CAPITAL LETTER ES WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004AB, "\xD2\xAB", "\xD2\xAA", "\xD2\xAA", "CYRILLIC SMALL LETTER ES WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004AC, "\xD2\xAD", "\xD2\xAC", "\xD2\xAC", "CYRILLIC CAPITAL LETTER TE WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004AD, "\xD2\xAD", "\xD2\xAC", "\xD2\xAC", "CYRILLIC SMALL LETTER TE WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004AE, "\xD2\xAF", "\xD2\xAE", "\xD2\xAE", "CYRILLIC CAPITAL LETTER STRAIGHT U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004AF, "\xD2\xAF", "\xD2\xAE", "\xD2\xAE", "CYRILLIC SMALL LETTER STRAIGHT U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004B0, "\xD2\xB1", "\xD2\xB0", "\xD2\xB0", "CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004B1, "\xD2\xB1", "\xD2\xB0", "\xD2\xB0", "CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004B2, "\xD2\xB3", "\xD2\xB2", "\xD2\xB2", "CYRILLIC CAPITAL LETTER HA WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004B3, "\xD2\xB3", "\xD2\xB2", "\xD2\xB2", "CYRILLIC SMALL LETTER HA WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004B4, "\xD2\xB5", "\xD2\xB4", "\xD2\xB4", "CYRILLIC CAPITAL LIGATURE TE TSE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004B5, "\xD2\xB5", "\xD2\xB4", "\xD2\xB4", "CYRILLIC SMALL LIGATURE TE TSE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004B6, "\xD2\xB7", "\xD2\xB6", "\xD2\xB6", "CYRILLIC CAPITAL LETTER CHE WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004B7, "\xD2\xB7", "\xD2\xB6", "\xD2\xB6", "CYRILLIC SMALL LETTER CHE WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004B8, "\xD2\xB9", "\xD2\xB8", "\xD2\xB8", "CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004B9, "\xD2\xB9", "\xD2\xB8", "\xD2\xB8", "CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004BA, "\xD2\xBB", "\xD2\xBA", "\xD2\xBA", "CYRILLIC CAPITAL LETTER SHHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004BB, "\xD2\xBB", "\xD2\xBA", "\xD2\xBA", "CYRILLIC SMALL LETTER SHHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004BC, "\xD2\xBD", "\xD2\xBC", "\xD2\xBC", "CYRILLIC CAPITAL LETTER ABKHASIAN CHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004BD, "\xD2\xBD", "\xD2\xBC", "\xD2\xBC", "CYRILLIC SMALL LETTER ABKHASIAN CHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004BE, "\xD2\xBF", "\xD2\xBE", "\xD2\xBE", "CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004BF, "\xD2\xBF", "\xD2\xBE", "\xD2\xBE", "CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004C0, "\xD3\x8F", "\xD3\x80", "\xD3\x80", "CYRILLIC LETTER PALOCHKA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004C1, "\xD3\x82", "\xD3\x81", "\xD3\x81", "CYRILLIC CAPITAL LETTER ZHE WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004C2, "\xD3\x82", "\xD3\x81", "\xD3\x81", "CYRILLIC SMALL LETTER ZHE WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004C3, "\xD3\x84", "\xD3\x83", "\xD3\x83", "CYRILLIC CAPITAL LETTER KA WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004C4, "\xD3\x84", "\xD3\x83", "\xD3\x83", "CYRILLIC SMALL LETTER KA WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004C5, "\xD3\x86", "\xD3\x85", "\xD3\x85", "CYRILLIC CAPITAL LETTER EL WITH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004C6, "\xD3\x86", "\xD3\x85", "\xD3\x85", "CYRILLIC SMALL LETTER EL WITH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004C7, "\xD3\x88", "\xD3\x87", "\xD3\x87", "CYRILLIC CAPITAL LETTER EN WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004C8, "\xD3\x88", "\xD3\x87", "\xD3\x87", "CYRILLIC SMALL LETTER EN WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004C9, "\xD3\x8A", "\xD3\x89", "\xD3\x89", "CYRILLIC CAPITAL LETTER EN WITH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004CA, "\xD3\x8A", "\xD3\x89", "\xD3\x89", "CYRILLIC SMALL LETTER EN WITH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004CB, "\xD3\x8C", "\xD3\x8B", "\xD3\x8B", "CYRILLIC CAPITAL LETTER KHAKASSIAN CHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004CC, "\xD3\x8C", "\xD3\x8B", "\xD3\x8B", "CYRILLIC SMALL LETTER KHAKASSIAN CHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004CD, "\xD3\x8E", "\xD3\x8D", "\xD3\x8D", "CYRILLIC CAPITAL LETTER EM WITH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004CE, "\xD3\x8E", "\xD3\x8D", "\xD3\x8D", "CYRILLIC SMALL LETTER EM WITH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004CF, "\xD3\x8F", "\xD3\x80", "\xD3\x80", "CYRILLIC SMALL LETTER PALOCHKA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004D0, "\xD3\x91", "\xD3\x90", "\xD3\x90", "CYRILLIC CAPITAL LETTER A WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004D1, "\xD3\x91", "\xD3\x90", "\xD3\x90", "CYRILLIC SMALL LETTER A WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004D2, "\xD3\x93", "\xD3\x92", "\xD3\x92", "CYRILLIC CAPITAL LETTER A WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004D3, "\xD3\x93", "\xD3\x92", "\xD3\x92", "CYRILLIC SMALL LETTER A WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004D4, "\xD3\x95", "\xD3\x94", "\xD3\x94", "CYRILLIC CAPITAL LIGATURE A IE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004D5, "\xD3\x95", "\xD3\x94", "\xD3\x94", "CYRILLIC SMALL LIGATURE A IE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004D6, "\xD3\x97", "\xD3\x96", "\xD3\x96", "CYRILLIC CAPITAL LETTER IE WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004D7, "\xD3\x97", "\xD3\x96", "\xD3\x96", "CYRILLIC SMALL LETTER IE WITH BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004D8, "\xD3\x99", "\xD3\x98", "\xD3\x98", "CYRILLIC CAPITAL LETTER SCHWA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004D9, "\xD3\x99", "\xD3\x98", "\xD3\x98", "CYRILLIC SMALL LETTER SCHWA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004DA, "\xD3\x9B", "\xD3\x9A", "\xD3\x9A", "CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004DB, "\xD3\x9B", "\xD3\x9A", "\xD3\x9A", "CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004DC, "\xD3\x9D", "\xD3\x9C", "\xD3\x9C", "CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004DD, "\xD3\x9D", "\xD3\x9C", "\xD3\x9C", "CYRILLIC SMALL LETTER ZHE WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004DE, "\xD3\x9F", "\xD3\x9E", "\xD3\x9E", "CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004DF, "\xD3\x9F", "\xD3\x9E", "\xD3\x9E", "CYRILLIC SMALL LETTER ZE WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004E0, "\xD3\xA1", "\xD3\xA0", "\xD3\xA0", "CYRILLIC CAPITAL LETTER ABKHASIAN DZE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004E1, "\xD3\xA1", "\xD3\xA0", "\xD3\xA0", "CYRILLIC SMALL LETTER ABKHASIAN DZE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004E2, "\xD3\xA3", "\xD3\xA2", "\xD3\xA2", "CYRILLIC CAPITAL LETTER I WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004E3, "\xD3\xA3", "\xD3\xA2", "\xD3\xA2", "CYRILLIC SMALL LETTER I WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004E4, "\xD3\xA5", "\xD3\xA4", "\xD3\xA4", "CYRILLIC CAPITAL LETTER I WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004E5, "\xD3\xA5", "\xD3\xA4", "\xD3\xA4", "CYRILLIC SMALL LETTER I WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004E6, "\xD3\xA7", "\xD3\xA6", "\xD3\xA6", "CYRILLIC CAPITAL LETTER O WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004E7, "\xD3\xA7", "\xD3\xA6", "\xD3\xA6", "CYRILLIC SMALL LETTER O WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004E8, "\xD3\xA9", "\xD3\xA8", "\xD3\xA8", "CYRILLIC CAPITAL LETTER BARRED O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004E9, "\xD3\xA9", "\xD3\xA8", "\xD3\xA8", "CYRILLIC SMALL LETTER BARRED O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004EA, "\xD3\xAB", "\xD3\xAA", "\xD3\xAA", "CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004EB, "\xD3\xAB", "\xD3\xAA", "\xD3\xAA", "CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004EC, "\xD3\xAD", "\xD3\xAC", "\xD3\xAC", "CYRILLIC CAPITAL LETTER E WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004ED, "\xD3\xAD", "\xD3\xAC", "\xD3\xAC", "CYRILLIC SMALL LETTER E WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004EE, "\xD3\xAF", "\xD3\xAE", "\xD3\xAE", "CYRILLIC CAPITAL LETTER U WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004EF, "\xD3\xAF", "\xD3\xAE", "\xD3\xAE", "CYRILLIC SMALL LETTER U WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004F0, "\xD3\xB1", "\xD3\xB0", "\xD3\xB0", "CYRILLIC CAPITAL LETTER U WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004F1, "\xD3\xB1", "\xD3\xB0", "\xD3\xB0", "CYRILLIC SMALL LETTER U WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004F2, "\xD3\xB3", "\xD3\xB2", "\xD3\xB2", "CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004F3, "\xD3\xB3", "\xD3\xB2", "\xD3\xB2", "CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004F4, "\xD3\xB5", "\xD3\xB4", "\xD3\xB4", "CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004F5, "\xD3\xB5", "\xD3\xB4", "\xD3\xB4", "CYRILLIC SMALL LETTER CHE WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004F6, "\xD3\xB7", "\xD3\xB6", "\xD3\xB6", "CYRILLIC CAPITAL LETTER GHE WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004F7, "\xD3\xB7", "\xD3\xB6", "\xD3\xB6", "CYRILLIC SMALL LETTER GHE WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004F8, "\xD3\xB9", "\xD3\xB8", "\xD3\xB8", "CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004F9, "\xD3\xB9", "\xD3\xB8", "\xD3\xB8", "CYRILLIC SMALL LETTER YERU WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004FA, "\xD3\xBB", "\xD3\xBA", "\xD3\xBA", "CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004FB, "\xD3\xBB", "\xD3\xBA", "\xD3\xBA", "CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004FC, "\xD3\xBD", "\xD3\xBC", "\xD3\xBC", "CYRILLIC CAPITAL LETTER HA WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004FD, "\xD3\xBD", "\xD3\xBC", "\xD3\xBC", "CYRILLIC SMALL LETTER HA WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004FE, "\xD3\xBF", "\xD3\xBE", "\xD3\xBE", "CYRILLIC CAPITAL LETTER HA WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000004FF, "\xD3\xBF", "\xD3\xBE", "\xD3\xBE", "CYRILLIC SMALL LETTER HA WITH STROKE");
  }
  
  TEST_F(CaseMapping, CyrillicSupplement)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000500, "\xD4\x81", "\xD4\x80", "\xD4\x80", "CYRILLIC CAPITAL LETTER KOMI DE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000501, "\xD4\x81", "\xD4\x80", "\xD4\x80", "CYRILLIC SMALL LETTER KOMI DE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000502, "\xD4\x83", "\xD4\x82", "\xD4\x82", "CYRILLIC CAPITAL LETTER KOMI DJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000503, "\xD4\x83", "\xD4\x82", "\xD4\x82", "CYRILLIC SMALL LETTER KOMI DJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000504, "\xD4\x85", "\xD4\x84", "\xD4\x84", "CYRILLIC CAPITAL LETTER KOMI ZJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000505, "\xD4\x85", "\xD4\x84", "\xD4\x84", "CYRILLIC SMALL LETTER KOMI ZJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000506, "\xD4\x87", "\xD4\x86", "\xD4\x86", "CYRILLIC CAPITAL LETTER KOMI DZJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000507, "\xD4\x87", "\xD4\x86", "\xD4\x86", "CYRILLIC SMALL LETTER KOMI DZJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000508, "\xD4\x89", "\xD4\x88", "\xD4\x88", "CYRILLIC CAPITAL LETTER KOMI LJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000509, "\xD4\x89", "\xD4\x88", "\xD4\x88", "CYRILLIC SMALL LETTER KOMI LJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000050A, "\xD4\x8B", "\xD4\x8A", "\xD4\x8A", "CYRILLIC CAPITAL LETTER KOMI NJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000050B, "\xD4\x8B", "\xD4\x8A", "\xD4\x8A", "CYRILLIC SMALL LETTER KOMI NJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000050C, "\xD4\x8D", "\xD4\x8C", "\xD4\x8C", "CYRILLIC CAPITAL LETTER KOMI SJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000050D, "\xD4\x8D", "\xD4\x8C", "\xD4\x8C", "CYRILLIC SMALL LETTER KOMI SJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000050E, "\xD4\x8F", "\xD4\x8E", "\xD4\x8E", "CYRILLIC CAPITAL LETTER KOMI TJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000050F, "\xD4\x8F", "\xD4\x8E", "\xD4\x8E", "CYRILLIC SMALL LETTER KOMI TJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000510, "\xD4\x91", "\xD4\x90", "\xD4\x90", "CYRILLIC CAPITAL LETTER REVERSED ZE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000511, "\xD4\x91", "\xD4\x90", "\xD4\x90", "CYRILLIC SMALL LETTER REVERSED ZE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000512, "\xD4\x93", "\xD4\x92", "\xD4\x92", "CYRILLIC CAPITAL LETTER EL WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000513, "\xD4\x93", "\xD4\x92", "\xD4\x92", "CYRILLIC SMALL LETTER EL WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000514, "\xD4\x95", "\xD4\x94", "\xD4\x94", "CYRILLIC CAPITAL LETTER LHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000515, "\xD4\x95", "\xD4\x94", "\xD4\x94", "CYRILLIC SMALL LETTER LHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000516, "\xD4\x97", "\xD4\x96", "\xD4\x96", "CYRILLIC CAPITAL LETTER RHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000517, "\xD4\x97", "\xD4\x96", "\xD4\x96", "CYRILLIC SMALL LETTER RHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000518, "\xD4\x99", "\xD4\x98", "\xD4\x98", "CYRILLIC CAPITAL LETTER YAE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000519, "\xD4\x99", "\xD4\x98", "\xD4\x98", "CYRILLIC SMALL LETTER YAE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000051A, "\xD4\x9B", "\xD4\x9A", "\xD4\x9A", "CYRILLIC CAPITAL LETTER QA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000051B, "\xD4\x9B", "\xD4\x9A", "\xD4\x9A", "CYRILLIC SMALL LETTER QA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000051C, "\xD4\x9D", "\xD4\x9C", "\xD4\x9C", "CYRILLIC CAPITAL LETTER WE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000051D, "\xD4\x9D", "\xD4\x9C", "\xD4\x9C", "CYRILLIC SMALL LETTER WE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000051E, "\xD4\x9F", "\xD4\x9E", "\xD4\x9E", "CYRILLIC CAPITAL LETTER ALEUT KA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000051F, "\xD4\x9F", "\xD4\x9E", "\xD4\x9E", "CYRILLIC SMALL LETTER ALEUT KA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000520, "\xD4\xA1", "\xD4\xA0", "\xD4\xA0", "CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000521, "\xD4\xA1", "\xD4\xA0", "\xD4\xA0", "CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000522, "\xD4\xA3", "\xD4\xA2", "\xD4\xA2", "CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000523, "\xD4\xA3", "\xD4\xA2", "\xD4\xA2", "CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000524, "\xD4\xA5", "\xD4\xA4", "\xD4\xA4", "CYRILLIC CAPITAL LETTER PE WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000525, "\xD4\xA5", "\xD4\xA4", "\xD4\xA4", "CYRILLIC SMALL LETTER PE WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000526, "\xD4\xA7", "\xD4\xA6", "\xD4\xA6", "CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000527, "\xD4\xA7", "\xD4\xA6", "\xD4\xA6", "CYRILLIC SMALL LETTER SHHA WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000528, "\xD4\xA9", "\xD4\xA8", "\xD4\xA8", "CYRILLIC CAPITAL LETTER EN WITH LEFT HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000529, "\xD4\xA9", "\xD4\xA8", "\xD4\xA8", "CYRILLIC SMALL LETTER EN WITH LEFT HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000052A, "\xD4\xAB", "\xD4\xAA", "\xD4\xAA", "CYRILLIC CAPITAL LETTER DZZHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000052B, "\xD4\xAB", "\xD4\xAA", "\xD4\xAA", "CYRILLIC SMALL LETTER DZZHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000052C, "\xD4\xAD", "\xD4\xAC", "\xD4\xAC", "CYRILLIC CAPITAL LETTER DCHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000052D, "\xD4\xAD", "\xD4\xAC", "\xD4\xAC", "CYRILLIC SMALL LETTER DCHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000052E, "\xD4\xAF", "\xD4\xAE", "\xD4\xAE", "CYRILLIC CAPITAL LETTER EL WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000052F, "\xD4\xAF", "\xD4\xAE", "\xD4\xAE", "CYRILLIC SMALL LETTER EL WITH DESCENDER");
  }
  
  TEST_F(CaseMapping, Armenian)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000531, "\xD5\xA1", "\xD4\xB1", "\xD4\xB1", "ARMENIAN CAPITAL LETTER AYB");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000532, "\xD5\xA2", "\xD4\xB2", "\xD4\xB2", "ARMENIAN CAPITAL LETTER BEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000533, "\xD5\xA3", "\xD4\xB3", "\xD4\xB3", "ARMENIAN CAPITAL LETTER GIM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000534, "\xD5\xA4", "\xD4\xB4", "\xD4\xB4", "ARMENIAN CAPITAL LETTER DA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000535, "\xD5\xA5", "\xD4\xB5", "\xD4\xB5", "ARMENIAN CAPITAL LETTER ECH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000536, "\xD5\xA6", "\xD4\xB6", "\xD4\xB6", "ARMENIAN CAPITAL LETTER ZA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000537, "\xD5\xA7", "\xD4\xB7", "\xD4\xB7", "ARMENIAN CAPITAL LETTER EH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000538, "\xD5\xA8", "\xD4\xB8", "\xD4\xB8", "ARMENIAN CAPITAL LETTER ET");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000539, "\xD5\xA9", "\xD4\xB9", "\xD4\xB9", "ARMENIAN CAPITAL LETTER TO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000053A, "\xD5\xAA", "\xD4\xBA", "\xD4\xBA", "ARMENIAN CAPITAL LETTER ZHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000053B, "\xD5\xAB", "\xD4\xBB", "\xD4\xBB", "ARMENIAN CAPITAL LETTER INI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000053C, "\xD5\xAC", "\xD4\xBC", "\xD4\xBC", "ARMENIAN CAPITAL LETTER LIWN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000053D, "\xD5\xAD", "\xD4\xBD", "\xD4\xBD", "ARMENIAN CAPITAL LETTER XEH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000053E, "\xD5\xAE", "\xD4\xBE", "\xD4\xBE", "ARMENIAN CAPITAL LETTER CA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000053F, "\xD5\xAF", "\xD4\xBF", "\xD4\xBF", "ARMENIAN CAPITAL LETTER KEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000540, "\xD5\xB0", "\xD5\x80", "\xD5\x80", "ARMENIAN CAPITAL LETTER HO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000541, "\xD5\xB1", "\xD5\x81", "\xD5\x81", "ARMENIAN CAPITAL LETTER JA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000542, "\xD5\xB2", "\xD5\x82", "\xD5\x82", "ARMENIAN CAPITAL LETTER GHAD");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000543, "\xD5\xB3", "\xD5\x83", "\xD5\x83", "ARMENIAN CAPITAL LETTER CHEH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000544, "\xD5\xB4", "\xD5\x84", "\xD5\x84", "ARMENIAN CAPITAL LETTER MEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000545, "\xD5\xB5", "\xD5\x85", "\xD5\x85", "ARMENIAN CAPITAL LETTER YI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000546, "\xD5\xB6", "\xD5\x86", "\xD5\x86", "ARMENIAN CAPITAL LETTER NOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000547, "\xD5\xB7", "\xD5\x87", "\xD5\x87", "ARMENIAN CAPITAL LETTER SHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000548, "\xD5\xB8", "\xD5\x88", "\xD5\x88", "ARMENIAN CAPITAL LETTER VO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000549, "\xD5\xB9", "\xD5\x89", "\xD5\x89", "ARMENIAN CAPITAL LETTER CHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000054A, "\xD5\xBA", "\xD5\x8A", "\xD5\x8A", "ARMENIAN CAPITAL LETTER PEH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000054B, "\xD5\xBB", "\xD5\x8B", "\xD5\x8B", "ARMENIAN CAPITAL LETTER JHEH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000054C, "\xD5\xBC", "\xD5\x8C", "\xD5\x8C", "ARMENIAN CAPITAL LETTER RA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000054D, "\xD5\xBD", "\xD5\x8D", "\xD5\x8D", "ARMENIAN CAPITAL LETTER SEH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000054E, "\xD5\xBE", "\xD5\x8E", "\xD5\x8E", "ARMENIAN CAPITAL LETTER VEW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000054F, "\xD5\xBF", "\xD5\x8F", "\xD5\x8F", "ARMENIAN CAPITAL LETTER TIWN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000550, "\xD6\x80", "\xD5\x90", "\xD5\x90", "ARMENIAN CAPITAL LETTER REH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000551, "\xD6\x81", "\xD5\x91", "\xD5\x91", "ARMENIAN CAPITAL LETTER CO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000552, "\xD6\x82", "\xD5\x92", "\xD5\x92", "ARMENIAN CAPITAL LETTER YIWN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000553, "\xD6\x83", "\xD5\x93", "\xD5\x93", "ARMENIAN CAPITAL LETTER PIWR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000554, "\xD6\x84", "\xD5\x94", "\xD5\x94", "ARMENIAN CAPITAL LETTER KEH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000555, "\xD6\x85", "\xD5\x95", "\xD5\x95", "ARMENIAN CAPITAL LETTER OH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000556, "\xD6\x86", "\xD5\x96", "\xD5\x96", "ARMENIAN CAPITAL LETTER FEH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000559, "\xD5\x99", "\xD5\x99", "\xD5\x99", "ARMENIAN MODIFIER LETTER LEFT HALF RING");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000055A, "\xD5\x9A", "\xD5\x9A", "\xD5\x9A", "ARMENIAN APOSTROPHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000055B, "\xD5\x9B", "\xD5\x9B", "\xD5\x9B", "ARMENIAN EMPHASIS MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000055C, "\xD5\x9C", "\xD5\x9C", "\xD5\x9C", "ARMENIAN EXCLAMATION MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000055D, "\xD5\x9D", "\xD5\x9D", "\xD5\x9D", "ARMENIAN COMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000055E, "\xD5\x9E", "\xD5\x9E", "\xD5\x9E", "ARMENIAN QUESTION MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000055F, "\xD5\x9F", "\xD5\x9F", "\xD5\x9F", "ARMENIAN ABBREVIATION MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000561, "\xD5\xA1", "\xD4\xB1", "\xD4\xB1", "ARMENIAN SMALL LETTER AYB");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000562, "\xD5\xA2", "\xD4\xB2", "\xD4\xB2", "ARMENIAN SMALL LETTER BEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000563, "\xD5\xA3", "\xD4\xB3", "\xD4\xB3", "ARMENIAN SMALL LETTER GIM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000564, "\xD5\xA4", "\xD4\xB4", "\xD4\xB4", "ARMENIAN SMALL LETTER DA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000565, "\xD5\xA5", "\xD4\xB5", "\xD4\xB5", "ARMENIAN SMALL LETTER ECH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000566, "\xD5\xA6", "\xD4\xB6", "\xD4\xB6", "ARMENIAN SMALL LETTER ZA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000567, "\xD5\xA7", "\xD4\xB7", "\xD4\xB7", "ARMENIAN SMALL LETTER EH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000568, "\xD5\xA8", "\xD4\xB8", "\xD4\xB8", "ARMENIAN SMALL LETTER ET");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000569, "\xD5\xA9", "\xD4\xB9", "\xD4\xB9", "ARMENIAN SMALL LETTER TO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000056A, "\xD5\xAA", "\xD4\xBA", "\xD4\xBA", "ARMENIAN SMALL LETTER ZHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000056B, "\xD5\xAB", "\xD4\xBB", "\xD4\xBB", "ARMENIAN SMALL LETTER INI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000056C, "\xD5\xAC", "\xD4\xBC", "\xD4\xBC", "ARMENIAN SMALL LETTER LIWN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000056D, "\xD5\xAD", "\xD4\xBD", "\xD4\xBD", "ARMENIAN SMALL LETTER XEH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000056E, "\xD5\xAE", "\xD4\xBE", "\xD4\xBE", "ARMENIAN SMALL LETTER CA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000056F, "\xD5\xAF", "\xD4\xBF", "\xD4\xBF", "ARMENIAN SMALL LETTER KEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000570, "\xD5\xB0", "\xD5\x80", "\xD5\x80", "ARMENIAN SMALL LETTER HO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000571, "\xD5\xB1", "\xD5\x81", "\xD5\x81", "ARMENIAN SMALL LETTER JA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000572, "\xD5\xB2", "\xD5\x82", "\xD5\x82", "ARMENIAN SMALL LETTER GHAD");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000573, "\xD5\xB3", "\xD5\x83", "\xD5\x83", "ARMENIAN SMALL LETTER CHEH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000574, "\xD5\xB4", "\xD5\x84", "\xD5\x84", "ARMENIAN SMALL LETTER MEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000575, "\xD5\xB5", "\xD5\x85", "\xD5\x85", "ARMENIAN SMALL LETTER YI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000576, "\xD5\xB6", "\xD5\x86", "\xD5\x86", "ARMENIAN SMALL LETTER NOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000577, "\xD5\xB7", "\xD5\x87", "\xD5\x87", "ARMENIAN SMALL LETTER SHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000578, "\xD5\xB8", "\xD5\x88", "\xD5\x88", "ARMENIAN SMALL LETTER VO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000579, "\xD5\xB9", "\xD5\x89", "\xD5\x89", "ARMENIAN SMALL LETTER CHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000057A, "\xD5\xBA", "\xD5\x8A", "\xD5\x8A", "ARMENIAN SMALL LETTER PEH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000057B, "\xD5\xBB", "\xD5\x8B", "\xD5\x8B", "ARMENIAN SMALL LETTER JHEH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000057C, "\xD5\xBC", "\xD5\x8C", "\xD5\x8C", "ARMENIAN SMALL LETTER RA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000057D, "\xD5\xBD", "\xD5\x8D", "\xD5\x8D", "ARMENIAN SMALL LETTER SEH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000057E, "\xD5\xBE", "\xD5\x8E", "\xD5\x8E", "ARMENIAN SMALL LETTER VEW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000057F, "\xD5\xBF", "\xD5\x8F", "\xD5\x8F", "ARMENIAN SMALL LETTER TIWN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000580, "\xD6\x80", "\xD5\x90", "\xD5\x90", "ARMENIAN SMALL LETTER REH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000581, "\xD6\x81", "\xD5\x91", "\xD5\x91", "ARMENIAN SMALL LETTER CO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000582, "\xD6\x82", "\xD5\x92", "\xD5\x92", "ARMENIAN SMALL LETTER YIWN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000583, "\xD6\x83", "\xD5\x93", "\xD5\x93", "ARMENIAN SMALL LETTER PIWR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000584, "\xD6\x84", "\xD5\x94", "\xD5\x94", "ARMENIAN SMALL LETTER KEH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000585, "\xD6\x85", "\xD5\x95", "\xD5\x95", "ARMENIAN SMALL LETTER OH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000586, "\xD6\x86", "\xD5\x96", "\xD5\x96", "ARMENIAN SMALL LETTER FEH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000587, "\xD6\x87", "\xD4\xB5\xD5\x92", "\xD4\xB5\xD6\x82", "ARMENIAN SMALL LIGATURE ECH YIWN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00000589, "\xD6\x89", "\xD6\x89", "\xD6\x89", "ARMENIAN FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000058A, "\xD6\x8A", "\xD6\x8A", "\xD6\x8A", "ARMENIAN HYPHEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000058D, "\xD6\x8D", "\xD6\x8D", "\xD6\x8D", "RIGHT-FACING ARMENIAN ETERNITY SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000058E, "\xD6\x8E", "\xD6\x8E", "\xD6\x8E", "LEFT-FACING ARMENIAN ETERNITY SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000058F, "\xD6\x8F", "\xD6\x8F", "\xD6\x8F", "ARMENIAN DRAM SIGN");
  }
  
  TEST_F(CaseMapping, Georgian)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010A0, "\xE2\xB4\x80", "\xE1\x82\xA0", "\xE1\x82\xA0", "GEORGIAN CAPITAL LETTER AN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010A1, "\xE2\xB4\x81", "\xE1\x82\xA1", "\xE1\x82\xA1", "GEORGIAN CAPITAL LETTER BAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010A2, "\xE2\xB4\x82", "\xE1\x82\xA2", "\xE1\x82\xA2", "GEORGIAN CAPITAL LETTER GAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010A3, "\xE2\xB4\x83", "\xE1\x82\xA3", "\xE1\x82\xA3", "GEORGIAN CAPITAL LETTER DON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010A4, "\xE2\xB4\x84", "\xE1\x82\xA4", "\xE1\x82\xA4", "GEORGIAN CAPITAL LETTER EN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010A5, "\xE2\xB4\x85", "\xE1\x82\xA5", "\xE1\x82\xA5", "GEORGIAN CAPITAL LETTER VIN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010A6, "\xE2\xB4\x86", "\xE1\x82\xA6", "\xE1\x82\xA6", "GEORGIAN CAPITAL LETTER ZEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010A7, "\xE2\xB4\x87", "\xE1\x82\xA7", "\xE1\x82\xA7", "GEORGIAN CAPITAL LETTER TAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010A8, "\xE2\xB4\x88", "\xE1\x82\xA8", "\xE1\x82\xA8", "GEORGIAN CAPITAL LETTER IN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010A9, "\xE2\xB4\x89", "\xE1\x82\xA9", "\xE1\x82\xA9", "GEORGIAN CAPITAL LETTER KAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010AA, "\xE2\xB4\x8A", "\xE1\x82\xAA", "\xE1\x82\xAA", "GEORGIAN CAPITAL LETTER LAS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010AB, "\xE2\xB4\x8B", "\xE1\x82\xAB", "\xE1\x82\xAB", "GEORGIAN CAPITAL LETTER MAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010AC, "\xE2\xB4\x8C", "\xE1\x82\xAC", "\xE1\x82\xAC", "GEORGIAN CAPITAL LETTER NAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010AD, "\xE2\xB4\x8D", "\xE1\x82\xAD", "\xE1\x82\xAD", "GEORGIAN CAPITAL LETTER ON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010AE, "\xE2\xB4\x8E", "\xE1\x82\xAE", "\xE1\x82\xAE", "GEORGIAN CAPITAL LETTER PAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010AF, "\xE2\xB4\x8F", "\xE1\x82\xAF", "\xE1\x82\xAF", "GEORGIAN CAPITAL LETTER ZHAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010B0, "\xE2\xB4\x90", "\xE1\x82\xB0", "\xE1\x82\xB0", "GEORGIAN CAPITAL LETTER RAE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010B1, "\xE2\xB4\x91", "\xE1\x82\xB1", "\xE1\x82\xB1", "GEORGIAN CAPITAL LETTER SAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010B2, "\xE2\xB4\x92", "\xE1\x82\xB2", "\xE1\x82\xB2", "GEORGIAN CAPITAL LETTER TAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010B3, "\xE2\xB4\x93", "\xE1\x82\xB3", "\xE1\x82\xB3", "GEORGIAN CAPITAL LETTER UN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010B4, "\xE2\xB4\x94", "\xE1\x82\xB4", "\xE1\x82\xB4", "GEORGIAN CAPITAL LETTER PHAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010B5, "\xE2\xB4\x95", "\xE1\x82\xB5", "\xE1\x82\xB5", "GEORGIAN CAPITAL LETTER KHAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010B6, "\xE2\xB4\x96", "\xE1\x82\xB6", "\xE1\x82\xB6", "GEORGIAN CAPITAL LETTER GHAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010B7, "\xE2\xB4\x97", "\xE1\x82\xB7", "\xE1\x82\xB7", "GEORGIAN CAPITAL LETTER QAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010B8, "\xE2\xB4\x98", "\xE1\x82\xB8", "\xE1\x82\xB8", "GEORGIAN CAPITAL LETTER SHIN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010B9, "\xE2\xB4\x99", "\xE1\x82\xB9", "\xE1\x82\xB9", "GEORGIAN CAPITAL LETTER CHIN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010BA, "\xE2\xB4\x9A", "\xE1\x82\xBA", "\xE1\x82\xBA", "GEORGIAN CAPITAL LETTER CAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010BB, "\xE2\xB4\x9B", "\xE1\x82\xBB", "\xE1\x82\xBB", "GEORGIAN CAPITAL LETTER JIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010BC, "\xE2\xB4\x9C", "\xE1\x82\xBC", "\xE1\x82\xBC", "GEORGIAN CAPITAL LETTER CIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010BD, "\xE2\xB4\x9D", "\xE1\x82\xBD", "\xE1\x82\xBD", "GEORGIAN CAPITAL LETTER CHAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010BE, "\xE2\xB4\x9E", "\xE1\x82\xBE", "\xE1\x82\xBE", "GEORGIAN CAPITAL LETTER XAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010BF, "\xE2\xB4\x9F", "\xE1\x82\xBF", "\xE1\x82\xBF", "GEORGIAN CAPITAL LETTER JHAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010C0, "\xE2\xB4\xA0", "\xE1\x83\x80", "\xE1\x83\x80", "GEORGIAN CAPITAL LETTER HAE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010C1, "\xE2\xB4\xA1", "\xE1\x83\x81", "\xE1\x83\x81", "GEORGIAN CAPITAL LETTER HE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010C2, "\xE2\xB4\xA2", "\xE1\x83\x82", "\xE1\x83\x82", "GEORGIAN CAPITAL LETTER HIE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010C3, "\xE2\xB4\xA3", "\xE1\x83\x83", "\xE1\x83\x83", "GEORGIAN CAPITAL LETTER WE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010C4, "\xE2\xB4\xA4", "\xE1\x83\x84", "\xE1\x83\x84", "GEORGIAN CAPITAL LETTER HAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010C5, "\xE2\xB4\xA5", "\xE1\x83\x85", "\xE1\x83\x85", "GEORGIAN CAPITAL LETTER HOE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010C7, "\xE2\xB4\xA7", "\xE1\x83\x87", "\xE1\x83\x87", "GEORGIAN CAPITAL LETTER YN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010CD, "\xE2\xB4\xAD", "\xE1\x83\x8D", "\xE1\x83\x8D", "GEORGIAN CAPITAL LETTER AEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010D0, "\xE1\x83\x90", "\xE1\x83\x90", "\xE1\x83\x90", "GEORGIAN LETTER AN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010D1, "\xE1\x83\x91", "\xE1\x83\x91", "\xE1\x83\x91", "GEORGIAN LETTER BAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010D2, "\xE1\x83\x92", "\xE1\x83\x92", "\xE1\x83\x92", "GEORGIAN LETTER GAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010D3, "\xE1\x83\x93", "\xE1\x83\x93", "\xE1\x83\x93", "GEORGIAN LETTER DON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010D4, "\xE1\x83\x94", "\xE1\x83\x94", "\xE1\x83\x94", "GEORGIAN LETTER EN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010D5, "\xE1\x83\x95", "\xE1\x83\x95", "\xE1\x83\x95", "GEORGIAN LETTER VIN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010D6, "\xE1\x83\x96", "\xE1\x83\x96", "\xE1\x83\x96", "GEORGIAN LETTER ZEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010D7, "\xE1\x83\x97", "\xE1\x83\x97", "\xE1\x83\x97", "GEORGIAN LETTER TAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010D8, "\xE1\x83\x98", "\xE1\x83\x98", "\xE1\x83\x98", "GEORGIAN LETTER IN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010D9, "\xE1\x83\x99", "\xE1\x83\x99", "\xE1\x83\x99", "GEORGIAN LETTER KAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010DA, "\xE1\x83\x9A", "\xE1\x83\x9A", "\xE1\x83\x9A", "GEORGIAN LETTER LAS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010DB, "\xE1\x83\x9B", "\xE1\x83\x9B", "\xE1\x83\x9B", "GEORGIAN LETTER MAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010DC, "\xE1\x83\x9C", "\xE1\x83\x9C", "\xE1\x83\x9C", "GEORGIAN LETTER NAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010DD, "\xE1\x83\x9D", "\xE1\x83\x9D", "\xE1\x83\x9D", "GEORGIAN LETTER ON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010DE, "\xE1\x83\x9E", "\xE1\x83\x9E", "\xE1\x83\x9E", "GEORGIAN LETTER PAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010DF, "\xE1\x83\x9F", "\xE1\x83\x9F", "\xE1\x83\x9F", "GEORGIAN LETTER ZHAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010E0, "\xE1\x83\xA0", "\xE1\x83\xA0", "\xE1\x83\xA0", "GEORGIAN LETTER RAE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010E1, "\xE1\x83\xA1", "\xE1\x83\xA1", "\xE1\x83\xA1", "GEORGIAN LETTER SAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010E2, "\xE1\x83\xA2", "\xE1\x83\xA2", "\xE1\x83\xA2", "GEORGIAN LETTER TAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010E3, "\xE1\x83\xA3", "\xE1\x83\xA3", "\xE1\x83\xA3", "GEORGIAN LETTER UN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010E4, "\xE1\x83\xA4", "\xE1\x83\xA4", "\xE1\x83\xA4", "GEORGIAN LETTER PHAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010E5, "\xE1\x83\xA5", "\xE1\x83\xA5", "\xE1\x83\xA5", "GEORGIAN LETTER KHAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010E6, "\xE1\x83\xA6", "\xE1\x83\xA6", "\xE1\x83\xA6", "GEORGIAN LETTER GHAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010E7, "\xE1\x83\xA7", "\xE1\x83\xA7", "\xE1\x83\xA7", "GEORGIAN LETTER QAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010E8, "\xE1\x83\xA8", "\xE1\x83\xA8", "\xE1\x83\xA8", "GEORGIAN LETTER SHIN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010E9, "\xE1\x83\xA9", "\xE1\x83\xA9", "\xE1\x83\xA9", "GEORGIAN LETTER CHIN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010EA, "\xE1\x83\xAA", "\xE1\x83\xAA", "\xE1\x83\xAA", "GEORGIAN LETTER CAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010EB, "\xE1\x83\xAB", "\xE1\x83\xAB", "\xE1\x83\xAB", "GEORGIAN LETTER JIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010EC, "\xE1\x83\xAC", "\xE1\x83\xAC", "\xE1\x83\xAC", "GEORGIAN LETTER CIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010ED, "\xE1\x83\xAD", "\xE1\x83\xAD", "\xE1\x83\xAD", "GEORGIAN LETTER CHAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010EE, "\xE1\x83\xAE", "\xE1\x83\xAE", "\xE1\x83\xAE", "GEORGIAN LETTER XAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010EF, "\xE1\x83\xAF", "\xE1\x83\xAF", "\xE1\x83\xAF", "GEORGIAN LETTER JHAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010F0, "\xE1\x83\xB0", "\xE1\x83\xB0", "\xE1\x83\xB0", "GEORGIAN LETTER HAE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010F1, "\xE1\x83\xB1", "\xE1\x83\xB1", "\xE1\x83\xB1", "GEORGIAN LETTER HE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010F2, "\xE1\x83\xB2", "\xE1\x83\xB2", "\xE1\x83\xB2", "GEORGIAN LETTER HIE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010F3, "\xE1\x83\xB3", "\xE1\x83\xB3", "\xE1\x83\xB3", "GEORGIAN LETTER WE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010F4, "\xE1\x83\xB4", "\xE1\x83\xB4", "\xE1\x83\xB4", "GEORGIAN LETTER HAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010F5, "\xE1\x83\xB5", "\xE1\x83\xB5", "\xE1\x83\xB5", "GEORGIAN LETTER HOE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010F6, "\xE1\x83\xB6", "\xE1\x83\xB6", "\xE1\x83\xB6", "GEORGIAN LETTER FI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010F7, "\xE1\x83\xB7", "\xE1\x83\xB7", "\xE1\x83\xB7", "GEORGIAN LETTER YN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010F8, "\xE1\x83\xB8", "\xE1\x83\xB8", "\xE1\x83\xB8", "GEORGIAN LETTER ELIFI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010F9, "\xE1\x83\xB9", "\xE1\x83\xB9", "\xE1\x83\xB9", "GEORGIAN LETTER TURNED GAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010FA, "\xE1\x83\xBA", "\xE1\x83\xBA", "\xE1\x83\xBA", "GEORGIAN LETTER AIN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010FB, "\xE1\x83\xBB", "\xE1\x83\xBB", "\xE1\x83\xBB", "GEORGIAN PARAGRAPH SEPARATOR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010FC, "\xE1\x83\xBC", "\xE1\x83\xBC", "\xE1\x83\xBC", "MODIFIER LETTER GEORGIAN NAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010FD, "\xE1\x83\xBD", "\xE1\x83\xBD", "\xE1\x83\xBD", "GEORGIAN LETTER AEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010FE, "\xE1\x83\xBE", "\xE1\x83\xBE", "\xE1\x83\xBE", "GEORGIAN LETTER HARD SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000010FF, "\xE1\x83\xBF", "\xE1\x83\xBF", "\xE1\x83\xBF", "GEORGIAN LETTER LABIAL SIGN");
  }
  
  TEST_F(CaseMapping, PhoneticExtensions)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D00, "\xE1\xB4\x80", "\xE1\xB4\x80", "\xE1\xB4\x80", "LATIN LETTER SMALL CAPITAL A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D01, "\xE1\xB4\x81", "\xE1\xB4\x81", "\xE1\xB4\x81", "LATIN LETTER SMALL CAPITAL AE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D02, "\xE1\xB4\x82", "\xE1\xB4\x82", "\xE1\xB4\x82", "LATIN SMALL LETTER TURNED AE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D03, "\xE1\xB4\x83", "\xE1\xB4\x83", "\xE1\xB4\x83", "LATIN LETTER SMALL CAPITAL BARRED B");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D04, "\xE1\xB4\x84", "\xE1\xB4\x84", "\xE1\xB4\x84", "LATIN LETTER SMALL CAPITAL C");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D05, "\xE1\xB4\x85", "\xE1\xB4\x85", "\xE1\xB4\x85", "LATIN LETTER SMALL CAPITAL D");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D06, "\xE1\xB4\x86", "\xE1\xB4\x86", "\xE1\xB4\x86", "LATIN LETTER SMALL CAPITAL ETH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D07, "\xE1\xB4\x87", "\xE1\xB4\x87", "\xE1\xB4\x87", "LATIN LETTER SMALL CAPITAL E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D08, "\xE1\xB4\x88", "\xE1\xB4\x88", "\xE1\xB4\x88", "LATIN SMALL LETTER TURNED OPEN E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D09, "\xE1\xB4\x89", "\xE1\xB4\x89", "\xE1\xB4\x89", "LATIN SMALL LETTER TURNED I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D0A, "\xE1\xB4\x8A", "\xE1\xB4\x8A", "\xE1\xB4\x8A", "LATIN LETTER SMALL CAPITAL J");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D0B, "\xE1\xB4\x8B", "\xE1\xB4\x8B", "\xE1\xB4\x8B", "LATIN LETTER SMALL CAPITAL K");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D0C, "\xE1\xB4\x8C", "\xE1\xB4\x8C", "\xE1\xB4\x8C", "LATIN LETTER SMALL CAPITAL L WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D0D, "\xE1\xB4\x8D", "\xE1\xB4\x8D", "\xE1\xB4\x8D", "LATIN LETTER SMALL CAPITAL M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D0E, "\xE1\xB4\x8E", "\xE1\xB4\x8E", "\xE1\xB4\x8E", "LATIN LETTER SMALL CAPITAL REVERSED N");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D0F, "\xE1\xB4\x8F", "\xE1\xB4\x8F", "\xE1\xB4\x8F", "LATIN LETTER SMALL CAPITAL O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D10, "\xE1\xB4\x90", "\xE1\xB4\x90", "\xE1\xB4\x90", "LATIN LETTER SMALL CAPITAL OPEN O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D11, "\xE1\xB4\x91", "\xE1\xB4\x91", "\xE1\xB4\x91", "LATIN SMALL LETTER SIDEWAYS O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D12, "\xE1\xB4\x92", "\xE1\xB4\x92", "\xE1\xB4\x92", "LATIN SMALL LETTER SIDEWAYS OPEN O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D13, "\xE1\xB4\x93", "\xE1\xB4\x93", "\xE1\xB4\x93", "LATIN SMALL LETTER SIDEWAYS O WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D14, "\xE1\xB4\x94", "\xE1\xB4\x94", "\xE1\xB4\x94", "LATIN SMALL LETTER TURNED OE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D15, "\xE1\xB4\x95", "\xE1\xB4\x95", "\xE1\xB4\x95", "LATIN LETTER SMALL CAPITAL OU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D16, "\xE1\xB4\x96", "\xE1\xB4\x96", "\xE1\xB4\x96", "LATIN SMALL LETTER TOP HALF O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D17, "\xE1\xB4\x97", "\xE1\xB4\x97", "\xE1\xB4\x97", "LATIN SMALL LETTER BOTTOM HALF O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D18, "\xE1\xB4\x98", "\xE1\xB4\x98", "\xE1\xB4\x98", "LATIN LETTER SMALL CAPITAL P");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D19, "\xE1\xB4\x99", "\xE1\xB4\x99", "\xE1\xB4\x99", "LATIN LETTER SMALL CAPITAL REVERSED R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D1A, "\xE1\xB4\x9A", "\xE1\xB4\x9A", "\xE1\xB4\x9A", "LATIN LETTER SMALL CAPITAL TURNED R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D1B, "\xE1\xB4\x9B", "\xE1\xB4\x9B", "\xE1\xB4\x9B", "LATIN LETTER SMALL CAPITAL T");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D1C, "\xE1\xB4\x9C", "\xE1\xB4\x9C", "\xE1\xB4\x9C", "LATIN LETTER SMALL CAPITAL U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D1D, "\xE1\xB4\x9D", "\xE1\xB4\x9D", "\xE1\xB4\x9D", "LATIN SMALL LETTER SIDEWAYS U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D1E, "\xE1\xB4\x9E", "\xE1\xB4\x9E", "\xE1\xB4\x9E", "LATIN SMALL LETTER SIDEWAYS DIAERESIZED U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D1F, "\xE1\xB4\x9F", "\xE1\xB4\x9F", "\xE1\xB4\x9F", "LATIN SMALL LETTER SIDEWAYS TURNED M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D20, "\xE1\xB4\xA0", "\xE1\xB4\xA0", "\xE1\xB4\xA0", "LATIN LETTER SMALL CAPITAL V");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D21, "\xE1\xB4\xA1", "\xE1\xB4\xA1", "\xE1\xB4\xA1", "LATIN LETTER SMALL CAPITAL W");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D22, "\xE1\xB4\xA2", "\xE1\xB4\xA2", "\xE1\xB4\xA2", "LATIN LETTER SMALL CAPITAL Z");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D23, "\xE1\xB4\xA3", "\xE1\xB4\xA3", "\xE1\xB4\xA3", "LATIN LETTER SMALL CAPITAL EZH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D24, "\xE1\xB4\xA4", "\xE1\xB4\xA4", "\xE1\xB4\xA4", "LATIN LETTER VOICED LARYNGEAL SPIRANT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D25, "\xE1\xB4\xA5", "\xE1\xB4\xA5", "\xE1\xB4\xA5", "LATIN LETTER AIN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D26, "\xE1\xB4\xA6", "\xE1\xB4\xA6", "\xE1\xB4\xA6", "GREEK LETTER SMALL CAPITAL GAMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D27, "\xE1\xB4\xA7", "\xE1\xB4\xA7", "\xE1\xB4\xA7", "GREEK LETTER SMALL CAPITAL LAMDA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D28, "\xE1\xB4\xA8", "\xE1\xB4\xA8", "\xE1\xB4\xA8", "GREEK LETTER SMALL CAPITAL PI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D29, "\xE1\xB4\xA9", "\xE1\xB4\xA9", "\xE1\xB4\xA9", "GREEK LETTER SMALL CAPITAL RHO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D2A, "\xE1\xB4\xAA", "\xE1\xB4\xAA", "\xE1\xB4\xAA", "GREEK LETTER SMALL CAPITAL PSI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D2B, "\xE1\xB4\xAB", "\xE1\xB4\xAB", "\xE1\xB4\xAB", "CYRILLIC LETTER SMALL CAPITAL EL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D2C, "\xE1\xB4\xAC", "\xE1\xB4\xAC", "\xE1\xB4\xAC", "MODIFIER LETTER CAPITAL A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D2D, "\xE1\xB4\xAD", "\xE1\xB4\xAD", "\xE1\xB4\xAD", "MODIFIER LETTER CAPITAL AE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D2E, "\xE1\xB4\xAE", "\xE1\xB4\xAE", "\xE1\xB4\xAE", "MODIFIER LETTER CAPITAL B");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D2F, "\xE1\xB4\xAF", "\xE1\xB4\xAF", "\xE1\xB4\xAF", "MODIFIER LETTER CAPITAL BARRED B");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D30, "\xE1\xB4\xB0", "\xE1\xB4\xB0", "\xE1\xB4\xB0", "MODIFIER LETTER CAPITAL D");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D31, "\xE1\xB4\xB1", "\xE1\xB4\xB1", "\xE1\xB4\xB1", "MODIFIER LETTER CAPITAL E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D32, "\xE1\xB4\xB2", "\xE1\xB4\xB2", "\xE1\xB4\xB2", "MODIFIER LETTER CAPITAL REVERSED E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D33, "\xE1\xB4\xB3", "\xE1\xB4\xB3", "\xE1\xB4\xB3", "MODIFIER LETTER CAPITAL G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D34, "\xE1\xB4\xB4", "\xE1\xB4\xB4", "\xE1\xB4\xB4", "MODIFIER LETTER CAPITAL H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D35, "\xE1\xB4\xB5", "\xE1\xB4\xB5", "\xE1\xB4\xB5", "MODIFIER LETTER CAPITAL I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D36, "\xE1\xB4\xB6", "\xE1\xB4\xB6", "\xE1\xB4\xB6", "MODIFIER LETTER CAPITAL J");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D37, "\xE1\xB4\xB7", "\xE1\xB4\xB7", "\xE1\xB4\xB7", "MODIFIER LETTER CAPITAL K");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D38, "\xE1\xB4\xB8", "\xE1\xB4\xB8", "\xE1\xB4\xB8", "MODIFIER LETTER CAPITAL L");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D39, "\xE1\xB4\xB9", "\xE1\xB4\xB9", "\xE1\xB4\xB9", "MODIFIER LETTER CAPITAL M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D3A, "\xE1\xB4\xBA", "\xE1\xB4\xBA", "\xE1\xB4\xBA", "MODIFIER LETTER CAPITAL N");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D3B, "\xE1\xB4\xBB", "\xE1\xB4\xBB", "\xE1\xB4\xBB", "MODIFIER LETTER CAPITAL REVERSED N");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D3C, "\xE1\xB4\xBC", "\xE1\xB4\xBC", "\xE1\xB4\xBC", "MODIFIER LETTER CAPITAL O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D3D, "\xE1\xB4\xBD", "\xE1\xB4\xBD", "\xE1\xB4\xBD", "MODIFIER LETTER CAPITAL OU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D3E, "\xE1\xB4\xBE", "\xE1\xB4\xBE", "\xE1\xB4\xBE", "MODIFIER LETTER CAPITAL P");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D3F, "\xE1\xB4\xBF", "\xE1\xB4\xBF", "\xE1\xB4\xBF", "MODIFIER LETTER CAPITAL R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D40, "\xE1\xB5\x80", "\xE1\xB5\x80", "\xE1\xB5\x80", "MODIFIER LETTER CAPITAL T");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D41, "\xE1\xB5\x81", "\xE1\xB5\x81", "\xE1\xB5\x81", "MODIFIER LETTER CAPITAL U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D42, "\xE1\xB5\x82", "\xE1\xB5\x82", "\xE1\xB5\x82", "MODIFIER LETTER CAPITAL W");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D43, "\xE1\xB5\x83", "\xE1\xB5\x83", "\xE1\xB5\x83", "MODIFIER LETTER SMALL A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D44, "\xE1\xB5\x84", "\xE1\xB5\x84", "\xE1\xB5\x84", "MODIFIER LETTER SMALL TURNED A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D45, "\xE1\xB5\x85", "\xE1\xB5\x85", "\xE1\xB5\x85", "MODIFIER LETTER SMALL ALPHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D46, "\xE1\xB5\x86", "\xE1\xB5\x86", "\xE1\xB5\x86", "MODIFIER LETTER SMALL TURNED AE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D47, "\xE1\xB5\x87", "\xE1\xB5\x87", "\xE1\xB5\x87", "MODIFIER LETTER SMALL B");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D48, "\xE1\xB5\x88", "\xE1\xB5\x88", "\xE1\xB5\x88", "MODIFIER LETTER SMALL D");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D49, "\xE1\xB5\x89", "\xE1\xB5\x89", "\xE1\xB5\x89", "MODIFIER LETTER SMALL E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D4A, "\xE1\xB5\x8A", "\xE1\xB5\x8A", "\xE1\xB5\x8A", "MODIFIER LETTER SMALL SCHWA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D4B, "\xE1\xB5\x8B", "\xE1\xB5\x8B", "\xE1\xB5\x8B", "MODIFIER LETTER SMALL OPEN E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D4C, "\xE1\xB5\x8C", "\xE1\xB5\x8C", "\xE1\xB5\x8C", "MODIFIER LETTER SMALL TURNED OPEN E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D4D, "\xE1\xB5\x8D", "\xE1\xB5\x8D", "\xE1\xB5\x8D", "MODIFIER LETTER SMALL G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D4E, "\xE1\xB5\x8E", "\xE1\xB5\x8E", "\xE1\xB5\x8E", "MODIFIER LETTER SMALL TURNED I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D4F, "\xE1\xB5\x8F", "\xE1\xB5\x8F", "\xE1\xB5\x8F", "MODIFIER LETTER SMALL K");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D50, "\xE1\xB5\x90", "\xE1\xB5\x90", "\xE1\xB5\x90", "MODIFIER LETTER SMALL M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D51, "\xE1\xB5\x91", "\xE1\xB5\x91", "\xE1\xB5\x91", "MODIFIER LETTER SMALL ENG");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D52, "\xE1\xB5\x92", "\xE1\xB5\x92", "\xE1\xB5\x92", "MODIFIER LETTER SMALL O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D53, "\xE1\xB5\x93", "\xE1\xB5\x93", "\xE1\xB5\x93", "MODIFIER LETTER SMALL OPEN O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D54, "\xE1\xB5\x94", "\xE1\xB5\x94", "\xE1\xB5\x94", "MODIFIER LETTER SMALL TOP HALF O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D55, "\xE1\xB5\x95", "\xE1\xB5\x95", "\xE1\xB5\x95", "MODIFIER LETTER SMALL BOTTOM HALF O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D56, "\xE1\xB5\x96", "\xE1\xB5\x96", "\xE1\xB5\x96", "MODIFIER LETTER SMALL P");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D57, "\xE1\xB5\x97", "\xE1\xB5\x97", "\xE1\xB5\x97", "MODIFIER LETTER SMALL T");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D58, "\xE1\xB5\x98", "\xE1\xB5\x98", "\xE1\xB5\x98", "MODIFIER LETTER SMALL U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D59, "\xE1\xB5\x99", "\xE1\xB5\x99", "\xE1\xB5\x99", "MODIFIER LETTER SMALL SIDEWAYS U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D5A, "\xE1\xB5\x9A", "\xE1\xB5\x9A", "\xE1\xB5\x9A", "MODIFIER LETTER SMALL TURNED M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D5B, "\xE1\xB5\x9B", "\xE1\xB5\x9B", "\xE1\xB5\x9B", "MODIFIER LETTER SMALL V");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D5C, "\xE1\xB5\x9C", "\xE1\xB5\x9C", "\xE1\xB5\x9C", "MODIFIER LETTER SMALL AIN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D5D, "\xE1\xB5\x9D", "\xE1\xB5\x9D", "\xE1\xB5\x9D", "MODIFIER LETTER SMALL BETA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D5E, "\xE1\xB5\x9E", "\xE1\xB5\x9E", "\xE1\xB5\x9E", "MODIFIER LETTER SMALL GREEK GAMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D5F, "\xE1\xB5\x9F", "\xE1\xB5\x9F", "\xE1\xB5\x9F", "MODIFIER LETTER SMALL DELTA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D60, "\xE1\xB5\xA0", "\xE1\xB5\xA0", "\xE1\xB5\xA0", "MODIFIER LETTER SMALL GREEK PHI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D61, "\xE1\xB5\xA1", "\xE1\xB5\xA1", "\xE1\xB5\xA1", "MODIFIER LETTER SMALL CHI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D62, "\xE1\xB5\xA2", "\xE1\xB5\xA2", "\xE1\xB5\xA2", "LATIN SUBSCRIPT SMALL LETTER I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D63, "\xE1\xB5\xA3", "\xE1\xB5\xA3", "\xE1\xB5\xA3", "LATIN SUBSCRIPT SMALL LETTER R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D64, "\xE1\xB5\xA4", "\xE1\xB5\xA4", "\xE1\xB5\xA4", "LATIN SUBSCRIPT SMALL LETTER U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D65, "\xE1\xB5\xA5", "\xE1\xB5\xA5", "\xE1\xB5\xA5", "LATIN SUBSCRIPT SMALL LETTER V");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D66, "\xE1\xB5\xA6", "\xE1\xB5\xA6", "\xE1\xB5\xA6", "GREEK SUBSCRIPT SMALL LETTER BETA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D67, "\xE1\xB5\xA7", "\xE1\xB5\xA7", "\xE1\xB5\xA7", "GREEK SUBSCRIPT SMALL LETTER GAMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D68, "\xE1\xB5\xA8", "\xE1\xB5\xA8", "\xE1\xB5\xA8", "GREEK SUBSCRIPT SMALL LETTER RHO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D69, "\xE1\xB5\xA9", "\xE1\xB5\xA9", "\xE1\xB5\xA9", "GREEK SUBSCRIPT SMALL LETTER PHI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D6A, "\xE1\xB5\xAA", "\xE1\xB5\xAA", "\xE1\xB5\xAA", "GREEK SUBSCRIPT SMALL LETTER CHI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D6B, "\xE1\xB5\xAB", "\xE1\xB5\xAB", "\xE1\xB5\xAB", "LATIN SMALL LETTER UE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D6C, "\xE1\xB5\xAC", "\xE1\xB5\xAC", "\xE1\xB5\xAC", "LATIN SMALL LETTER B WITH MIDDLE TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D6D, "\xE1\xB5\xAD", "\xE1\xB5\xAD", "\xE1\xB5\xAD", "LATIN SMALL LETTER D WITH MIDDLE TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D6E, "\xE1\xB5\xAE", "\xE1\xB5\xAE", "\xE1\xB5\xAE", "LATIN SMALL LETTER F WITH MIDDLE TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D6F, "\xE1\xB5\xAF", "\xE1\xB5\xAF", "\xE1\xB5\xAF", "LATIN SMALL LETTER M WITH MIDDLE TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D70, "\xE1\xB5\xB0", "\xE1\xB5\xB0", "\xE1\xB5\xB0", "LATIN SMALL LETTER N WITH MIDDLE TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D71, "\xE1\xB5\xB1", "\xE1\xB5\xB1", "\xE1\xB5\xB1", "LATIN SMALL LETTER P WITH MIDDLE TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D72, "\xE1\xB5\xB2", "\xE1\xB5\xB2", "\xE1\xB5\xB2", "LATIN SMALL LETTER R WITH MIDDLE TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D73, "\xE1\xB5\xB3", "\xE1\xB5\xB3", "\xE1\xB5\xB3", "LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D74, "\xE1\xB5\xB4", "\xE1\xB5\xB4", "\xE1\xB5\xB4", "LATIN SMALL LETTER S WITH MIDDLE TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D75, "\xE1\xB5\xB5", "\xE1\xB5\xB5", "\xE1\xB5\xB5", "LATIN SMALL LETTER T WITH MIDDLE TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D76, "\xE1\xB5\xB6", "\xE1\xB5\xB6", "\xE1\xB5\xB6", "LATIN SMALL LETTER Z WITH MIDDLE TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D77, "\xE1\xB5\xB7", "\xE1\xB5\xB7", "\xE1\xB5\xB7", "LATIN SMALL LETTER TURNED G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D78, "\xE1\xB5\xB8", "\xE1\xB5\xB8", "\xE1\xB5\xB8", "MODIFIER LETTER CYRILLIC EN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D79, "\xE1\xB5\xB9", "\xEA\x9D\xBD", "\xEA\x9D\xBD", "LATIN SMALL LETTER INSULAR G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D7A, "\xE1\xB5\xBA", "\xE1\xB5\xBA", "\xE1\xB5\xBA", "LATIN SMALL LETTER TH WITH STRIKETHROUGH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D7B, "\xE1\xB5\xBB", "\xE1\xB5\xBB", "\xE1\xB5\xBB", "LATIN SMALL CAPITAL LETTER I WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D7C, "\xE1\xB5\xBC", "\xE1\xB5\xBC", "\xE1\xB5\xBC", "LATIN SMALL LETTER IOTA WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D7D, "\xE1\xB5\xBD", "\xE2\xB1\xA3", "\xE2\xB1\xA3", "LATIN SMALL LETTER P WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D7E, "\xE1\xB5\xBE", "\xE1\xB5\xBE", "\xE1\xB5\xBE", "LATIN SMALL CAPITAL LETTER U WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001D7F, "\xE1\xB5\xBF", "\xE1\xB5\xBF", "\xE1\xB5\xBF", "LATIN SMALL LETTER UPSILON WITH STROKE");
  }
  
  TEST_F(CaseMapping, LatinExtendedAdditional)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E00, "\xE1\xB8\x81", "\xE1\xB8\x80", "\xE1\xB8\x80", "LATIN CAPITAL LETTER A WITH RING BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E01, "\xE1\xB8\x81", "\xE1\xB8\x80", "\xE1\xB8\x80", "LATIN SMALL LETTER A WITH RING BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E02, "\xE1\xB8\x83", "\xE1\xB8\x82", "\xE1\xB8\x82", "LATIN CAPITAL LETTER B WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E03, "\xE1\xB8\x83", "\xE1\xB8\x82", "\xE1\xB8\x82", "LATIN SMALL LETTER B WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E04, "\xE1\xB8\x85", "\xE1\xB8\x84", "\xE1\xB8\x84", "LATIN CAPITAL LETTER B WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E05, "\xE1\xB8\x85", "\xE1\xB8\x84", "\xE1\xB8\x84", "LATIN SMALL LETTER B WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E06, "\xE1\xB8\x87", "\xE1\xB8\x86", "\xE1\xB8\x86", "LATIN CAPITAL LETTER B WITH LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E07, "\xE1\xB8\x87", "\xE1\xB8\x86", "\xE1\xB8\x86", "LATIN SMALL LETTER B WITH LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E08, "\xE1\xB8\x89", "\xE1\xB8\x88", "\xE1\xB8\x88", "LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E09, "\xE1\xB8\x89", "\xE1\xB8\x88", "\xE1\xB8\x88", "LATIN SMALL LETTER C WITH CEDILLA AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E0A, "\xE1\xB8\x8B", "\xE1\xB8\x8A", "\xE1\xB8\x8A", "LATIN CAPITAL LETTER D WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E0B, "\xE1\xB8\x8B", "\xE1\xB8\x8A", "\xE1\xB8\x8A", "LATIN SMALL LETTER D WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E0C, "\xE1\xB8\x8D", "\xE1\xB8\x8C", "\xE1\xB8\x8C", "LATIN CAPITAL LETTER D WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E0D, "\xE1\xB8\x8D", "\xE1\xB8\x8C", "\xE1\xB8\x8C", "LATIN SMALL LETTER D WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E0E, "\xE1\xB8\x8F", "\xE1\xB8\x8E", "\xE1\xB8\x8E", "LATIN CAPITAL LETTER D WITH LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E0F, "\xE1\xB8\x8F", "\xE1\xB8\x8E", "\xE1\xB8\x8E", "LATIN SMALL LETTER D WITH LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E10, "\xE1\xB8\x91", "\xE1\xB8\x90", "\xE1\xB8\x90", "LATIN CAPITAL LETTER D WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E11, "\xE1\xB8\x91", "\xE1\xB8\x90", "\xE1\xB8\x90", "LATIN SMALL LETTER D WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E12, "\xE1\xB8\x93", "\xE1\xB8\x92", "\xE1\xB8\x92", "LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E13, "\xE1\xB8\x93", "\xE1\xB8\x92", "\xE1\xB8\x92", "LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E14, "\xE1\xB8\x95", "\xE1\xB8\x94", "\xE1\xB8\x94", "LATIN CAPITAL LETTER E WITH MACRON AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E15, "\xE1\xB8\x95", "\xE1\xB8\x94", "\xE1\xB8\x94", "LATIN SMALL LETTER E WITH MACRON AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E16, "\xE1\xB8\x97", "\xE1\xB8\x96", "\xE1\xB8\x96", "LATIN CAPITAL LETTER E WITH MACRON AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E17, "\xE1\xB8\x97", "\xE1\xB8\x96", "\xE1\xB8\x96", "LATIN SMALL LETTER E WITH MACRON AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E18, "\xE1\xB8\x99", "\xE1\xB8\x98", "\xE1\xB8\x98", "LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E19, "\xE1\xB8\x99", "\xE1\xB8\x98", "\xE1\xB8\x98", "LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E1A, "\xE1\xB8\x9B", "\xE1\xB8\x9A", "\xE1\xB8\x9A", "LATIN CAPITAL LETTER E WITH TILDE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E1B, "\xE1\xB8\x9B", "\xE1\xB8\x9A", "\xE1\xB8\x9A", "LATIN SMALL LETTER E WITH TILDE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E1C, "\xE1\xB8\x9D", "\xE1\xB8\x9C", "\xE1\xB8\x9C", "LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E1D, "\xE1\xB8\x9D", "\xE1\xB8\x9C", "\xE1\xB8\x9C", "LATIN SMALL LETTER E WITH CEDILLA AND BREVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E1E, "\xE1\xB8\x9F", "\xE1\xB8\x9E", "\xE1\xB8\x9E", "LATIN CAPITAL LETTER F WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E1F, "\xE1\xB8\x9F", "\xE1\xB8\x9E", "\xE1\xB8\x9E", "LATIN SMALL LETTER F WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E20, "\xE1\xB8\xA1", "\xE1\xB8\xA0", "\xE1\xB8\xA0", "LATIN CAPITAL LETTER G WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E21, "\xE1\xB8\xA1", "\xE1\xB8\xA0", "\xE1\xB8\xA0", "LATIN SMALL LETTER G WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E22, "\xE1\xB8\xA3", "\xE1\xB8\xA2", "\xE1\xB8\xA2", "LATIN CAPITAL LETTER H WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E23, "\xE1\xB8\xA3", "\xE1\xB8\xA2", "\xE1\xB8\xA2", "LATIN SMALL LETTER H WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E24, "\xE1\xB8\xA5", "\xE1\xB8\xA4", "\xE1\xB8\xA4", "LATIN CAPITAL LETTER H WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E25, "\xE1\xB8\xA5", "\xE1\xB8\xA4", "\xE1\xB8\xA4", "LATIN SMALL LETTER H WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E26, "\xE1\xB8\xA7", "\xE1\xB8\xA6", "\xE1\xB8\xA6", "LATIN CAPITAL LETTER H WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E27, "\xE1\xB8\xA7", "\xE1\xB8\xA6", "\xE1\xB8\xA6", "LATIN SMALL LETTER H WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E28, "\xE1\xB8\xA9", "\xE1\xB8\xA8", "\xE1\xB8\xA8", "LATIN CAPITAL LETTER H WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E29, "\xE1\xB8\xA9", "\xE1\xB8\xA8", "\xE1\xB8\xA8", "LATIN SMALL LETTER H WITH CEDILLA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E2A, "\xE1\xB8\xAB", "\xE1\xB8\xAA", "\xE1\xB8\xAA", "LATIN CAPITAL LETTER H WITH BREVE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E2B, "\xE1\xB8\xAB", "\xE1\xB8\xAA", "\xE1\xB8\xAA", "LATIN SMALL LETTER H WITH BREVE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E2C, "\xE1\xB8\xAD", "\xE1\xB8\xAC", "\xE1\xB8\xAC", "LATIN CAPITAL LETTER I WITH TILDE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E2D, "\xE1\xB8\xAD", "\xE1\xB8\xAC", "\xE1\xB8\xAC", "LATIN SMALL LETTER I WITH TILDE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E2E, "\xE1\xB8\xAF", "\xE1\xB8\xAE", "\xE1\xB8\xAE", "LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E2F, "\xE1\xB8\xAF", "\xE1\xB8\xAE", "\xE1\xB8\xAE", "LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E30, "\xE1\xB8\xB1", "\xE1\xB8\xB0", "\xE1\xB8\xB0", "LATIN CAPITAL LETTER K WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E31, "\xE1\xB8\xB1", "\xE1\xB8\xB0", "\xE1\xB8\xB0", "LATIN SMALL LETTER K WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E32, "\xE1\xB8\xB3", "\xE1\xB8\xB2", "\xE1\xB8\xB2", "LATIN CAPITAL LETTER K WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E33, "\xE1\xB8\xB3", "\xE1\xB8\xB2", "\xE1\xB8\xB2", "LATIN SMALL LETTER K WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E34, "\xE1\xB8\xB5", "\xE1\xB8\xB4", "\xE1\xB8\xB4", "LATIN CAPITAL LETTER K WITH LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E35, "\xE1\xB8\xB5", "\xE1\xB8\xB4", "\xE1\xB8\xB4", "LATIN SMALL LETTER K WITH LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E36, "\xE1\xB8\xB7", "\xE1\xB8\xB6", "\xE1\xB8\xB6", "LATIN CAPITAL LETTER L WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E37, "\xE1\xB8\xB7", "\xE1\xB8\xB6", "\xE1\xB8\xB6", "LATIN SMALL LETTER L WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E38, "\xE1\xB8\xB9", "\xE1\xB8\xB8", "\xE1\xB8\xB8", "LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E39, "\xE1\xB8\xB9", "\xE1\xB8\xB8", "\xE1\xB8\xB8", "LATIN SMALL LETTER L WITH DOT BELOW AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E3A, "\xE1\xB8\xBB", "\xE1\xB8\xBA", "\xE1\xB8\xBA", "LATIN CAPITAL LETTER L WITH LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E3B, "\xE1\xB8\xBB", "\xE1\xB8\xBA", "\xE1\xB8\xBA", "LATIN SMALL LETTER L WITH LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E3C, "\xE1\xB8\xBD", "\xE1\xB8\xBC", "\xE1\xB8\xBC", "LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E3D, "\xE1\xB8\xBD", "\xE1\xB8\xBC", "\xE1\xB8\xBC", "LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E3E, "\xE1\xB8\xBF", "\xE1\xB8\xBE", "\xE1\xB8\xBE", "LATIN CAPITAL LETTER M WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E3F, "\xE1\xB8\xBF", "\xE1\xB8\xBE", "\xE1\xB8\xBE", "LATIN SMALL LETTER M WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E40, "\xE1\xB9\x81", "\xE1\xB9\x80", "\xE1\xB9\x80", "LATIN CAPITAL LETTER M WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E41, "\xE1\xB9\x81", "\xE1\xB9\x80", "\xE1\xB9\x80", "LATIN SMALL LETTER M WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E42, "\xE1\xB9\x83", "\xE1\xB9\x82", "\xE1\xB9\x82", "LATIN CAPITAL LETTER M WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E43, "\xE1\xB9\x83", "\xE1\xB9\x82", "\xE1\xB9\x82", "LATIN SMALL LETTER M WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E44, "\xE1\xB9\x85", "\xE1\xB9\x84", "\xE1\xB9\x84", "LATIN CAPITAL LETTER N WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E45, "\xE1\xB9\x85", "\xE1\xB9\x84", "\xE1\xB9\x84", "LATIN SMALL LETTER N WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E46, "\xE1\xB9\x87", "\xE1\xB9\x86", "\xE1\xB9\x86", "LATIN CAPITAL LETTER N WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E47, "\xE1\xB9\x87", "\xE1\xB9\x86", "\xE1\xB9\x86", "LATIN SMALL LETTER N WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E48, "\xE1\xB9\x89", "\xE1\xB9\x88", "\xE1\xB9\x88", "LATIN CAPITAL LETTER N WITH LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E49, "\xE1\xB9\x89", "\xE1\xB9\x88", "\xE1\xB9\x88", "LATIN SMALL LETTER N WITH LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E4A, "\xE1\xB9\x8B", "\xE1\xB9\x8A", "\xE1\xB9\x8A", "LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E4B, "\xE1\xB9\x8B", "\xE1\xB9\x8A", "\xE1\xB9\x8A", "LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E4C, "\xE1\xB9\x8D", "\xE1\xB9\x8C", "\xE1\xB9\x8C", "LATIN CAPITAL LETTER O WITH TILDE AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E4D, "\xE1\xB9\x8D", "\xE1\xB9\x8C", "\xE1\xB9\x8C", "LATIN SMALL LETTER O WITH TILDE AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E4E, "\xE1\xB9\x8F", "\xE1\xB9\x8E", "\xE1\xB9\x8E", "LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E4F, "\xE1\xB9\x8F", "\xE1\xB9\x8E", "\xE1\xB9\x8E", "LATIN SMALL LETTER O WITH TILDE AND DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E50, "\xE1\xB9\x91", "\xE1\xB9\x90", "\xE1\xB9\x90", "LATIN CAPITAL LETTER O WITH MACRON AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E51, "\xE1\xB9\x91", "\xE1\xB9\x90", "\xE1\xB9\x90", "LATIN SMALL LETTER O WITH MACRON AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E52, "\xE1\xB9\x93", "\xE1\xB9\x92", "\xE1\xB9\x92", "LATIN CAPITAL LETTER O WITH MACRON AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E53, "\xE1\xB9\x93", "\xE1\xB9\x92", "\xE1\xB9\x92", "LATIN SMALL LETTER O WITH MACRON AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E54, "\xE1\xB9\x95", "\xE1\xB9\x94", "\xE1\xB9\x94", "LATIN CAPITAL LETTER P WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E55, "\xE1\xB9\x95", "\xE1\xB9\x94", "\xE1\xB9\x94", "LATIN SMALL LETTER P WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E56, "\xE1\xB9\x97", "\xE1\xB9\x96", "\xE1\xB9\x96", "LATIN CAPITAL LETTER P WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E57, "\xE1\xB9\x97", "\xE1\xB9\x96", "\xE1\xB9\x96", "LATIN SMALL LETTER P WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E58, "\xE1\xB9\x99", "\xE1\xB9\x98", "\xE1\xB9\x98", "LATIN CAPITAL LETTER R WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E59, "\xE1\xB9\x99", "\xE1\xB9\x98", "\xE1\xB9\x98", "LATIN SMALL LETTER R WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E5A, "\xE1\xB9\x9B", "\xE1\xB9\x9A", "\xE1\xB9\x9A", "LATIN CAPITAL LETTER R WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E5B, "\xE1\xB9\x9B", "\xE1\xB9\x9A", "\xE1\xB9\x9A", "LATIN SMALL LETTER R WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E5C, "\xE1\xB9\x9D", "\xE1\xB9\x9C", "\xE1\xB9\x9C", "LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E5D, "\xE1\xB9\x9D", "\xE1\xB9\x9C", "\xE1\xB9\x9C", "LATIN SMALL LETTER R WITH DOT BELOW AND MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E5E, "\xE1\xB9\x9F", "\xE1\xB9\x9E", "\xE1\xB9\x9E", "LATIN CAPITAL LETTER R WITH LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E5F, "\xE1\xB9\x9F", "\xE1\xB9\x9E", "\xE1\xB9\x9E", "LATIN SMALL LETTER R WITH LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E60, "\xE1\xB9\xA1", "\xE1\xB9\xA0", "\xE1\xB9\xA0", "LATIN CAPITAL LETTER S WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E61, "\xE1\xB9\xA1", "\xE1\xB9\xA0", "\xE1\xB9\xA0", "LATIN SMALL LETTER S WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E62, "\xE1\xB9\xA3", "\xE1\xB9\xA2", "\xE1\xB9\xA2", "LATIN CAPITAL LETTER S WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E63, "\xE1\xB9\xA3", "\xE1\xB9\xA2", "\xE1\xB9\xA2", "LATIN SMALL LETTER S WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E64, "\xE1\xB9\xA5", "\xE1\xB9\xA4", "\xE1\xB9\xA4", "LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E65, "\xE1\xB9\xA5", "\xE1\xB9\xA4", "\xE1\xB9\xA4", "LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E66, "\xE1\xB9\xA7", "\xE1\xB9\xA6", "\xE1\xB9\xA6", "LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E67, "\xE1\xB9\xA7", "\xE1\xB9\xA6", "\xE1\xB9\xA6", "LATIN SMALL LETTER S WITH CARON AND DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E68, "\xE1\xB9\xA9", "\xE1\xB9\xA8", "\xE1\xB9\xA8", "LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E69, "\xE1\xB9\xA9", "\xE1\xB9\xA8", "\xE1\xB9\xA8", "LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E6A, "\xE1\xB9\xAB", "\xE1\xB9\xAA", "\xE1\xB9\xAA", "LATIN CAPITAL LETTER T WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E6B, "\xE1\xB9\xAB", "\xE1\xB9\xAA", "\xE1\xB9\xAA", "LATIN SMALL LETTER T WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E6C, "\xE1\xB9\xAD", "\xE1\xB9\xAC", "\xE1\xB9\xAC", "LATIN CAPITAL LETTER T WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E6D, "\xE1\xB9\xAD", "\xE1\xB9\xAC", "\xE1\xB9\xAC", "LATIN SMALL LETTER T WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E6E, "\xE1\xB9\xAF", "\xE1\xB9\xAE", "\xE1\xB9\xAE", "LATIN CAPITAL LETTER T WITH LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E6F, "\xE1\xB9\xAF", "\xE1\xB9\xAE", "\xE1\xB9\xAE", "LATIN SMALL LETTER T WITH LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E70, "\xE1\xB9\xB1", "\xE1\xB9\xB0", "\xE1\xB9\xB0", "LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E71, "\xE1\xB9\xB1", "\xE1\xB9\xB0", "\xE1\xB9\xB0", "LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E72, "\xE1\xB9\xB3", "\xE1\xB9\xB2", "\xE1\xB9\xB2", "LATIN CAPITAL LETTER U WITH DIAERESIS BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E73, "\xE1\xB9\xB3", "\xE1\xB9\xB2", "\xE1\xB9\xB2", "LATIN SMALL LETTER U WITH DIAERESIS BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E74, "\xE1\xB9\xB5", "\xE1\xB9\xB4", "\xE1\xB9\xB4", "LATIN CAPITAL LETTER U WITH TILDE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E75, "\xE1\xB9\xB5", "\xE1\xB9\xB4", "\xE1\xB9\xB4", "LATIN SMALL LETTER U WITH TILDE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E76, "\xE1\xB9\xB7", "\xE1\xB9\xB6", "\xE1\xB9\xB6", "LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E77, "\xE1\xB9\xB7", "\xE1\xB9\xB6", "\xE1\xB9\xB6", "LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E78, "\xE1\xB9\xB9", "\xE1\xB9\xB8", "\xE1\xB9\xB8", "LATIN CAPITAL LETTER U WITH TILDE AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E79, "\xE1\xB9\xB9", "\xE1\xB9\xB8", "\xE1\xB9\xB8", "LATIN SMALL LETTER U WITH TILDE AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E7A, "\xE1\xB9\xBB", "\xE1\xB9\xBA", "\xE1\xB9\xBA", "LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E7B, "\xE1\xB9\xBB", "\xE1\xB9\xBA", "\xE1\xB9\xBA", "LATIN SMALL LETTER U WITH MACRON AND DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E7C, "\xE1\xB9\xBD", "\xE1\xB9\xBC", "\xE1\xB9\xBC", "LATIN CAPITAL LETTER V WITH TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E7D, "\xE1\xB9\xBD", "\xE1\xB9\xBC", "\xE1\xB9\xBC", "LATIN SMALL LETTER V WITH TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E7E, "\xE1\xB9\xBF", "\xE1\xB9\xBE", "\xE1\xB9\xBE", "LATIN CAPITAL LETTER V WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E7F, "\xE1\xB9\xBF", "\xE1\xB9\xBE", "\xE1\xB9\xBE", "LATIN SMALL LETTER V WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E80, "\xE1\xBA\x81", "\xE1\xBA\x80", "\xE1\xBA\x80", "LATIN CAPITAL LETTER W WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E81, "\xE1\xBA\x81", "\xE1\xBA\x80", "\xE1\xBA\x80", "LATIN SMALL LETTER W WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E82, "\xE1\xBA\x83", "\xE1\xBA\x82", "\xE1\xBA\x82", "LATIN CAPITAL LETTER W WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E83, "\xE1\xBA\x83", "\xE1\xBA\x82", "\xE1\xBA\x82", "LATIN SMALL LETTER W WITH ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E84, "\xE1\xBA\x85", "\xE1\xBA\x84", "\xE1\xBA\x84", "LATIN CAPITAL LETTER W WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E85, "\xE1\xBA\x85", "\xE1\xBA\x84", "\xE1\xBA\x84", "LATIN SMALL LETTER W WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E86, "\xE1\xBA\x87", "\xE1\xBA\x86", "\xE1\xBA\x86", "LATIN CAPITAL LETTER W WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E87, "\xE1\xBA\x87", "\xE1\xBA\x86", "\xE1\xBA\x86", "LATIN SMALL LETTER W WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E88, "\xE1\xBA\x89", "\xE1\xBA\x88", "\xE1\xBA\x88", "LATIN CAPITAL LETTER W WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E89, "\xE1\xBA\x89", "\xE1\xBA\x88", "\xE1\xBA\x88", "LATIN SMALL LETTER W WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E8A, "\xE1\xBA\x8B", "\xE1\xBA\x8A", "\xE1\xBA\x8A", "LATIN CAPITAL LETTER X WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E8B, "\xE1\xBA\x8B", "\xE1\xBA\x8A", "\xE1\xBA\x8A", "LATIN SMALL LETTER X WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E8C, "\xE1\xBA\x8D", "\xE1\xBA\x8C", "\xE1\xBA\x8C", "LATIN CAPITAL LETTER X WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E8D, "\xE1\xBA\x8D", "\xE1\xBA\x8C", "\xE1\xBA\x8C", "LATIN SMALL LETTER X WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E8E, "\xE1\xBA\x8F", "\xE1\xBA\x8E", "\xE1\xBA\x8E", "LATIN CAPITAL LETTER Y WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E8F, "\xE1\xBA\x8F", "\xE1\xBA\x8E", "\xE1\xBA\x8E", "LATIN SMALL LETTER Y WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E90, "\xE1\xBA\x91", "\xE1\xBA\x90", "\xE1\xBA\x90", "LATIN CAPITAL LETTER Z WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E91, "\xE1\xBA\x91", "\xE1\xBA\x90", "\xE1\xBA\x90", "LATIN SMALL LETTER Z WITH CIRCUMFLEX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E92, "\xE1\xBA\x93", "\xE1\xBA\x92", "\xE1\xBA\x92", "LATIN CAPITAL LETTER Z WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E93, "\xE1\xBA\x93", "\xE1\xBA\x92", "\xE1\xBA\x92", "LATIN SMALL LETTER Z WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E94, "\xE1\xBA\x95", "\xE1\xBA\x94", "\xE1\xBA\x94", "LATIN CAPITAL LETTER Z WITH LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E95, "\xE1\xBA\x95", "\xE1\xBA\x94", "\xE1\xBA\x94", "LATIN SMALL LETTER Z WITH LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E96, "\xE1\xBA\x96", "H\xCC\xB1", "H\xCC\xB1", "LATIN SMALL LETTER H WITH LINE BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E97, "\xE1\xBA\x97", "T\xCC\x88", "T\xCC\x88", "LATIN SMALL LETTER T WITH DIAERESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E98, "\xE1\xBA\x98", "W\xCC\x8A", "W\xCC\x8A", "LATIN SMALL LETTER W WITH RING ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E99, "\xE1\xBA\x99", "Y\xCC\x8A", "Y\xCC\x8A", "LATIN SMALL LETTER Y WITH RING ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E9A, "\xE1\xBA\x9A", "A\xCA\xBE", "A\xCA\xBE", "LATIN SMALL LETTER A WITH RIGHT HALF RING");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E9B, "\xE1\xBA\x9B", "\xE1\xB9\xA0", "\xE1\xB9\xA0", "LATIN SMALL LETTER LONG S WITH DOT ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E9C, "\xE1\xBA\x9C", "\xE1\xBA\x9C", "\xE1\xBA\x9C", "LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E9D, "\xE1\xBA\x9D", "\xE1\xBA\x9D", "\xE1\xBA\x9D", "LATIN SMALL LETTER LONG S WITH HIGH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E9E, "\xC3\x9F", "\xE1\xBA\x9E", "\xE1\xBA\x9E", "LATIN CAPITAL LETTER SHARP S");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001E9F, "\xE1\xBA\x9F", "\xE1\xBA\x9F", "\xE1\xBA\x9F", "LATIN SMALL LETTER DELTA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EA0, "\xE1\xBA\xA1", "\xE1\xBA\xA0", "\xE1\xBA\xA0", "LATIN CAPITAL LETTER A WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EA1, "\xE1\xBA\xA1", "\xE1\xBA\xA0", "\xE1\xBA\xA0", "LATIN SMALL LETTER A WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EA2, "\xE1\xBA\xA3", "\xE1\xBA\xA2", "\xE1\xBA\xA2", "LATIN CAPITAL LETTER A WITH HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EA3, "\xE1\xBA\xA3", "\xE1\xBA\xA2", "\xE1\xBA\xA2", "LATIN SMALL LETTER A WITH HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EA4, "\xE1\xBA\xA5", "\xE1\xBA\xA4", "\xE1\xBA\xA4", "LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EA5, "\xE1\xBA\xA5", "\xE1\xBA\xA4", "\xE1\xBA\xA4", "LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EA6, "\xE1\xBA\xA7", "\xE1\xBA\xA6", "\xE1\xBA\xA6", "LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EA7, "\xE1\xBA\xA7", "\xE1\xBA\xA6", "\xE1\xBA\xA6", "LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EA8, "\xE1\xBA\xA9", "\xE1\xBA\xA8", "\xE1\xBA\xA8", "LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EA9, "\xE1\xBA\xA9", "\xE1\xBA\xA8", "\xE1\xBA\xA8", "LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EAA, "\xE1\xBA\xAB", "\xE1\xBA\xAA", "\xE1\xBA\xAA", "LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EAB, "\xE1\xBA\xAB", "\xE1\xBA\xAA", "\xE1\xBA\xAA", "LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EAC, "\xE1\xBA\xAD", "\xE1\xBA\xAC", "\xE1\xBA\xAC", "LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EAD, "\xE1\xBA\xAD", "\xE1\xBA\xAC", "\xE1\xBA\xAC", "LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EAE, "\xE1\xBA\xAF", "\xE1\xBA\xAE", "\xE1\xBA\xAE", "LATIN CAPITAL LETTER A WITH BREVE AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EAF, "\xE1\xBA\xAF", "\xE1\xBA\xAE", "\xE1\xBA\xAE", "LATIN SMALL LETTER A WITH BREVE AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EB0, "\xE1\xBA\xB1", "\xE1\xBA\xB0", "\xE1\xBA\xB0", "LATIN CAPITAL LETTER A WITH BREVE AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EB1, "\xE1\xBA\xB1", "\xE1\xBA\xB0", "\xE1\xBA\xB0", "LATIN SMALL LETTER A WITH BREVE AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EB2, "\xE1\xBA\xB3", "\xE1\xBA\xB2", "\xE1\xBA\xB2", "LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EB3, "\xE1\xBA\xB3", "\xE1\xBA\xB2", "\xE1\xBA\xB2", "LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EB4, "\xE1\xBA\xB5", "\xE1\xBA\xB4", "\xE1\xBA\xB4", "LATIN CAPITAL LETTER A WITH BREVE AND TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EB5, "\xE1\xBA\xB5", "\xE1\xBA\xB4", "\xE1\xBA\xB4", "LATIN SMALL LETTER A WITH BREVE AND TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EB6, "\xE1\xBA\xB7", "\xE1\xBA\xB6", "\xE1\xBA\xB6", "LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EB7, "\xE1\xBA\xB7", "\xE1\xBA\xB6", "\xE1\xBA\xB6", "LATIN SMALL LETTER A WITH BREVE AND DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EB8, "\xE1\xBA\xB9", "\xE1\xBA\xB8", "\xE1\xBA\xB8", "LATIN CAPITAL LETTER E WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EB9, "\xE1\xBA\xB9", "\xE1\xBA\xB8", "\xE1\xBA\xB8", "LATIN SMALL LETTER E WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EBA, "\xE1\xBA\xBB", "\xE1\xBA\xBA", "\xE1\xBA\xBA", "LATIN CAPITAL LETTER E WITH HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EBB, "\xE1\xBA\xBB", "\xE1\xBA\xBA", "\xE1\xBA\xBA", "LATIN SMALL LETTER E WITH HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EBC, "\xE1\xBA\xBD", "\xE1\xBA\xBC", "\xE1\xBA\xBC", "LATIN CAPITAL LETTER E WITH TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EBD, "\xE1\xBA\xBD", "\xE1\xBA\xBC", "\xE1\xBA\xBC", "LATIN SMALL LETTER E WITH TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EBE, "\xE1\xBA\xBF", "\xE1\xBA\xBE", "\xE1\xBA\xBE", "LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EBF, "\xE1\xBA\xBF", "\xE1\xBA\xBE", "\xE1\xBA\xBE", "LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EC0, "\xE1\xBB\x81", "\xE1\xBB\x80", "\xE1\xBB\x80", "LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EC1, "\xE1\xBB\x81", "\xE1\xBB\x80", "\xE1\xBB\x80", "LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EC2, "\xE1\xBB\x83", "\xE1\xBB\x82", "\xE1\xBB\x82", "LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EC3, "\xE1\xBB\x83", "\xE1\xBB\x82", "\xE1\xBB\x82", "LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EC4, "\xE1\xBB\x85", "\xE1\xBB\x84", "\xE1\xBB\x84", "LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EC5, "\xE1\xBB\x85", "\xE1\xBB\x84", "\xE1\xBB\x84", "LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EC6, "\xE1\xBB\x87", "\xE1\xBB\x86", "\xE1\xBB\x86", "LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EC7, "\xE1\xBB\x87", "\xE1\xBB\x86", "\xE1\xBB\x86", "LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EC8, "\xE1\xBB\x89", "\xE1\xBB\x88", "\xE1\xBB\x88", "LATIN CAPITAL LETTER I WITH HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EC9, "\xE1\xBB\x89", "\xE1\xBB\x88", "\xE1\xBB\x88", "LATIN SMALL LETTER I WITH HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001ECA, "\xE1\xBB\x8B", "\xE1\xBB\x8A", "\xE1\xBB\x8A", "LATIN CAPITAL LETTER I WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001ECB, "\xE1\xBB\x8B", "\xE1\xBB\x8A", "\xE1\xBB\x8A", "LATIN SMALL LETTER I WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001ECC, "\xE1\xBB\x8D", "\xE1\xBB\x8C", "\xE1\xBB\x8C", "LATIN CAPITAL LETTER O WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001ECD, "\xE1\xBB\x8D", "\xE1\xBB\x8C", "\xE1\xBB\x8C", "LATIN SMALL LETTER O WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001ECE, "\xE1\xBB\x8F", "\xE1\xBB\x8E", "\xE1\xBB\x8E", "LATIN CAPITAL LETTER O WITH HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001ECF, "\xE1\xBB\x8F", "\xE1\xBB\x8E", "\xE1\xBB\x8E", "LATIN SMALL LETTER O WITH HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001ED0, "\xE1\xBB\x91", "\xE1\xBB\x90", "\xE1\xBB\x90", "LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001ED1, "\xE1\xBB\x91", "\xE1\xBB\x90", "\xE1\xBB\x90", "LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001ED2, "\xE1\xBB\x93", "\xE1\xBB\x92", "\xE1\xBB\x92", "LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001ED3, "\xE1\xBB\x93", "\xE1\xBB\x92", "\xE1\xBB\x92", "LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001ED4, "\xE1\xBB\x95", "\xE1\xBB\x94", "\xE1\xBB\x94", "LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001ED5, "\xE1\xBB\x95", "\xE1\xBB\x94", "\xE1\xBB\x94", "LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001ED6, "\xE1\xBB\x97", "\xE1\xBB\x96", "\xE1\xBB\x96", "LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001ED7, "\xE1\xBB\x97", "\xE1\xBB\x96", "\xE1\xBB\x96", "LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001ED8, "\xE1\xBB\x99", "\xE1\xBB\x98", "\xE1\xBB\x98", "LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001ED9, "\xE1\xBB\x99", "\xE1\xBB\x98", "\xE1\xBB\x98", "LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EDA, "\xE1\xBB\x9B", "\xE1\xBB\x9A", "\xE1\xBB\x9A", "LATIN CAPITAL LETTER O WITH HORN AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EDB, "\xE1\xBB\x9B", "\xE1\xBB\x9A", "\xE1\xBB\x9A", "LATIN SMALL LETTER O WITH HORN AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EDC, "\xE1\xBB\x9D", "\xE1\xBB\x9C", "\xE1\xBB\x9C", "LATIN CAPITAL LETTER O WITH HORN AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EDD, "\xE1\xBB\x9D", "\xE1\xBB\x9C", "\xE1\xBB\x9C", "LATIN SMALL LETTER O WITH HORN AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EDE, "\xE1\xBB\x9F", "\xE1\xBB\x9E", "\xE1\xBB\x9E", "LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EDF, "\xE1\xBB\x9F", "\xE1\xBB\x9E", "\xE1\xBB\x9E", "LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EE0, "\xE1\xBB\xA1", "\xE1\xBB\xA0", "\xE1\xBB\xA0", "LATIN CAPITAL LETTER O WITH HORN AND TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EE1, "\xE1\xBB\xA1", "\xE1\xBB\xA0", "\xE1\xBB\xA0", "LATIN SMALL LETTER O WITH HORN AND TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EE2, "\xE1\xBB\xA3", "\xE1\xBB\xA2", "\xE1\xBB\xA2", "LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EE3, "\xE1\xBB\xA3", "\xE1\xBB\xA2", "\xE1\xBB\xA2", "LATIN SMALL LETTER O WITH HORN AND DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EE4, "\xE1\xBB\xA5", "\xE1\xBB\xA4", "\xE1\xBB\xA4", "LATIN CAPITAL LETTER U WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EE5, "\xE1\xBB\xA5", "\xE1\xBB\xA4", "\xE1\xBB\xA4", "LATIN SMALL LETTER U WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EE6, "\xE1\xBB\xA7", "\xE1\xBB\xA6", "\xE1\xBB\xA6", "LATIN CAPITAL LETTER U WITH HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EE7, "\xE1\xBB\xA7", "\xE1\xBB\xA6", "\xE1\xBB\xA6", "LATIN SMALL LETTER U WITH HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EE8, "\xE1\xBB\xA9", "\xE1\xBB\xA8", "\xE1\xBB\xA8", "LATIN CAPITAL LETTER U WITH HORN AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EE9, "\xE1\xBB\xA9", "\xE1\xBB\xA8", "\xE1\xBB\xA8", "LATIN SMALL LETTER U WITH HORN AND ACUTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EEA, "\xE1\xBB\xAB", "\xE1\xBB\xAA", "\xE1\xBB\xAA", "LATIN CAPITAL LETTER U WITH HORN AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EEB, "\xE1\xBB\xAB", "\xE1\xBB\xAA", "\xE1\xBB\xAA", "LATIN SMALL LETTER U WITH HORN AND GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EEC, "\xE1\xBB\xAD", "\xE1\xBB\xAC", "\xE1\xBB\xAC", "LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EED, "\xE1\xBB\xAD", "\xE1\xBB\xAC", "\xE1\xBB\xAC", "LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EEE, "\xE1\xBB\xAF", "\xE1\xBB\xAE", "\xE1\xBB\xAE", "LATIN CAPITAL LETTER U WITH HORN AND TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EEF, "\xE1\xBB\xAF", "\xE1\xBB\xAE", "\xE1\xBB\xAE", "LATIN SMALL LETTER U WITH HORN AND TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EF0, "\xE1\xBB\xB1", "\xE1\xBB\xB0", "\xE1\xBB\xB0", "LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EF1, "\xE1\xBB\xB1", "\xE1\xBB\xB0", "\xE1\xBB\xB0", "LATIN SMALL LETTER U WITH HORN AND DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EF2, "\xE1\xBB\xB3", "\xE1\xBB\xB2", "\xE1\xBB\xB2", "LATIN CAPITAL LETTER Y WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EF3, "\xE1\xBB\xB3", "\xE1\xBB\xB2", "\xE1\xBB\xB2", "LATIN SMALL LETTER Y WITH GRAVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EF4, "\xE1\xBB\xB5", "\xE1\xBB\xB4", "\xE1\xBB\xB4", "LATIN CAPITAL LETTER Y WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EF5, "\xE1\xBB\xB5", "\xE1\xBB\xB4", "\xE1\xBB\xB4", "LATIN SMALL LETTER Y WITH DOT BELOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EF6, "\xE1\xBB\xB7", "\xE1\xBB\xB6", "\xE1\xBB\xB6", "LATIN CAPITAL LETTER Y WITH HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EF7, "\xE1\xBB\xB7", "\xE1\xBB\xB6", "\xE1\xBB\xB6", "LATIN SMALL LETTER Y WITH HOOK ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EF8, "\xE1\xBB\xB9", "\xE1\xBB\xB8", "\xE1\xBB\xB8", "LATIN CAPITAL LETTER Y WITH TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EF9, "\xE1\xBB\xB9", "\xE1\xBB\xB8", "\xE1\xBB\xB8", "LATIN SMALL LETTER Y WITH TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EFA, "\xE1\xBB\xBB", "\xE1\xBB\xBA", "\xE1\xBB\xBA", "LATIN CAPITAL LETTER MIDDLE-WELSH LL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EFB, "\xE1\xBB\xBB", "\xE1\xBB\xBA", "\xE1\xBB\xBA", "LATIN SMALL LETTER MIDDLE-WELSH LL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EFC, "\xE1\xBB\xBD", "\xE1\xBB\xBC", "\xE1\xBB\xBC", "LATIN CAPITAL LETTER MIDDLE-WELSH V");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EFD, "\xE1\xBB\xBD", "\xE1\xBB\xBC", "\xE1\xBB\xBC", "LATIN SMALL LETTER MIDDLE-WELSH V");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EFE, "\xE1\xBB\xBF", "\xE1\xBB\xBE", "\xE1\xBB\xBE", "LATIN CAPITAL LETTER Y WITH LOOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001EFF, "\xE1\xBB\xBF", "\xE1\xBB\xBE", "\xE1\xBB\xBE", "LATIN SMALL LETTER Y WITH LOOP");
  }
  
  TEST_F(CaseMapping, GreekExtended)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F00, "\xE1\xBC\x80", "\xE1\xBC\x88", "\xE1\xBC\x88", "GREEK SMALL LETTER ALPHA WITH PSILI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F01, "\xE1\xBC\x81", "\xE1\xBC\x89", "\xE1\xBC\x89", "GREEK SMALL LETTER ALPHA WITH DASIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F02, "\xE1\xBC\x82", "\xE1\xBC\x8A", "\xE1\xBC\x8A", "GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F03, "\xE1\xBC\x83", "\xE1\xBC\x8B", "\xE1\xBC\x8B", "GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F04, "\xE1\xBC\x84", "\xE1\xBC\x8C", "\xE1\xBC\x8C", "GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F05, "\xE1\xBC\x85", "\xE1\xBC\x8D", "\xE1\xBC\x8D", "GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F06, "\xE1\xBC\x86", "\xE1\xBC\x8E", "\xE1\xBC\x8E", "GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F07, "\xE1\xBC\x87", "\xE1\xBC\x8F", "\xE1\xBC\x8F", "GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F08, "\xE1\xBC\x80", "\xE1\xBC\x88", "\xE1\xBC\x88", "GREEK CAPITAL LETTER ALPHA WITH PSILI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F09, "\xE1\xBC\x81", "\xE1\xBC\x89", "\xE1\xBC\x89", "GREEK CAPITAL LETTER ALPHA WITH DASIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F0A, "\xE1\xBC\x82", "\xE1\xBC\x8A", "\xE1\xBC\x8A", "GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F0B, "\xE1\xBC\x83", "\xE1\xBC\x8B", "\xE1\xBC\x8B", "GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F0C, "\xE1\xBC\x84", "\xE1\xBC\x8C", "\xE1\xBC\x8C", "GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F0D, "\xE1\xBC\x85", "\xE1\xBC\x8D", "\xE1\xBC\x8D", "GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F0E, "\xE1\xBC\x86", "\xE1\xBC\x8E", "\xE1\xBC\x8E", "GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F0F, "\xE1\xBC\x87", "\xE1\xBC\x8F", "\xE1\xBC\x8F", "GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F10, "\xE1\xBC\x90", "\xE1\xBC\x98", "\xE1\xBC\x98", "GREEK SMALL LETTER EPSILON WITH PSILI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F11, "\xE1\xBC\x91", "\xE1\xBC\x99", "\xE1\xBC\x99", "GREEK SMALL LETTER EPSILON WITH DASIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F12, "\xE1\xBC\x92", "\xE1\xBC\x9A", "\xE1\xBC\x9A", "GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F13, "\xE1\xBC\x93", "\xE1\xBC\x9B", "\xE1\xBC\x9B", "GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F14, "\xE1\xBC\x94", "\xE1\xBC\x9C", "\xE1\xBC\x9C", "GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F15, "\xE1\xBC\x95", "\xE1\xBC\x9D", "\xE1\xBC\x9D", "GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F18, "\xE1\xBC\x90", "\xE1\xBC\x98", "\xE1\xBC\x98", "GREEK CAPITAL LETTER EPSILON WITH PSILI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F19, "\xE1\xBC\x91", "\xE1\xBC\x99", "\xE1\xBC\x99", "GREEK CAPITAL LETTER EPSILON WITH DASIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F1A, "\xE1\xBC\x92", "\xE1\xBC\x9A", "\xE1\xBC\x9A", "GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F1B, "\xE1\xBC\x93", "\xE1\xBC\x9B", "\xE1\xBC\x9B", "GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F1C, "\xE1\xBC\x94", "\xE1\xBC\x9C", "\xE1\xBC\x9C", "GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F1D, "\xE1\xBC\x95", "\xE1\xBC\x9D", "\xE1\xBC\x9D", "GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F20, "\xE1\xBC\xA0", "\xE1\xBC\xA8", "\xE1\xBC\xA8", "GREEK SMALL LETTER ETA WITH PSILI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F21, "\xE1\xBC\xA1", "\xE1\xBC\xA9", "\xE1\xBC\xA9", "GREEK SMALL LETTER ETA WITH DASIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F22, "\xE1\xBC\xA2", "\xE1\xBC\xAA", "\xE1\xBC\xAA", "GREEK SMALL LETTER ETA WITH PSILI AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F23, "\xE1\xBC\xA3", "\xE1\xBC\xAB", "\xE1\xBC\xAB", "GREEK SMALL LETTER ETA WITH DASIA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F24, "\xE1\xBC\xA4", "\xE1\xBC\xAC", "\xE1\xBC\xAC", "GREEK SMALL LETTER ETA WITH PSILI AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F25, "\xE1\xBC\xA5", "\xE1\xBC\xAD", "\xE1\xBC\xAD", "GREEK SMALL LETTER ETA WITH DASIA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F26, "\xE1\xBC\xA6", "\xE1\xBC\xAE", "\xE1\xBC\xAE", "GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F27, "\xE1\xBC\xA7", "\xE1\xBC\xAF", "\xE1\xBC\xAF", "GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F28, "\xE1\xBC\xA0", "\xE1\xBC\xA8", "\xE1\xBC\xA8", "GREEK CAPITAL LETTER ETA WITH PSILI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F29, "\xE1\xBC\xA1", "\xE1\xBC\xA9", "\xE1\xBC\xA9", "GREEK CAPITAL LETTER ETA WITH DASIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F2A, "\xE1\xBC\xA2", "\xE1\xBC\xAA", "\xE1\xBC\xAA", "GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F2B, "\xE1\xBC\xA3", "\xE1\xBC\xAB", "\xE1\xBC\xAB", "GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F2C, "\xE1\xBC\xA4", "\xE1\xBC\xAC", "\xE1\xBC\xAC", "GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F2D, "\xE1\xBC\xA5", "\xE1\xBC\xAD", "\xE1\xBC\xAD", "GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F2E, "\xE1\xBC\xA6", "\xE1\xBC\xAE", "\xE1\xBC\xAE", "GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F2F, "\xE1\xBC\xA7", "\xE1\xBC\xAF", "\xE1\xBC\xAF", "GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F30, "\xE1\xBC\xB0", "\xE1\xBC\xB8", "\xE1\xBC\xB8", "GREEK SMALL LETTER IOTA WITH PSILI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F31, "\xE1\xBC\xB1", "\xE1\xBC\xB9", "\xE1\xBC\xB9", "GREEK SMALL LETTER IOTA WITH DASIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F32, "\xE1\xBC\xB2", "\xE1\xBC\xBA", "\xE1\xBC\xBA", "GREEK SMALL LETTER IOTA WITH PSILI AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F33, "\xE1\xBC\xB3", "\xE1\xBC\xBB", "\xE1\xBC\xBB", "GREEK SMALL LETTER IOTA WITH DASIA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F34, "\xE1\xBC\xB4", "\xE1\xBC\xBC", "\xE1\xBC\xBC", "GREEK SMALL LETTER IOTA WITH PSILI AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F35, "\xE1\xBC\xB5", "\xE1\xBC\xBD", "\xE1\xBC\xBD", "GREEK SMALL LETTER IOTA WITH DASIA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F36, "\xE1\xBC\xB6", "\xE1\xBC\xBE", "\xE1\xBC\xBE", "GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F37, "\xE1\xBC\xB7", "\xE1\xBC\xBF", "\xE1\xBC\xBF", "GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F38, "\xE1\xBC\xB0", "\xE1\xBC\xB8", "\xE1\xBC\xB8", "GREEK CAPITAL LETTER IOTA WITH PSILI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F39, "\xE1\xBC\xB1", "\xE1\xBC\xB9", "\xE1\xBC\xB9", "GREEK CAPITAL LETTER IOTA WITH DASIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F3A, "\xE1\xBC\xB2", "\xE1\xBC\xBA", "\xE1\xBC\xBA", "GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F3B, "\xE1\xBC\xB3", "\xE1\xBC\xBB", "\xE1\xBC\xBB", "GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F3C, "\xE1\xBC\xB4", "\xE1\xBC\xBC", "\xE1\xBC\xBC", "GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F3D, "\xE1\xBC\xB5", "\xE1\xBC\xBD", "\xE1\xBC\xBD", "GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F3E, "\xE1\xBC\xB6", "\xE1\xBC\xBE", "\xE1\xBC\xBE", "GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F3F, "\xE1\xBC\xB7", "\xE1\xBC\xBF", "\xE1\xBC\xBF", "GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F40, "\xE1\xBD\x80", "\xE1\xBD\x88", "\xE1\xBD\x88", "GREEK SMALL LETTER OMICRON WITH PSILI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F41, "\xE1\xBD\x81", "\xE1\xBD\x89", "\xE1\xBD\x89", "GREEK SMALL LETTER OMICRON WITH DASIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F42, "\xE1\xBD\x82", "\xE1\xBD\x8A", "\xE1\xBD\x8A", "GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F43, "\xE1\xBD\x83", "\xE1\xBD\x8B", "\xE1\xBD\x8B", "GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F44, "\xE1\xBD\x84", "\xE1\xBD\x8C", "\xE1\xBD\x8C", "GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F45, "\xE1\xBD\x85", "\xE1\xBD\x8D", "\xE1\xBD\x8D", "GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F48, "\xE1\xBD\x80", "\xE1\xBD\x88", "\xE1\xBD\x88", "GREEK CAPITAL LETTER OMICRON WITH PSILI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F49, "\xE1\xBD\x81", "\xE1\xBD\x89", "\xE1\xBD\x89", "GREEK CAPITAL LETTER OMICRON WITH DASIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F4A, "\xE1\xBD\x82", "\xE1\xBD\x8A", "\xE1\xBD\x8A", "GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F4B, "\xE1\xBD\x83", "\xE1\xBD\x8B", "\xE1\xBD\x8B", "GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F4C, "\xE1\xBD\x84", "\xE1\xBD\x8C", "\xE1\xBD\x8C", "GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F4D, "\xE1\xBD\x85", "\xE1\xBD\x8D", "\xE1\xBD\x8D", "GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F50, "\xE1\xBD\x90", "\xCE\xA5\xCC\x93", "\xCE\xA5\xCC\x93", "GREEK SMALL LETTER UPSILON WITH PSILI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F51, "\xE1\xBD\x91", "\xE1\xBD\x99", "\xE1\xBD\x99", "GREEK SMALL LETTER UPSILON WITH DASIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F52, "\xE1\xBD\x92", "\xCE\xA5\xCC\x93\xCC\x80", "\xCE\xA5\xCC\x93\xCC\x80", "GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F53, "\xE1\xBD\x93", "\xE1\xBD\x9B", "\xE1\xBD\x9B", "GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F54, "\xE1\xBD\x94", "\xCE\xA5\xCC\x93\xCC\x81", "\xCE\xA5\xCC\x93\xCC\x81", "GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F55, "\xE1\xBD\x95", "\xE1\xBD\x9D", "\xE1\xBD\x9D", "GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F56, "\xE1\xBD\x96", "\xCE\xA5\xCC\x93\xCD\x82", "\xCE\xA5\xCC\x93\xCD\x82", "GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F57, "\xE1\xBD\x97", "\xE1\xBD\x9F", "\xE1\xBD\x9F", "GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F59, "\xE1\xBD\x91", "\xE1\xBD\x99", "\xE1\xBD\x99", "GREEK CAPITAL LETTER UPSILON WITH DASIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F5B, "\xE1\xBD\x93", "\xE1\xBD\x9B", "\xE1\xBD\x9B", "GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F5D, "\xE1\xBD\x95", "\xE1\xBD\x9D", "\xE1\xBD\x9D", "GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F5F, "\xE1\xBD\x97", "\xE1\xBD\x9F", "\xE1\xBD\x9F", "GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F60, "\xE1\xBD\xA0", "\xE1\xBD\xA8", "\xE1\xBD\xA8", "GREEK SMALL LETTER OMEGA WITH PSILI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F61, "\xE1\xBD\xA1", "\xE1\xBD\xA9", "\xE1\xBD\xA9", "GREEK SMALL LETTER OMEGA WITH DASIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F62, "\xE1\xBD\xA2", "\xE1\xBD\xAA", "\xE1\xBD\xAA", "GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F63, "\xE1\xBD\xA3", "\xE1\xBD\xAB", "\xE1\xBD\xAB", "GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F64, "\xE1\xBD\xA4", "\xE1\xBD\xAC", "\xE1\xBD\xAC", "GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F65, "\xE1\xBD\xA5", "\xE1\xBD\xAD", "\xE1\xBD\xAD", "GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F66, "\xE1\xBD\xA6", "\xE1\xBD\xAE", "\xE1\xBD\xAE", "GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F67, "\xE1\xBD\xA7", "\xE1\xBD\xAF", "\xE1\xBD\xAF", "GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F68, "\xE1\xBD\xA0", "\xE1\xBD\xA8", "\xE1\xBD\xA8", "GREEK CAPITAL LETTER OMEGA WITH PSILI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F69, "\xE1\xBD\xA1", "\xE1\xBD\xA9", "\xE1\xBD\xA9", "GREEK CAPITAL LETTER OMEGA WITH DASIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F6A, "\xE1\xBD\xA2", "\xE1\xBD\xAA", "\xE1\xBD\xAA", "GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F6B, "\xE1\xBD\xA3", "\xE1\xBD\xAB", "\xE1\xBD\xAB", "GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F6C, "\xE1\xBD\xA4", "\xE1\xBD\xAC", "\xE1\xBD\xAC", "GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F6D, "\xE1\xBD\xA5", "\xE1\xBD\xAD", "\xE1\xBD\xAD", "GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F6E, "\xE1\xBD\xA6", "\xE1\xBD\xAE", "\xE1\xBD\xAE", "GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F6F, "\xE1\xBD\xA7", "\xE1\xBD\xAF", "\xE1\xBD\xAF", "GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F70, "\xE1\xBD\xB0", "\xE1\xBE\xBA", "\xE1\xBE\xBA", "GREEK SMALL LETTER ALPHA WITH VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F71, "\xE1\xBD\xB1", "\xE1\xBE\xBB", "\xE1\xBE\xBB", "GREEK SMALL LETTER ALPHA WITH OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F72, "\xE1\xBD\xB2", "\xE1\xBF\x88", "\xE1\xBF\x88", "GREEK SMALL LETTER EPSILON WITH VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F73, "\xE1\xBD\xB3", "\xE1\xBF\x89", "\xE1\xBF\x89", "GREEK SMALL LETTER EPSILON WITH OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F74, "\xE1\xBD\xB4", "\xE1\xBF\x8A", "\xE1\xBF\x8A", "GREEK SMALL LETTER ETA WITH VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F75, "\xE1\xBD\xB5", "\xE1\xBF\x8B", "\xE1\xBF\x8B", "GREEK SMALL LETTER ETA WITH OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F76, "\xE1\xBD\xB6", "\xE1\xBF\x9A", "\xE1\xBF\x9A", "GREEK SMALL LETTER IOTA WITH VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F77, "\xE1\xBD\xB7", "\xE1\xBF\x9B", "\xE1\xBF\x9B", "GREEK SMALL LETTER IOTA WITH OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F78, "\xE1\xBD\xB8", "\xE1\xBF\xB8", "\xE1\xBF\xB8", "GREEK SMALL LETTER OMICRON WITH VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F79, "\xE1\xBD\xB9", "\xE1\xBF\xB9", "\xE1\xBF\xB9", "GREEK SMALL LETTER OMICRON WITH OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F7A, "\xE1\xBD\xBA", "\xE1\xBF\xAA", "\xE1\xBF\xAA", "GREEK SMALL LETTER UPSILON WITH VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F7B, "\xE1\xBD\xBB", "\xE1\xBF\xAB", "\xE1\xBF\xAB", "GREEK SMALL LETTER UPSILON WITH OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F7C, "\xE1\xBD\xBC", "\xE1\xBF\xBA", "\xE1\xBF\xBA", "GREEK SMALL LETTER OMEGA WITH VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F7D, "\xE1\xBD\xBD", "\xE1\xBF\xBB", "\xE1\xBF\xBB", "GREEK SMALL LETTER OMEGA WITH OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F80, "\xE1\xBE\x80", "\xE1\xBC\x88\xCE\x99", "\xE1\xBE\x88", "GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F81, "\xE1\xBE\x81", "\xE1\xBC\x89\xCE\x99", "\xE1\xBE\x89", "GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F82, "\xE1\xBE\x82", "\xE1\xBC\x8A\xCE\x99", "\xE1\xBE\x8A", "GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F83, "\xE1\xBE\x83", "\xE1\xBC\x8B\xCE\x99", "\xE1\xBE\x8B", "GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F84, "\xE1\xBE\x84", "\xE1\xBC\x8C\xCE\x99", "\xE1\xBE\x8C", "GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F85, "\xE1\xBE\x85", "\xE1\xBC\x8D\xCE\x99", "\xE1\xBE\x8D", "GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F86, "\xE1\xBE\x86", "\xE1\xBC\x8E\xCE\x99", "\xE1\xBE\x8E", "GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F87, "\xE1\xBE\x87", "\xE1\xBC\x8F\xCE\x99", "\xE1\xBE\x8F", "GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F88, "\xE1\xBE\x80", "\xE1\xBC\x88\xCE\x99", "\xE1\xBE\x88", "GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F89, "\xE1\xBE\x81", "\xE1\xBC\x89\xCE\x99", "\xE1\xBE\x89", "GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F8A, "\xE1\xBE\x82", "\xE1\xBC\x8A\xCE\x99", "\xE1\xBE\x8A", "GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F8B, "\xE1\xBE\x83", "\xE1\xBC\x8B\xCE\x99", "\xE1\xBE\x8B", "GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F8C, "\xE1\xBE\x84", "\xE1\xBC\x8C\xCE\x99", "\xE1\xBE\x8C", "GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F8D, "\xE1\xBE\x85", "\xE1\xBC\x8D\xCE\x99", "\xE1\xBE\x8D", "GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F8E, "\xE1\xBE\x86", "\xE1\xBC\x8E\xCE\x99", "\xE1\xBE\x8E", "GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F8F, "\xE1\xBE\x87", "\xE1\xBC\x8F\xCE\x99", "\xE1\xBE\x8F", "GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F90, "\xE1\xBE\x90", "\xE1\xBC\xA8\xCE\x99", "\xE1\xBE\x98", "GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F91, "\xE1\xBE\x91", "\xE1\xBC\xA9\xCE\x99", "\xE1\xBE\x99", "GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F92, "\xE1\xBE\x92", "\xE1\xBC\xAA\xCE\x99", "\xE1\xBE\x9A", "GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F93, "\xE1\xBE\x93", "\xE1\xBC\xAB\xCE\x99", "\xE1\xBE\x9B", "GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F94, "\xE1\xBE\x94", "\xE1\xBC\xAC\xCE\x99", "\xE1\xBE\x9C", "GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F95, "\xE1\xBE\x95", "\xE1\xBC\xAD\xCE\x99", "\xE1\xBE\x9D", "GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F96, "\xE1\xBE\x96", "\xE1\xBC\xAE\xCE\x99", "\xE1\xBE\x9E", "GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F97, "\xE1\xBE\x97", "\xE1\xBC\xAF\xCE\x99", "\xE1\xBE\x9F", "GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F98, "\xE1\xBE\x90", "\xE1\xBC\xA8\xCE\x99", "\xE1\xBE\x98", "GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F99, "\xE1\xBE\x91", "\xE1\xBC\xA9\xCE\x99", "\xE1\xBE\x99", "GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F9A, "\xE1\xBE\x92", "\xE1\xBC\xAA\xCE\x99", "\xE1\xBE\x9A", "GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F9B, "\xE1\xBE\x93", "\xE1\xBC\xAB\xCE\x99", "\xE1\xBE\x9B", "GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F9C, "\xE1\xBE\x94", "\xE1\xBC\xAC\xCE\x99", "\xE1\xBE\x9C", "GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F9D, "\xE1\xBE\x95", "\xE1\xBC\xAD\xCE\x99", "\xE1\xBE\x9D", "GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F9E, "\xE1\xBE\x96", "\xE1\xBC\xAE\xCE\x99", "\xE1\xBE\x9E", "GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001F9F, "\xE1\xBE\x97", "\xE1\xBC\xAF\xCE\x99", "\xE1\xBE\x9F", "GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FA0, "\xE1\xBE\xA0", "\xE1\xBD\xA8\xCE\x99", "\xE1\xBE\xA8", "GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FA1, "\xE1\xBE\xA1", "\xE1\xBD\xA9\xCE\x99", "\xE1\xBE\xA9", "GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FA2, "\xE1\xBE\xA2", "\xE1\xBD\xAA\xCE\x99", "\xE1\xBE\xAA", "GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FA3, "\xE1\xBE\xA3", "\xE1\xBD\xAB\xCE\x99", "\xE1\xBE\xAB", "GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FA4, "\xE1\xBE\xA4", "\xE1\xBD\xAC\xCE\x99", "\xE1\xBE\xAC", "GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FA5, "\xE1\xBE\xA5", "\xE1\xBD\xAD\xCE\x99", "\xE1\xBE\xAD", "GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FA6, "\xE1\xBE\xA6", "\xE1\xBD\xAE\xCE\x99", "\xE1\xBE\xAE", "GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FA7, "\xE1\xBE\xA7", "\xE1\xBD\xAF\xCE\x99", "\xE1\xBE\xAF", "GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FA8, "\xE1\xBE\xA0", "\xE1\xBD\xA8\xCE\x99", "\xE1\xBE\xA8", "GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FA9, "\xE1\xBE\xA1", "\xE1\xBD\xA9\xCE\x99", "\xE1\xBE\xA9", "GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FAA, "\xE1\xBE\xA2", "\xE1\xBD\xAA\xCE\x99", "\xE1\xBE\xAA", "GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FAB, "\xE1\xBE\xA3", "\xE1\xBD\xAB\xCE\x99", "\xE1\xBE\xAB", "GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FAC, "\xE1\xBE\xA4", "\xE1\xBD\xAC\xCE\x99", "\xE1\xBE\xAC", "GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FAD, "\xE1\xBE\xA5", "\xE1\xBD\xAD\xCE\x99", "\xE1\xBE\xAD", "GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FAE, "\xE1\xBE\xA6", "\xE1\xBD\xAE\xCE\x99", "\xE1\xBE\xAE", "GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FAF, "\xE1\xBE\xA7", "\xE1\xBD\xAF\xCE\x99", "\xE1\xBE\xAF", "GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FB0, "\xE1\xBE\xB0", "\xE1\xBE\xB8", "\xE1\xBE\xB8", "GREEK SMALL LETTER ALPHA WITH VRACHY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FB1, "\xE1\xBE\xB1", "\xE1\xBE\xB9", "\xE1\xBE\xB9", "GREEK SMALL LETTER ALPHA WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FB2, "\xE1\xBE\xB2", "\xE1\xBE\xBA\xCE\x99", "\xE1\xBE\xBA\xCD\x85", "GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FB3, "\xE1\xBE\xB3", "\xCE\x91\xCE\x99", "\xE1\xBE\xBC", "GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FB4, "\xE1\xBE\xB4", "\xCE\x86\xCE\x99", "\xCE\x86\xCD\x85", "GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FB6, "\xE1\xBE\xB6", "\xCE\x91\xCD\x82", "\xCE\x91\xCD\x82", "GREEK SMALL LETTER ALPHA WITH PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FB7, "\xE1\xBE\xB7", "\xCE\x91\xCD\x82\xCE\x99", "\xCE\x91\xCD\x82\xCD\x85", "GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FB8, "\xE1\xBE\xB0", "\xE1\xBE\xB8", "\xE1\xBE\xB8", "GREEK CAPITAL LETTER ALPHA WITH VRACHY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FB9, "\xE1\xBE\xB1", "\xE1\xBE\xB9", "\xE1\xBE\xB9", "GREEK CAPITAL LETTER ALPHA WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FBA, "\xE1\xBD\xB0", "\xE1\xBE\xBA", "\xE1\xBE\xBA", "GREEK CAPITAL LETTER ALPHA WITH VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FBB, "\xE1\xBD\xB1", "\xE1\xBE\xBB", "\xE1\xBE\xBB", "GREEK CAPITAL LETTER ALPHA WITH OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FBC, "\xE1\xBE\xB3", "\xCE\x91\xCE\x99", "\xE1\xBE\xBC", "GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FBD, "\xE1\xBE\xBD", "\xE1\xBE\xBD", "\xE1\xBE\xBD", "GREEK KORONIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FBE, "\xE1\xBE\xBE", "\xCE\x99", "\xCE\x99", "GREEK PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FBF, "\xE1\xBE\xBF", "\xE1\xBE\xBF", "\xE1\xBE\xBF", "GREEK PSILI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FC0, "\xE1\xBF\x80", "\xE1\xBF\x80", "\xE1\xBF\x80", "GREEK PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FC1, "\xE1\xBF\x81", "\xE1\xBF\x81", "\xE1\xBF\x81", "GREEK DIALYTIKA AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FC2, "\xE1\xBF\x82", "\xE1\xBF\x8A\xCE\x99", "\xE1\xBF\x8A\xCD\x85", "GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FC3, "\xE1\xBF\x83", "\xCE\x97\xCE\x99", "\xE1\xBF\x8C", "GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FC4, "\xE1\xBF\x84", "\xCE\x89\xCE\x99", "\xCE\x89\xCD\x85", "GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FC6, "\xE1\xBF\x86", "\xCE\x97\xCD\x82", "\xCE\x97\xCD\x82", "GREEK SMALL LETTER ETA WITH PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FC7, "\xE1\xBF\x87", "\xCE\x97\xCD\x82\xCE\x99", "\xCE\x97\xCD\x82\xCD\x85", "GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FC8, "\xE1\xBD\xB2", "\xE1\xBF\x88", "\xE1\xBF\x88", "GREEK CAPITAL LETTER EPSILON WITH VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FC9, "\xE1\xBD\xB3", "\xE1\xBF\x89", "\xE1\xBF\x89", "GREEK CAPITAL LETTER EPSILON WITH OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FCA, "\xE1\xBD\xB4", "\xE1\xBF\x8A", "\xE1\xBF\x8A", "GREEK CAPITAL LETTER ETA WITH VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FCB, "\xE1\xBD\xB5", "\xE1\xBF\x8B", "\xE1\xBF\x8B", "GREEK CAPITAL LETTER ETA WITH OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FCC, "\xE1\xBF\x83", "\xCE\x97\xCE\x99", "\xE1\xBF\x8C", "GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FCD, "\xE1\xBF\x8D", "\xE1\xBF\x8D", "\xE1\xBF\x8D", "GREEK PSILI AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FCE, "\xE1\xBF\x8E", "\xE1\xBF\x8E", "\xE1\xBF\x8E", "GREEK PSILI AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FCF, "\xE1\xBF\x8F", "\xE1\xBF\x8F", "\xE1\xBF\x8F", "GREEK PSILI AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FD0, "\xE1\xBF\x90", "\xE1\xBF\x98", "\xE1\xBF\x98", "GREEK SMALL LETTER IOTA WITH VRACHY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FD1, "\xE1\xBF\x91", "\xE1\xBF\x99", "\xE1\xBF\x99", "GREEK SMALL LETTER IOTA WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FD2, "\xE1\xBF\x92", "\xCE\x99\xCC\x88\xCC\x80", "\xCE\x99\xCC\x88\xCC\x80", "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FD3, "\xE1\xBF\x93", "\xCE\x99\xCC\x88\xCC\x81", "\xCE\x99\xCC\x88\xCC\x81", "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FD6, "\xE1\xBF\x96", "\xCE\x99\xCD\x82", "\xCE\x99\xCD\x82", "GREEK SMALL LETTER IOTA WITH PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FD7, "\xE1\xBF\x97", "\xCE\x99\xCC\x88\xCD\x82", "\xCE\x99\xCC\x88\xCD\x82", "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FD8, "\xE1\xBF\x90", "\xE1\xBF\x98", "\xE1\xBF\x98", "GREEK CAPITAL LETTER IOTA WITH VRACHY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FD9, "\xE1\xBF\x91", "\xE1\xBF\x99", "\xE1\xBF\x99", "GREEK CAPITAL LETTER IOTA WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FDA, "\xE1\xBD\xB6", "\xE1\xBF\x9A", "\xE1\xBF\x9A", "GREEK CAPITAL LETTER IOTA WITH VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FDB, "\xE1\xBD\xB7", "\xE1\xBF\x9B", "\xE1\xBF\x9B", "GREEK CAPITAL LETTER IOTA WITH OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FDD, "\xE1\xBF\x9D", "\xE1\xBF\x9D", "\xE1\xBF\x9D", "GREEK DASIA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FDE, "\xE1\xBF\x9E", "\xE1\xBF\x9E", "\xE1\xBF\x9E", "GREEK DASIA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FDF, "\xE1\xBF\x9F", "\xE1\xBF\x9F", "\xE1\xBF\x9F", "GREEK DASIA AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FE0, "\xE1\xBF\xA0", "\xE1\xBF\xA8", "\xE1\xBF\xA8", "GREEK SMALL LETTER UPSILON WITH VRACHY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FE1, "\xE1\xBF\xA1", "\xE1\xBF\xA9", "\xE1\xBF\xA9", "GREEK SMALL LETTER UPSILON WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FE2, "\xE1\xBF\xA2", "\xCE\xA5\xCC\x88\xCC\x80", "\xCE\xA5\xCC\x88\xCC\x80", "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FE3, "\xE1\xBF\xA3", "\xCE\xA5\xCC\x88\xCC\x81", "\xCE\xA5\xCC\x88\xCC\x81", "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FE4, "\xE1\xBF\xA4", "\xCE\xA1\xCC\x93", "\xCE\xA1\xCC\x93", "GREEK SMALL LETTER RHO WITH PSILI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FE5, "\xE1\xBF\xA5", "\xE1\xBF\xAC", "\xE1\xBF\xAC", "GREEK SMALL LETTER RHO WITH DASIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FE6, "\xE1\xBF\xA6", "\xCE\xA5\xCD\x82", "\xCE\xA5\xCD\x82", "GREEK SMALL LETTER UPSILON WITH PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FE7, "\xE1\xBF\xA7", "\xCE\xA5\xCC\x88\xCD\x82", "\xCE\xA5\xCC\x88\xCD\x82", "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FE8, "\xE1\xBF\xA0", "\xE1\xBF\xA8", "\xE1\xBF\xA8", "GREEK CAPITAL LETTER UPSILON WITH VRACHY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FE9, "\xE1\xBF\xA1", "\xE1\xBF\xA9", "\xE1\xBF\xA9", "GREEK CAPITAL LETTER UPSILON WITH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FEA, "\xE1\xBD\xBA", "\xE1\xBF\xAA", "\xE1\xBF\xAA", "GREEK CAPITAL LETTER UPSILON WITH VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FEB, "\xE1\xBD\xBB", "\xE1\xBF\xAB", "\xE1\xBF\xAB", "GREEK CAPITAL LETTER UPSILON WITH OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FEC, "\xE1\xBF\xA5", "\xE1\xBF\xAC", "\xE1\xBF\xAC", "GREEK CAPITAL LETTER RHO WITH DASIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FED, "\xE1\xBF\xAD", "\xE1\xBF\xAD", "\xE1\xBF\xAD", "GREEK DIALYTIKA AND VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FEE, "\xE1\xBF\xAE", "\xE1\xBF\xAE", "\xE1\xBF\xAE", "GREEK DIALYTIKA AND OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FEF, "\xE1\xBF\xAF", "\xE1\xBF\xAF", "\xE1\xBF\xAF", "GREEK VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FF2, "\xE1\xBF\xB2", "\xE1\xBF\xBA\xCE\x99", "\xE1\xBF\xBA\xCD\x85", "GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FF3, "\xE1\xBF\xB3", "\xCE\xA9\xCE\x99", "\xE1\xBF\xBC", "GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FF4, "\xE1\xBF\xB4", "\xCE\x8F\xCE\x99", "\xCE\x8F\xCD\x85", "GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FF6, "\xE1\xBF\xB6", "\xCE\xA9\xCD\x82", "\xCE\xA9\xCD\x82", "GREEK SMALL LETTER OMEGA WITH PERISPOMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FF7, "\xE1\xBF\xB7", "\xCE\xA9\xCD\x82\xCE\x99", "\xCE\xA9\xCD\x82\xCD\x85", "GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FF8, "\xE1\xBD\xB8", "\xE1\xBF\xB8", "\xE1\xBF\xB8", "GREEK CAPITAL LETTER OMICRON WITH VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FF9, "\xE1\xBD\xB9", "\xE1\xBF\xB9", "\xE1\xBF\xB9", "GREEK CAPITAL LETTER OMICRON WITH OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FFA, "\xE1\xBD\xBC", "\xE1\xBF\xBA", "\xE1\xBF\xBA", "GREEK CAPITAL LETTER OMEGA WITH VARIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FFB, "\xE1\xBD\xBD", "\xE1\xBF\xBB", "\xE1\xBF\xBB", "GREEK CAPITAL LETTER OMEGA WITH OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FFC, "\xE1\xBF\xB3", "\xCE\xA9\xCE\x99", "\xE1\xBF\xBC", "GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FFD, "\xE1\xBF\xBD", "\xE1\xBF\xBD", "\xE1\xBF\xBD", "GREEK OXIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00001FFE, "\xE1\xBF\xBE", "\xE1\xBF\xBE", "\xE1\xBF\xBE", "GREEK DASIA");
  }
  
  TEST_F(CaseMapping, LetterlikeSymbols)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002100, "\xE2\x84\x80", "\xE2\x84\x80", "\xE2\x84\x80", "ACCOUNT OF");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002101, "\xE2\x84\x81", "\xE2\x84\x81", "\xE2\x84\x81", "ADDRESSED TO THE SUBJECT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002102, "\xE2\x84\x82", "\xE2\x84\x82", "\xE2\x84\x82", "DOUBLE-STRUCK CAPITAL C");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002103, "\xE2\x84\x83", "\xE2\x84\x83", "\xE2\x84\x83", "DEGREE CELSIUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002104, "\xE2\x84\x84", "\xE2\x84\x84", "\xE2\x84\x84", "CENTRE LINE SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002105, "\xE2\x84\x85", "\xE2\x84\x85", "\xE2\x84\x85", "CARE OF");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002106, "\xE2\x84\x86", "\xE2\x84\x86", "\xE2\x84\x86", "CADA UNA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002107, "\xE2\x84\x87", "\xE2\x84\x87", "\xE2\x84\x87", "EULER CONSTANT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002108, "\xE2\x84\x88", "\xE2\x84\x88", "\xE2\x84\x88", "SCRUPLE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002109, "\xE2\x84\x89", "\xE2\x84\x89", "\xE2\x84\x89", "DEGREE FAHRENHEIT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000210A, "\xE2\x84\x8A", "\xE2\x84\x8A", "\xE2\x84\x8A", "SCRIPT SMALL G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000210B, "\xE2\x84\x8B", "\xE2\x84\x8B", "\xE2\x84\x8B", "SCRIPT CAPITAL H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000210C, "\xE2\x84\x8C", "\xE2\x84\x8C", "\xE2\x84\x8C", "BLACK-LETTER CAPITAL H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000210D, "\xE2\x84\x8D", "\xE2\x84\x8D", "\xE2\x84\x8D", "DOUBLE-STRUCK CAPITAL H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000210E, "\xE2\x84\x8E", "\xE2\x84\x8E", "\xE2\x84\x8E", "PLANCK CONSTANT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000210F, "\xE2\x84\x8F", "\xE2\x84\x8F", "\xE2\x84\x8F", "PLANCK CONSTANT OVER TWO PI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002110, "\xE2\x84\x90", "\xE2\x84\x90", "\xE2\x84\x90", "SCRIPT CAPITAL I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002111, "\xE2\x84\x91", "\xE2\x84\x91", "\xE2\x84\x91", "BLACK-LETTER CAPITAL I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002112, "\xE2\x84\x92", "\xE2\x84\x92", "\xE2\x84\x92", "SCRIPT CAPITAL L");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002113, "\xE2\x84\x93", "\xE2\x84\x93", "\xE2\x84\x93", "SCRIPT SMALL L");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002114, "\xE2\x84\x94", "\xE2\x84\x94", "\xE2\x84\x94", "L B BAR SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002115, "\xE2\x84\x95", "\xE2\x84\x95", "\xE2\x84\x95", "DOUBLE-STRUCK CAPITAL N");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002116, "\xE2\x84\x96", "\xE2\x84\x96", "\xE2\x84\x96", "NUMERO SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002117, "\xE2\x84\x97", "\xE2\x84\x97", "\xE2\x84\x97", "SOUND RECORDING COPYRIGHT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002118, "\xE2\x84\x98", "\xE2\x84\x98", "\xE2\x84\x98", "SCRIPT CAPITAL P");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002119, "\xE2\x84\x99", "\xE2\x84\x99", "\xE2\x84\x99", "DOUBLE-STRUCK CAPITAL P");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000211A, "\xE2\x84\x9A", "\xE2\x84\x9A", "\xE2\x84\x9A", "DOUBLE-STRUCK CAPITAL Q");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000211B, "\xE2\x84\x9B", "\xE2\x84\x9B", "\xE2\x84\x9B", "SCRIPT CAPITAL R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000211C, "\xE2\x84\x9C", "\xE2\x84\x9C", "\xE2\x84\x9C", "BLACK-LETTER CAPITAL R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000211D, "\xE2\x84\x9D", "\xE2\x84\x9D", "\xE2\x84\x9D", "DOUBLE-STRUCK CAPITAL R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000211E, "\xE2\x84\x9E", "\xE2\x84\x9E", "\xE2\x84\x9E", "PRESCRIPTION TAKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000211F, "\xE2\x84\x9F", "\xE2\x84\x9F", "\xE2\x84\x9F", "RESPONSE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002120, "\xE2\x84\xA0", "\xE2\x84\xA0", "\xE2\x84\xA0", "SERVICE MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002121, "\xE2\x84\xA1", "\xE2\x84\xA1", "\xE2\x84\xA1", "TELEPHONE SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002122, "\xE2\x84\xA2", "\xE2\x84\xA2", "\xE2\x84\xA2", "TRADE MARK SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002123, "\xE2\x84\xA3", "\xE2\x84\xA3", "\xE2\x84\xA3", "VERSICLE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002124, "\xE2\x84\xA4", "\xE2\x84\xA4", "\xE2\x84\xA4", "DOUBLE-STRUCK CAPITAL Z");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002125, "\xE2\x84\xA5", "\xE2\x84\xA5", "\xE2\x84\xA5", "OUNCE SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002126, "\xCF\x89", "\xE2\x84\xA6", "\xE2\x84\xA6", "OHM SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002127, "\xE2\x84\xA7", "\xE2\x84\xA7", "\xE2\x84\xA7", "INVERTED OHM SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002128, "\xE2\x84\xA8", "\xE2\x84\xA8", "\xE2\x84\xA8", "BLACK-LETTER CAPITAL Z");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002129, "\xE2\x84\xA9", "\xE2\x84\xA9", "\xE2\x84\xA9", "TURNED GREEK SMALL LETTER IOTA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000212A, "k", "\xE2\x84\xAA", "\xE2\x84\xAA", "KELVIN SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000212B, "\xC3\xA5", "\xE2\x84\xAB", "\xE2\x84\xAB", "ANGSTROM SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000212C, "\xE2\x84\xAC", "\xE2\x84\xAC", "\xE2\x84\xAC", "SCRIPT CAPITAL B");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000212D, "\xE2\x84\xAD", "\xE2\x84\xAD", "\xE2\x84\xAD", "BLACK-LETTER CAPITAL C");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000212E, "\xE2\x84\xAE", "\xE2\x84\xAE", "\xE2\x84\xAE", "ESTIMATED SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000212F, "\xE2\x84\xAF", "\xE2\x84\xAF", "\xE2\x84\xAF", "SCRIPT SMALL E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002130, "\xE2\x84\xB0", "\xE2\x84\xB0", "\xE2\x84\xB0", "SCRIPT CAPITAL E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002131, "\xE2\x84\xB1", "\xE2\x84\xB1", "\xE2\x84\xB1", "SCRIPT CAPITAL F");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002132, "\xE2\x85\x8E", "\xE2\x84\xB2", "\xE2\x84\xB2", "TURNED CAPITAL F");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002133, "\xE2\x84\xB3", "\xE2\x84\xB3", "\xE2\x84\xB3", "SCRIPT CAPITAL M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002134, "\xE2\x84\xB4", "\xE2\x84\xB4", "\xE2\x84\xB4", "SCRIPT SMALL O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002135, "\xE2\x84\xB5", "\xE2\x84\xB5", "\xE2\x84\xB5", "ALEF SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002136, "\xE2\x84\xB6", "\xE2\x84\xB6", "\xE2\x84\xB6", "BET SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002137, "\xE2\x84\xB7", "\xE2\x84\xB7", "\xE2\x84\xB7", "GIMEL SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002138, "\xE2\x84\xB8", "\xE2\x84\xB8", "\xE2\x84\xB8", "DALET SYMBOL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002139, "\xE2\x84\xB9", "\xE2\x84\xB9", "\xE2\x84\xB9", "INFORMATION SOURCE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000213A, "\xE2\x84\xBA", "\xE2\x84\xBA", "\xE2\x84\xBA", "ROTATED CAPITAL Q");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000213B, "\xE2\x84\xBB", "\xE2\x84\xBB", "\xE2\x84\xBB", "FACSIMILE SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000213C, "\xE2\x84\xBC", "\xE2\x84\xBC", "\xE2\x84\xBC", "DOUBLE-STRUCK SMALL PI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000213D, "\xE2\x84\xBD", "\xE2\x84\xBD", "\xE2\x84\xBD", "DOUBLE-STRUCK SMALL GAMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000213E, "\xE2\x84\xBE", "\xE2\x84\xBE", "\xE2\x84\xBE", "DOUBLE-STRUCK CAPITAL GAMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000213F, "\xE2\x84\xBF", "\xE2\x84\xBF", "\xE2\x84\xBF", "DOUBLE-STRUCK CAPITAL PI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002140, "\xE2\x85\x80", "\xE2\x85\x80", "\xE2\x85\x80", "DOUBLE-STRUCK N-ARY SUMMATION");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002141, "\xE2\x85\x81", "\xE2\x85\x81", "\xE2\x85\x81", "TURNED SANS-SERIF CAPITAL G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002142, "\xE2\x85\x82", "\xE2\x85\x82", "\xE2\x85\x82", "TURNED SANS-SERIF CAPITAL L");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002143, "\xE2\x85\x83", "\xE2\x85\x83", "\xE2\x85\x83", "REVERSED SANS-SERIF CAPITAL L");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002144, "\xE2\x85\x84", "\xE2\x85\x84", "\xE2\x85\x84", "TURNED SANS-SERIF CAPITAL Y");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002145, "\xE2\x85\x85", "\xE2\x85\x85", "\xE2\x85\x85", "DOUBLE-STRUCK ITALIC CAPITAL D");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002146, "\xE2\x85\x86", "\xE2\x85\x86", "\xE2\x85\x86", "DOUBLE-STRUCK ITALIC SMALL D");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002147, "\xE2\x85\x87", "\xE2\x85\x87", "\xE2\x85\x87", "DOUBLE-STRUCK ITALIC SMALL E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002148, "\xE2\x85\x88", "\xE2\x85\x88", "\xE2\x85\x88", "DOUBLE-STRUCK ITALIC SMALL I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002149, "\xE2\x85\x89", "\xE2\x85\x89", "\xE2\x85\x89", "DOUBLE-STRUCK ITALIC SMALL J");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000214A, "\xE2\x85\x8A", "\xE2\x85\x8A", "\xE2\x85\x8A", "PROPERTY LINE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000214B, "\xE2\x85\x8B", "\xE2\x85\x8B", "\xE2\x85\x8B", "TURNED AMPERSAND");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000214C, "\xE2\x85\x8C", "\xE2\x85\x8C", "\xE2\x85\x8C", "PER SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000214D, "\xE2\x85\x8D", "\xE2\x85\x8D", "\xE2\x85\x8D", "AKTIESELSKAB");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000214E, "\xE2\x85\x8E", "\xE2\x84\xB2", "\xE2\x84\xB2", "TURNED SMALL F");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000214F, "\xE2\x85\x8F", "\xE2\x85\x8F", "\xE2\x85\x8F", "SYMBOL FOR SAMARITAN SOURCE");
  }
  
  TEST_F(CaseMapping, NumberForms)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002150, "\xE2\x85\x90", "\xE2\x85\x90", "\xE2\x85\x90", "VULGAR FRACTION ONE SEVENTH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002151, "\xE2\x85\x91", "\xE2\x85\x91", "\xE2\x85\x91", "VULGAR FRACTION ONE NINTH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002152, "\xE2\x85\x92", "\xE2\x85\x92", "\xE2\x85\x92", "VULGAR FRACTION ONE TENTH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002153, "\xE2\x85\x93", "\xE2\x85\x93", "\xE2\x85\x93", "VULGAR FRACTION ONE THIRD");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002154, "\xE2\x85\x94", "\xE2\x85\x94", "\xE2\x85\x94", "VULGAR FRACTION TWO THIRDS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002155, "\xE2\x85\x95", "\xE2\x85\x95", "\xE2\x85\x95", "VULGAR FRACTION ONE FIFTH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002156, "\xE2\x85\x96", "\xE2\x85\x96", "\xE2\x85\x96", "VULGAR FRACTION TWO FIFTHS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002157, "\xE2\x85\x97", "\xE2\x85\x97", "\xE2\x85\x97", "VULGAR FRACTION THREE FIFTHS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002158, "\xE2\x85\x98", "\xE2\x85\x98", "\xE2\x85\x98", "VULGAR FRACTION FOUR FIFTHS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002159, "\xE2\x85\x99", "\xE2\x85\x99", "\xE2\x85\x99", "VULGAR FRACTION ONE SIXTH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000215A, "\xE2\x85\x9A", "\xE2\x85\x9A", "\xE2\x85\x9A", "VULGAR FRACTION FIVE SIXTHS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000215B, "\xE2\x85\x9B", "\xE2\x85\x9B", "\xE2\x85\x9B", "VULGAR FRACTION ONE EIGHTH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000215C, "\xE2\x85\x9C", "\xE2\x85\x9C", "\xE2\x85\x9C", "VULGAR FRACTION THREE EIGHTHS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000215D, "\xE2\x85\x9D", "\xE2\x85\x9D", "\xE2\x85\x9D", "VULGAR FRACTION FIVE EIGHTHS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000215E, "\xE2\x85\x9E", "\xE2\x85\x9E", "\xE2\x85\x9E", "VULGAR FRACTION SEVEN EIGHTHS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000215F, "\xE2\x85\x9F", "\xE2\x85\x9F", "\xE2\x85\x9F", "FRACTION NUMERATOR ONE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002160, "\xE2\x85\xB0", "\xE2\x85\xA0", "\xE2\x85\xA0", "ROMAN NUMERAL ONE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002161, "\xE2\x85\xB1", "\xE2\x85\xA1", "\xE2\x85\xA1", "ROMAN NUMERAL TWO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002162, "\xE2\x85\xB2", "\xE2\x85\xA2", "\xE2\x85\xA2", "ROMAN NUMERAL THREE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002163, "\xE2\x85\xB3", "\xE2\x85\xA3", "\xE2\x85\xA3", "ROMAN NUMERAL FOUR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002164, "\xE2\x85\xB4", "\xE2\x85\xA4", "\xE2\x85\xA4", "ROMAN NUMERAL FIVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002165, "\xE2\x85\xB5", "\xE2\x85\xA5", "\xE2\x85\xA5", "ROMAN NUMERAL SIX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002166, "\xE2\x85\xB6", "\xE2\x85\xA6", "\xE2\x85\xA6", "ROMAN NUMERAL SEVEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002167, "\xE2\x85\xB7", "\xE2\x85\xA7", "\xE2\x85\xA7", "ROMAN NUMERAL EIGHT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002168, "\xE2\x85\xB8", "\xE2\x85\xA8", "\xE2\x85\xA8", "ROMAN NUMERAL NINE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002169, "\xE2\x85\xB9", "\xE2\x85\xA9", "\xE2\x85\xA9", "ROMAN NUMERAL TEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000216A, "\xE2\x85\xBA", "\xE2\x85\xAA", "\xE2\x85\xAA", "ROMAN NUMERAL ELEVEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000216B, "\xE2\x85\xBB", "\xE2\x85\xAB", "\xE2\x85\xAB", "ROMAN NUMERAL TWELVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000216C, "\xE2\x85\xBC", "\xE2\x85\xAC", "\xE2\x85\xAC", "ROMAN NUMERAL FIFTY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000216D, "\xE2\x85\xBD", "\xE2\x85\xAD", "\xE2\x85\xAD", "ROMAN NUMERAL ONE HUNDRED");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000216E, "\xE2\x85\xBE", "\xE2\x85\xAE", "\xE2\x85\xAE", "ROMAN NUMERAL FIVE HUNDRED");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000216F, "\xE2\x85\xBF", "\xE2\x85\xAF", "\xE2\x85\xAF", "ROMAN NUMERAL ONE THOUSAND");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002170, "\xE2\x85\xB0", "\xE2\x85\xA0", "\xE2\x85\xA0", "SMALL ROMAN NUMERAL ONE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002171, "\xE2\x85\xB1", "\xE2\x85\xA1", "\xE2\x85\xA1", "SMALL ROMAN NUMERAL TWO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002172, "\xE2\x85\xB2", "\xE2\x85\xA2", "\xE2\x85\xA2", "SMALL ROMAN NUMERAL THREE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002173, "\xE2\x85\xB3", "\xE2\x85\xA3", "\xE2\x85\xA3", "SMALL ROMAN NUMERAL FOUR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002174, "\xE2\x85\xB4", "\xE2\x85\xA4", "\xE2\x85\xA4", "SMALL ROMAN NUMERAL FIVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002175, "\xE2\x85\xB5", "\xE2\x85\xA5", "\xE2\x85\xA5", "SMALL ROMAN NUMERAL SIX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002176, "\xE2\x85\xB6", "\xE2\x85\xA6", "\xE2\x85\xA6", "SMALL ROMAN NUMERAL SEVEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002177, "\xE2\x85\xB7", "\xE2\x85\xA7", "\xE2\x85\xA7", "SMALL ROMAN NUMERAL EIGHT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002178, "\xE2\x85\xB8", "\xE2\x85\xA8", "\xE2\x85\xA8", "SMALL ROMAN NUMERAL NINE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002179, "\xE2\x85\xB9", "\xE2\x85\xA9", "\xE2\x85\xA9", "SMALL ROMAN NUMERAL TEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000217A, "\xE2\x85\xBA", "\xE2\x85\xAA", "\xE2\x85\xAA", "SMALL ROMAN NUMERAL ELEVEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000217B, "\xE2\x85\xBB", "\xE2\x85\xAB", "\xE2\x85\xAB", "SMALL ROMAN NUMERAL TWELVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000217C, "\xE2\x85\xBC", "\xE2\x85\xAC", "\xE2\x85\xAC", "SMALL ROMAN NUMERAL FIFTY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000217D, "\xE2\x85\xBD", "\xE2\x85\xAD", "\xE2\x85\xAD", "SMALL ROMAN NUMERAL ONE HUNDRED");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000217E, "\xE2\x85\xBE", "\xE2\x85\xAE", "\xE2\x85\xAE", "SMALL ROMAN NUMERAL FIVE HUNDRED");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000217F, "\xE2\x85\xBF", "\xE2\x85\xAF", "\xE2\x85\xAF", "SMALL ROMAN NUMERAL ONE THOUSAND");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002180, "\xE2\x86\x80", "\xE2\x86\x80", "\xE2\x86\x80", "ROMAN NUMERAL ONE THOUSAND C D");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002181, "\xE2\x86\x81", "\xE2\x86\x81", "\xE2\x86\x81", "ROMAN NUMERAL FIVE THOUSAND");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002182, "\xE2\x86\x82", "\xE2\x86\x82", "\xE2\x86\x82", "ROMAN NUMERAL TEN THOUSAND");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002183, "\xE2\x86\x84", "\xE2\x86\x83", "\xE2\x86\x83", "ROMAN NUMERAL REVERSED ONE HUNDRED");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002184, "\xE2\x86\x84", "\xE2\x86\x83", "\xE2\x86\x83", "LATIN SMALL LETTER REVERSED C");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002185, "\xE2\x86\x85", "\xE2\x86\x85", "\xE2\x86\x85", "ROMAN NUMERAL SIX LATE FORM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002186, "\xE2\x86\x86", "\xE2\x86\x86", "\xE2\x86\x86", "ROMAN NUMERAL FIFTY EARLY FORM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002187, "\xE2\x86\x87", "\xE2\x86\x87", "\xE2\x86\x87", "ROMAN NUMERAL FIFTY THOUSAND");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002188, "\xE2\x86\x88", "\xE2\x86\x88", "\xE2\x86\x88", "ROMAN NUMERAL ONE HUNDRED THOUSAND");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002189, "\xE2\x86\x89", "\xE2\x86\x89", "\xE2\x86\x89", "VULGAR FRACTION ZERO THIRDS");
  }
  
  TEST_F(CaseMapping, EnclosedAlphanumerics)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002460, "\xE2\x91\xA0", "\xE2\x91\xA0", "\xE2\x91\xA0", "CIRCLED DIGIT ONE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002461, "\xE2\x91\xA1", "\xE2\x91\xA1", "\xE2\x91\xA1", "CIRCLED DIGIT TWO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002462, "\xE2\x91\xA2", "\xE2\x91\xA2", "\xE2\x91\xA2", "CIRCLED DIGIT THREE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002463, "\xE2\x91\xA3", "\xE2\x91\xA3", "\xE2\x91\xA3", "CIRCLED DIGIT FOUR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002464, "\xE2\x91\xA4", "\xE2\x91\xA4", "\xE2\x91\xA4", "CIRCLED DIGIT FIVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002465, "\xE2\x91\xA5", "\xE2\x91\xA5", "\xE2\x91\xA5", "CIRCLED DIGIT SIX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002466, "\xE2\x91\xA6", "\xE2\x91\xA6", "\xE2\x91\xA6", "CIRCLED DIGIT SEVEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002467, "\xE2\x91\xA7", "\xE2\x91\xA7", "\xE2\x91\xA7", "CIRCLED DIGIT EIGHT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002468, "\xE2\x91\xA8", "\xE2\x91\xA8", "\xE2\x91\xA8", "CIRCLED DIGIT NINE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002469, "\xE2\x91\xA9", "\xE2\x91\xA9", "\xE2\x91\xA9", "CIRCLED NUMBER TEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000246A, "\xE2\x91\xAA", "\xE2\x91\xAA", "\xE2\x91\xAA", "CIRCLED NUMBER ELEVEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000246B, "\xE2\x91\xAB", "\xE2\x91\xAB", "\xE2\x91\xAB", "CIRCLED NUMBER TWELVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000246C, "\xE2\x91\xAC", "\xE2\x91\xAC", "\xE2\x91\xAC", "CIRCLED NUMBER THIRTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000246D, "\xE2\x91\xAD", "\xE2\x91\xAD", "\xE2\x91\xAD", "CIRCLED NUMBER FOURTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000246E, "\xE2\x91\xAE", "\xE2\x91\xAE", "\xE2\x91\xAE", "CIRCLED NUMBER FIFTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000246F, "\xE2\x91\xAF", "\xE2\x91\xAF", "\xE2\x91\xAF", "CIRCLED NUMBER SIXTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002470, "\xE2\x91\xB0", "\xE2\x91\xB0", "\xE2\x91\xB0", "CIRCLED NUMBER SEVENTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002471, "\xE2\x91\xB1", "\xE2\x91\xB1", "\xE2\x91\xB1", "CIRCLED NUMBER EIGHTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002472, "\xE2\x91\xB2", "\xE2\x91\xB2", "\xE2\x91\xB2", "CIRCLED NUMBER NINETEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002473, "\xE2\x91\xB3", "\xE2\x91\xB3", "\xE2\x91\xB3", "CIRCLED NUMBER TWENTY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002474, "\xE2\x91\xB4", "\xE2\x91\xB4", "\xE2\x91\xB4", "PARENTHESIZED DIGIT ONE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002475, "\xE2\x91\xB5", "\xE2\x91\xB5", "\xE2\x91\xB5", "PARENTHESIZED DIGIT TWO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002476, "\xE2\x91\xB6", "\xE2\x91\xB6", "\xE2\x91\xB6", "PARENTHESIZED DIGIT THREE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002477, "\xE2\x91\xB7", "\xE2\x91\xB7", "\xE2\x91\xB7", "PARENTHESIZED DIGIT FOUR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002478, "\xE2\x91\xB8", "\xE2\x91\xB8", "\xE2\x91\xB8", "PARENTHESIZED DIGIT FIVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002479, "\xE2\x91\xB9", "\xE2\x91\xB9", "\xE2\x91\xB9", "PARENTHESIZED DIGIT SIX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000247A, "\xE2\x91\xBA", "\xE2\x91\xBA", "\xE2\x91\xBA", "PARENTHESIZED DIGIT SEVEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000247B, "\xE2\x91\xBB", "\xE2\x91\xBB", "\xE2\x91\xBB", "PARENTHESIZED DIGIT EIGHT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000247C, "\xE2\x91\xBC", "\xE2\x91\xBC", "\xE2\x91\xBC", "PARENTHESIZED DIGIT NINE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000247D, "\xE2\x91\xBD", "\xE2\x91\xBD", "\xE2\x91\xBD", "PARENTHESIZED NUMBER TEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000247E, "\xE2\x91\xBE", "\xE2\x91\xBE", "\xE2\x91\xBE", "PARENTHESIZED NUMBER ELEVEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000247F, "\xE2\x91\xBF", "\xE2\x91\xBF", "\xE2\x91\xBF", "PARENTHESIZED NUMBER TWELVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002480, "\xE2\x92\x80", "\xE2\x92\x80", "\xE2\x92\x80", "PARENTHESIZED NUMBER THIRTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002481, "\xE2\x92\x81", "\xE2\x92\x81", "\xE2\x92\x81", "PARENTHESIZED NUMBER FOURTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002482, "\xE2\x92\x82", "\xE2\x92\x82", "\xE2\x92\x82", "PARENTHESIZED NUMBER FIFTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002483, "\xE2\x92\x83", "\xE2\x92\x83", "\xE2\x92\x83", "PARENTHESIZED NUMBER SIXTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002484, "\xE2\x92\x84", "\xE2\x92\x84", "\xE2\x92\x84", "PARENTHESIZED NUMBER SEVENTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002485, "\xE2\x92\x85", "\xE2\x92\x85", "\xE2\x92\x85", "PARENTHESIZED NUMBER EIGHTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002486, "\xE2\x92\x86", "\xE2\x92\x86", "\xE2\x92\x86", "PARENTHESIZED NUMBER NINETEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002487, "\xE2\x92\x87", "\xE2\x92\x87", "\xE2\x92\x87", "PARENTHESIZED NUMBER TWENTY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002488, "\xE2\x92\x88", "\xE2\x92\x88", "\xE2\x92\x88", "DIGIT ONE FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002489, "\xE2\x92\x89", "\xE2\x92\x89", "\xE2\x92\x89", "DIGIT TWO FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000248A, "\xE2\x92\x8A", "\xE2\x92\x8A", "\xE2\x92\x8A", "DIGIT THREE FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000248B, "\xE2\x92\x8B", "\xE2\x92\x8B", "\xE2\x92\x8B", "DIGIT FOUR FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000248C, "\xE2\x92\x8C", "\xE2\x92\x8C", "\xE2\x92\x8C", "DIGIT FIVE FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000248D, "\xE2\x92\x8D", "\xE2\x92\x8D", "\xE2\x92\x8D", "DIGIT SIX FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000248E, "\xE2\x92\x8E", "\xE2\x92\x8E", "\xE2\x92\x8E", "DIGIT SEVEN FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000248F, "\xE2\x92\x8F", "\xE2\x92\x8F", "\xE2\x92\x8F", "DIGIT EIGHT FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002490, "\xE2\x92\x90", "\xE2\x92\x90", "\xE2\x92\x90", "DIGIT NINE FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002491, "\xE2\x92\x91", "\xE2\x92\x91", "\xE2\x92\x91", "NUMBER TEN FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002492, "\xE2\x92\x92", "\xE2\x92\x92", "\xE2\x92\x92", "NUMBER ELEVEN FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002493, "\xE2\x92\x93", "\xE2\x92\x93", "\xE2\x92\x93", "NUMBER TWELVE FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002494, "\xE2\x92\x94", "\xE2\x92\x94", "\xE2\x92\x94", "NUMBER THIRTEEN FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002495, "\xE2\x92\x95", "\xE2\x92\x95", "\xE2\x92\x95", "NUMBER FOURTEEN FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002496, "\xE2\x92\x96", "\xE2\x92\x96", "\xE2\x92\x96", "NUMBER FIFTEEN FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002497, "\xE2\x92\x97", "\xE2\x92\x97", "\xE2\x92\x97", "NUMBER SIXTEEN FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002498, "\xE2\x92\x98", "\xE2\x92\x98", "\xE2\x92\x98", "NUMBER SEVENTEEN FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002499, "\xE2\x92\x99", "\xE2\x92\x99", "\xE2\x92\x99", "NUMBER EIGHTEEN FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000249A, "\xE2\x92\x9A", "\xE2\x92\x9A", "\xE2\x92\x9A", "NUMBER NINETEEN FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000249B, "\xE2\x92\x9B", "\xE2\x92\x9B", "\xE2\x92\x9B", "NUMBER TWENTY FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000249C, "\xE2\x92\x9C", "\xE2\x92\x9C", "\xE2\x92\x9C", "PARENTHESIZED LATIN SMALL LETTER A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000249D, "\xE2\x92\x9D", "\xE2\x92\x9D", "\xE2\x92\x9D", "PARENTHESIZED LATIN SMALL LETTER B");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000249E, "\xE2\x92\x9E", "\xE2\x92\x9E", "\xE2\x92\x9E", "PARENTHESIZED LATIN SMALL LETTER C");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000249F, "\xE2\x92\x9F", "\xE2\x92\x9F", "\xE2\x92\x9F", "PARENTHESIZED LATIN SMALL LETTER D");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024A0, "\xE2\x92\xA0", "\xE2\x92\xA0", "\xE2\x92\xA0", "PARENTHESIZED LATIN SMALL LETTER E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024A1, "\xE2\x92\xA1", "\xE2\x92\xA1", "\xE2\x92\xA1", "PARENTHESIZED LATIN SMALL LETTER F");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024A2, "\xE2\x92\xA2", "\xE2\x92\xA2", "\xE2\x92\xA2", "PARENTHESIZED LATIN SMALL LETTER G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024A3, "\xE2\x92\xA3", "\xE2\x92\xA3", "\xE2\x92\xA3", "PARENTHESIZED LATIN SMALL LETTER H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024A4, "\xE2\x92\xA4", "\xE2\x92\xA4", "\xE2\x92\xA4", "PARENTHESIZED LATIN SMALL LETTER I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024A5, "\xE2\x92\xA5", "\xE2\x92\xA5", "\xE2\x92\xA5", "PARENTHESIZED LATIN SMALL LETTER J");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024A6, "\xE2\x92\xA6", "\xE2\x92\xA6", "\xE2\x92\xA6", "PARENTHESIZED LATIN SMALL LETTER K");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024A7, "\xE2\x92\xA7", "\xE2\x92\xA7", "\xE2\x92\xA7", "PARENTHESIZED LATIN SMALL LETTER L");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024A8, "\xE2\x92\xA8", "\xE2\x92\xA8", "\xE2\x92\xA8", "PARENTHESIZED LATIN SMALL LETTER M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024A9, "\xE2\x92\xA9", "\xE2\x92\xA9", "\xE2\x92\xA9", "PARENTHESIZED LATIN SMALL LETTER N");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024AA, "\xE2\x92\xAA", "\xE2\x92\xAA", "\xE2\x92\xAA", "PARENTHESIZED LATIN SMALL LETTER O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024AB, "\xE2\x92\xAB", "\xE2\x92\xAB", "\xE2\x92\xAB", "PARENTHESIZED LATIN SMALL LETTER P");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024AC, "\xE2\x92\xAC", "\xE2\x92\xAC", "\xE2\x92\xAC", "PARENTHESIZED LATIN SMALL LETTER Q");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024AD, "\xE2\x92\xAD", "\xE2\x92\xAD", "\xE2\x92\xAD", "PARENTHESIZED LATIN SMALL LETTER R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024AE, "\xE2\x92\xAE", "\xE2\x92\xAE", "\xE2\x92\xAE", "PARENTHESIZED LATIN SMALL LETTER S");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024AF, "\xE2\x92\xAF", "\xE2\x92\xAF", "\xE2\x92\xAF", "PARENTHESIZED LATIN SMALL LETTER T");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024B0, "\xE2\x92\xB0", "\xE2\x92\xB0", "\xE2\x92\xB0", "PARENTHESIZED LATIN SMALL LETTER U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024B1, "\xE2\x92\xB1", "\xE2\x92\xB1", "\xE2\x92\xB1", "PARENTHESIZED LATIN SMALL LETTER V");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024B2, "\xE2\x92\xB2", "\xE2\x92\xB2", "\xE2\x92\xB2", "PARENTHESIZED LATIN SMALL LETTER W");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024B3, "\xE2\x92\xB3", "\xE2\x92\xB3", "\xE2\x92\xB3", "PARENTHESIZED LATIN SMALL LETTER X");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024B4, "\xE2\x92\xB4", "\xE2\x92\xB4", "\xE2\x92\xB4", "PARENTHESIZED LATIN SMALL LETTER Y");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024B5, "\xE2\x92\xB5", "\xE2\x92\xB5", "\xE2\x92\xB5", "PARENTHESIZED LATIN SMALL LETTER Z");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024B6, "\xE2\x93\x90", "\xE2\x92\xB6", "\xE2\x92\xB6", "CIRCLED LATIN CAPITAL LETTER A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024B7, "\xE2\x93\x91", "\xE2\x92\xB7", "\xE2\x92\xB7", "CIRCLED LATIN CAPITAL LETTER B");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024B8, "\xE2\x93\x92", "\xE2\x92\xB8", "\xE2\x92\xB8", "CIRCLED LATIN CAPITAL LETTER C");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024B9, "\xE2\x93\x93", "\xE2\x92\xB9", "\xE2\x92\xB9", "CIRCLED LATIN CAPITAL LETTER D");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024BA, "\xE2\x93\x94", "\xE2\x92\xBA", "\xE2\x92\xBA", "CIRCLED LATIN CAPITAL LETTER E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024BB, "\xE2\x93\x95", "\xE2\x92\xBB", "\xE2\x92\xBB", "CIRCLED LATIN CAPITAL LETTER F");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024BC, "\xE2\x93\x96", "\xE2\x92\xBC", "\xE2\x92\xBC", "CIRCLED LATIN CAPITAL LETTER G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024BD, "\xE2\x93\x97", "\xE2\x92\xBD", "\xE2\x92\xBD", "CIRCLED LATIN CAPITAL LETTER H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024BE, "\xE2\x93\x98", "\xE2\x92\xBE", "\xE2\x92\xBE", "CIRCLED LATIN CAPITAL LETTER I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024BF, "\xE2\x93\x99", "\xE2\x92\xBF", "\xE2\x92\xBF", "CIRCLED LATIN CAPITAL LETTER J");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024C0, "\xE2\x93\x9A", "\xE2\x93\x80", "\xE2\x93\x80", "CIRCLED LATIN CAPITAL LETTER K");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024C1, "\xE2\x93\x9B", "\xE2\x93\x81", "\xE2\x93\x81", "CIRCLED LATIN CAPITAL LETTER L");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024C2, "\xE2\x93\x9C", "\xE2\x93\x82", "\xE2\x93\x82", "CIRCLED LATIN CAPITAL LETTER M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024C3, "\xE2\x93\x9D", "\xE2\x93\x83", "\xE2\x93\x83", "CIRCLED LATIN CAPITAL LETTER N");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024C4, "\xE2\x93\x9E", "\xE2\x93\x84", "\xE2\x93\x84", "CIRCLED LATIN CAPITAL LETTER O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024C5, "\xE2\x93\x9F", "\xE2\x93\x85", "\xE2\x93\x85", "CIRCLED LATIN CAPITAL LETTER P");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024C6, "\xE2\x93\xA0", "\xE2\x93\x86", "\xE2\x93\x86", "CIRCLED LATIN CAPITAL LETTER Q");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024C7, "\xE2\x93\xA1", "\xE2\x93\x87", "\xE2\x93\x87", "CIRCLED LATIN CAPITAL LETTER R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024C8, "\xE2\x93\xA2", "\xE2\x93\x88", "\xE2\x93\x88", "CIRCLED LATIN CAPITAL LETTER S");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024C9, "\xE2\x93\xA3", "\xE2\x93\x89", "\xE2\x93\x89", "CIRCLED LATIN CAPITAL LETTER T");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024CA, "\xE2\x93\xA4", "\xE2\x93\x8A", "\xE2\x93\x8A", "CIRCLED LATIN CAPITAL LETTER U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024CB, "\xE2\x93\xA5", "\xE2\x93\x8B", "\xE2\x93\x8B", "CIRCLED LATIN CAPITAL LETTER V");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024CC, "\xE2\x93\xA6", "\xE2\x93\x8C", "\xE2\x93\x8C", "CIRCLED LATIN CAPITAL LETTER W");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024CD, "\xE2\x93\xA7", "\xE2\x93\x8D", "\xE2\x93\x8D", "CIRCLED LATIN CAPITAL LETTER X");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024CE, "\xE2\x93\xA8", "\xE2\x93\x8E", "\xE2\x93\x8E", "CIRCLED LATIN CAPITAL LETTER Y");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024CF, "\xE2\x93\xA9", "\xE2\x93\x8F", "\xE2\x93\x8F", "CIRCLED LATIN CAPITAL LETTER Z");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024D0, "\xE2\x93\x90", "\xE2\x92\xB6", "\xE2\x92\xB6", "CIRCLED LATIN SMALL LETTER A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024D1, "\xE2\x93\x91", "\xE2\x92\xB7", "\xE2\x92\xB7", "CIRCLED LATIN SMALL LETTER B");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024D2, "\xE2\x93\x92", "\xE2\x92\xB8", "\xE2\x92\xB8", "CIRCLED LATIN SMALL LETTER C");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024D3, "\xE2\x93\x93", "\xE2\x92\xB9", "\xE2\x92\xB9", "CIRCLED LATIN SMALL LETTER D");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024D4, "\xE2\x93\x94", "\xE2\x92\xBA", "\xE2\x92\xBA", "CIRCLED LATIN SMALL LETTER E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024D5, "\xE2\x93\x95", "\xE2\x92\xBB", "\xE2\x92\xBB", "CIRCLED LATIN SMALL LETTER F");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024D6, "\xE2\x93\x96", "\xE2\x92\xBC", "\xE2\x92\xBC", "CIRCLED LATIN SMALL LETTER G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024D7, "\xE2\x93\x97", "\xE2\x92\xBD", "\xE2\x92\xBD", "CIRCLED LATIN SMALL LETTER H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024D8, "\xE2\x93\x98", "\xE2\x92\xBE", "\xE2\x92\xBE", "CIRCLED LATIN SMALL LETTER I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024D9, "\xE2\x93\x99", "\xE2\x92\xBF", "\xE2\x92\xBF", "CIRCLED LATIN SMALL LETTER J");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024DA, "\xE2\x93\x9A", "\xE2\x93\x80", "\xE2\x93\x80", "CIRCLED LATIN SMALL LETTER K");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024DB, "\xE2\x93\x9B", "\xE2\x93\x81", "\xE2\x93\x81", "CIRCLED LATIN SMALL LETTER L");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024DC, "\xE2\x93\x9C", "\xE2\x93\x82", "\xE2\x93\x82", "CIRCLED LATIN SMALL LETTER M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024DD, "\xE2\x93\x9D", "\xE2\x93\x83", "\xE2\x93\x83", "CIRCLED LATIN SMALL LETTER N");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024DE, "\xE2\x93\x9E", "\xE2\x93\x84", "\xE2\x93\x84", "CIRCLED LATIN SMALL LETTER O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024DF, "\xE2\x93\x9F", "\xE2\x93\x85", "\xE2\x93\x85", "CIRCLED LATIN SMALL LETTER P");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024E0, "\xE2\x93\xA0", "\xE2\x93\x86", "\xE2\x93\x86", "CIRCLED LATIN SMALL LETTER Q");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024E1, "\xE2\x93\xA1", "\xE2\x93\x87", "\xE2\x93\x87", "CIRCLED LATIN SMALL LETTER R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024E2, "\xE2\x93\xA2", "\xE2\x93\x88", "\xE2\x93\x88", "CIRCLED LATIN SMALL LETTER S");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024E3, "\xE2\x93\xA3", "\xE2\x93\x89", "\xE2\x93\x89", "CIRCLED LATIN SMALL LETTER T");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024E4, "\xE2\x93\xA4", "\xE2\x93\x8A", "\xE2\x93\x8A", "CIRCLED LATIN SMALL LETTER U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024E5, "\xE2\x93\xA5", "\xE2\x93\x8B", "\xE2\x93\x8B", "CIRCLED LATIN SMALL LETTER V");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024E6, "\xE2\x93\xA6", "\xE2\x93\x8C", "\xE2\x93\x8C", "CIRCLED LATIN SMALL LETTER W");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024E7, "\xE2\x93\xA7", "\xE2\x93\x8D", "\xE2\x93\x8D", "CIRCLED LATIN SMALL LETTER X");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024E8, "\xE2\x93\xA8", "\xE2\x93\x8E", "\xE2\x93\x8E", "CIRCLED LATIN SMALL LETTER Y");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024E9, "\xE2\x93\xA9", "\xE2\x93\x8F", "\xE2\x93\x8F", "CIRCLED LATIN SMALL LETTER Z");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024EA, "\xE2\x93\xAA", "\xE2\x93\xAA", "\xE2\x93\xAA", "CIRCLED DIGIT ZERO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024EB, "\xE2\x93\xAB", "\xE2\x93\xAB", "\xE2\x93\xAB", "NEGATIVE CIRCLED NUMBER ELEVEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024EC, "\xE2\x93\xAC", "\xE2\x93\xAC", "\xE2\x93\xAC", "NEGATIVE CIRCLED NUMBER TWELVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024ED, "\xE2\x93\xAD", "\xE2\x93\xAD", "\xE2\x93\xAD", "NEGATIVE CIRCLED NUMBER THIRTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024EE, "\xE2\x93\xAE", "\xE2\x93\xAE", "\xE2\x93\xAE", "NEGATIVE CIRCLED NUMBER FOURTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024EF, "\xE2\x93\xAF", "\xE2\x93\xAF", "\xE2\x93\xAF", "NEGATIVE CIRCLED NUMBER FIFTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024F0, "\xE2\x93\xB0", "\xE2\x93\xB0", "\xE2\x93\xB0", "NEGATIVE CIRCLED NUMBER SIXTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024F1, "\xE2\x93\xB1", "\xE2\x93\xB1", "\xE2\x93\xB1", "NEGATIVE CIRCLED NUMBER SEVENTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024F2, "\xE2\x93\xB2", "\xE2\x93\xB2", "\xE2\x93\xB2", "NEGATIVE CIRCLED NUMBER EIGHTEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024F3, "\xE2\x93\xB3", "\xE2\x93\xB3", "\xE2\x93\xB3", "NEGATIVE CIRCLED NUMBER NINETEEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024F4, "\xE2\x93\xB4", "\xE2\x93\xB4", "\xE2\x93\xB4", "NEGATIVE CIRCLED NUMBER TWENTY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024F5, "\xE2\x93\xB5", "\xE2\x93\xB5", "\xE2\x93\xB5", "DOUBLE CIRCLED DIGIT ONE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024F6, "\xE2\x93\xB6", "\xE2\x93\xB6", "\xE2\x93\xB6", "DOUBLE CIRCLED DIGIT TWO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024F7, "\xE2\x93\xB7", "\xE2\x93\xB7", "\xE2\x93\xB7", "DOUBLE CIRCLED DIGIT THREE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024F8, "\xE2\x93\xB8", "\xE2\x93\xB8", "\xE2\x93\xB8", "DOUBLE CIRCLED DIGIT FOUR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024F9, "\xE2\x93\xB9", "\xE2\x93\xB9", "\xE2\x93\xB9", "DOUBLE CIRCLED DIGIT FIVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024FA, "\xE2\x93\xBA", "\xE2\x93\xBA", "\xE2\x93\xBA", "DOUBLE CIRCLED DIGIT SIX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024FB, "\xE2\x93\xBB", "\xE2\x93\xBB", "\xE2\x93\xBB", "DOUBLE CIRCLED DIGIT SEVEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024FC, "\xE2\x93\xBC", "\xE2\x93\xBC", "\xE2\x93\xBC", "DOUBLE CIRCLED DIGIT EIGHT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024FD, "\xE2\x93\xBD", "\xE2\x93\xBD", "\xE2\x93\xBD", "DOUBLE CIRCLED DIGIT NINE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024FE, "\xE2\x93\xBE", "\xE2\x93\xBE", "\xE2\x93\xBE", "DOUBLE CIRCLED NUMBER TEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000024FF, "\xE2\x93\xBF", "\xE2\x93\xBF", "\xE2\x93\xBF", "NEGATIVE CIRCLED DIGIT ZERO");
  }
  
  TEST_F(CaseMapping, Glagolitic)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C00, "\xE2\xB0\xB0", "\xE2\xB0\x80", "\xE2\xB0\x80", "GLAGOLITIC CAPITAL LETTER AZU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C01, "\xE2\xB0\xB1", "\xE2\xB0\x81", "\xE2\xB0\x81", "GLAGOLITIC CAPITAL LETTER BUKY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C02, "\xE2\xB0\xB2", "\xE2\xB0\x82", "\xE2\xB0\x82", "GLAGOLITIC CAPITAL LETTER VEDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C03, "\xE2\xB0\xB3", "\xE2\xB0\x83", "\xE2\xB0\x83", "GLAGOLITIC CAPITAL LETTER GLAGOLI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C04, "\xE2\xB0\xB4", "\xE2\xB0\x84", "\xE2\xB0\x84", "GLAGOLITIC CAPITAL LETTER DOBRO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C05, "\xE2\xB0\xB5", "\xE2\xB0\x85", "\xE2\xB0\x85", "GLAGOLITIC CAPITAL LETTER YESTU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C06, "\xE2\xB0\xB6", "\xE2\xB0\x86", "\xE2\xB0\x86", "GLAGOLITIC CAPITAL LETTER ZHIVETE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C07, "\xE2\xB0\xB7", "\xE2\xB0\x87", "\xE2\xB0\x87", "GLAGOLITIC CAPITAL LETTER DZELO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C08, "\xE2\xB0\xB8", "\xE2\xB0\x88", "\xE2\xB0\x88", "GLAGOLITIC CAPITAL LETTER ZEMLJA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C09, "\xE2\xB0\xB9", "\xE2\xB0\x89", "\xE2\xB0\x89", "GLAGOLITIC CAPITAL LETTER IZHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C0A, "\xE2\xB0\xBA", "\xE2\xB0\x8A", "\xE2\xB0\x8A", "GLAGOLITIC CAPITAL LETTER INITIAL IZHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C0B, "\xE2\xB0\xBB", "\xE2\xB0\x8B", "\xE2\xB0\x8B", "GLAGOLITIC CAPITAL LETTER I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C0C, "\xE2\xB0\xBC", "\xE2\xB0\x8C", "\xE2\xB0\x8C", "GLAGOLITIC CAPITAL LETTER DJERVI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C0D, "\xE2\xB0\xBD", "\xE2\xB0\x8D", "\xE2\xB0\x8D", "GLAGOLITIC CAPITAL LETTER KAKO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C0E, "\xE2\xB0\xBE", "\xE2\xB0\x8E", "\xE2\xB0\x8E", "GLAGOLITIC CAPITAL LETTER LJUDIJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C0F, "\xE2\xB0\xBF", "\xE2\xB0\x8F", "\xE2\xB0\x8F", "GLAGOLITIC CAPITAL LETTER MYSLITE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C10, "\xE2\xB1\x80", "\xE2\xB0\x90", "\xE2\xB0\x90", "GLAGOLITIC CAPITAL LETTER NASHI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C11, "\xE2\xB1\x81", "\xE2\xB0\x91", "\xE2\xB0\x91", "GLAGOLITIC CAPITAL LETTER ONU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C12, "\xE2\xB1\x82", "\xE2\xB0\x92", "\xE2\xB0\x92", "GLAGOLITIC CAPITAL LETTER POKOJI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C13, "\xE2\xB1\x83", "\xE2\xB0\x93", "\xE2\xB0\x93", "GLAGOLITIC CAPITAL LETTER RITSI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C14, "\xE2\xB1\x84", "\xE2\xB0\x94", "\xE2\xB0\x94", "GLAGOLITIC CAPITAL LETTER SLOVO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C15, "\xE2\xB1\x85", "\xE2\xB0\x95", "\xE2\xB0\x95", "GLAGOLITIC CAPITAL LETTER TVRIDO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C16, "\xE2\xB1\x86", "\xE2\xB0\x96", "\xE2\xB0\x96", "GLAGOLITIC CAPITAL LETTER UKU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C17, "\xE2\xB1\x87", "\xE2\xB0\x97", "\xE2\xB0\x97", "GLAGOLITIC CAPITAL LETTER FRITU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C18, "\xE2\xB1\x88", "\xE2\xB0\x98", "\xE2\xB0\x98", "GLAGOLITIC CAPITAL LETTER HERU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C19, "\xE2\xB1\x89", "\xE2\xB0\x99", "\xE2\xB0\x99", "GLAGOLITIC CAPITAL LETTER OTU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C1A, "\xE2\xB1\x8A", "\xE2\xB0\x9A", "\xE2\xB0\x9A", "GLAGOLITIC CAPITAL LETTER PE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C1B, "\xE2\xB1\x8B", "\xE2\xB0\x9B", "\xE2\xB0\x9B", "GLAGOLITIC CAPITAL LETTER SHTA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C1C, "\xE2\xB1\x8C", "\xE2\xB0\x9C", "\xE2\xB0\x9C", "GLAGOLITIC CAPITAL LETTER TSI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C1D, "\xE2\xB1\x8D", "\xE2\xB0\x9D", "\xE2\xB0\x9D", "GLAGOLITIC CAPITAL LETTER CHRIVI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C1E, "\xE2\xB1\x8E", "\xE2\xB0\x9E", "\xE2\xB0\x9E", "GLAGOLITIC CAPITAL LETTER SHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C1F, "\xE2\xB1\x8F", "\xE2\xB0\x9F", "\xE2\xB0\x9F", "GLAGOLITIC CAPITAL LETTER YERU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C20, "\xE2\xB1\x90", "\xE2\xB0\xA0", "\xE2\xB0\xA0", "GLAGOLITIC CAPITAL LETTER YERI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C21, "\xE2\xB1\x91", "\xE2\xB0\xA1", "\xE2\xB0\xA1", "GLAGOLITIC CAPITAL LETTER YATI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C22, "\xE2\xB1\x92", "\xE2\xB0\xA2", "\xE2\xB0\xA2", "GLAGOLITIC CAPITAL LETTER SPIDERY HA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C23, "\xE2\xB1\x93", "\xE2\xB0\xA3", "\xE2\xB0\xA3", "GLAGOLITIC CAPITAL LETTER YU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C24, "\xE2\xB1\x94", "\xE2\xB0\xA4", "\xE2\xB0\xA4", "GLAGOLITIC CAPITAL LETTER SMALL YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C25, "\xE2\xB1\x95", "\xE2\xB0\xA5", "\xE2\xB0\xA5", "GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C26, "\xE2\xB1\x96", "\xE2\xB0\xA6", "\xE2\xB0\xA6", "GLAGOLITIC CAPITAL LETTER YO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C27, "\xE2\xB1\x97", "\xE2\xB0\xA7", "\xE2\xB0\xA7", "GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C28, "\xE2\xB1\x98", "\xE2\xB0\xA8", "\xE2\xB0\xA8", "GLAGOLITIC CAPITAL LETTER BIG YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C29, "\xE2\xB1\x99", "\xE2\xB0\xA9", "\xE2\xB0\xA9", "GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C2A, "\xE2\xB1\x9A", "\xE2\xB0\xAA", "\xE2\xB0\xAA", "GLAGOLITIC CAPITAL LETTER FITA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C2B, "\xE2\xB1\x9B", "\xE2\xB0\xAB", "\xE2\xB0\xAB", "GLAGOLITIC CAPITAL LETTER IZHITSA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C2C, "\xE2\xB1\x9C", "\xE2\xB0\xAC", "\xE2\xB0\xAC", "GLAGOLITIC CAPITAL LETTER SHTAPIC");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C2D, "\xE2\xB1\x9D", "\xE2\xB0\xAD", "\xE2\xB0\xAD", "GLAGOLITIC CAPITAL LETTER TROKUTASTI A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C2E, "\xE2\xB1\x9E", "\xE2\xB0\xAE", "\xE2\xB0\xAE", "GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C30, "\xE2\xB0\xB0", "\xE2\xB0\x80", "\xE2\xB0\x80", "GLAGOLITIC SMALL LETTER AZU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C31, "\xE2\xB0\xB1", "\xE2\xB0\x81", "\xE2\xB0\x81", "GLAGOLITIC SMALL LETTER BUKY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C32, "\xE2\xB0\xB2", "\xE2\xB0\x82", "\xE2\xB0\x82", "GLAGOLITIC SMALL LETTER VEDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C33, "\xE2\xB0\xB3", "\xE2\xB0\x83", "\xE2\xB0\x83", "GLAGOLITIC SMALL LETTER GLAGOLI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C34, "\xE2\xB0\xB4", "\xE2\xB0\x84", "\xE2\xB0\x84", "GLAGOLITIC SMALL LETTER DOBRO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C35, "\xE2\xB0\xB5", "\xE2\xB0\x85", "\xE2\xB0\x85", "GLAGOLITIC SMALL LETTER YESTU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C36, "\xE2\xB0\xB6", "\xE2\xB0\x86", "\xE2\xB0\x86", "GLAGOLITIC SMALL LETTER ZHIVETE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C37, "\xE2\xB0\xB7", "\xE2\xB0\x87", "\xE2\xB0\x87", "GLAGOLITIC SMALL LETTER DZELO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C38, "\xE2\xB0\xB8", "\xE2\xB0\x88", "\xE2\xB0\x88", "GLAGOLITIC SMALL LETTER ZEMLJA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C39, "\xE2\xB0\xB9", "\xE2\xB0\x89", "\xE2\xB0\x89", "GLAGOLITIC SMALL LETTER IZHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C3A, "\xE2\xB0\xBA", "\xE2\xB0\x8A", "\xE2\xB0\x8A", "GLAGOLITIC SMALL LETTER INITIAL IZHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C3B, "\xE2\xB0\xBB", "\xE2\xB0\x8B", "\xE2\xB0\x8B", "GLAGOLITIC SMALL LETTER I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C3C, "\xE2\xB0\xBC", "\xE2\xB0\x8C", "\xE2\xB0\x8C", "GLAGOLITIC SMALL LETTER DJERVI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C3D, "\xE2\xB0\xBD", "\xE2\xB0\x8D", "\xE2\xB0\x8D", "GLAGOLITIC SMALL LETTER KAKO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C3E, "\xE2\xB0\xBE", "\xE2\xB0\x8E", "\xE2\xB0\x8E", "GLAGOLITIC SMALL LETTER LJUDIJE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C3F, "\xE2\xB0\xBF", "\xE2\xB0\x8F", "\xE2\xB0\x8F", "GLAGOLITIC SMALL LETTER MYSLITE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C40, "\xE2\xB1\x80", "\xE2\xB0\x90", "\xE2\xB0\x90", "GLAGOLITIC SMALL LETTER NASHI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C41, "\xE2\xB1\x81", "\xE2\xB0\x91", "\xE2\xB0\x91", "GLAGOLITIC SMALL LETTER ONU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C42, "\xE2\xB1\x82", "\xE2\xB0\x92", "\xE2\xB0\x92", "GLAGOLITIC SMALL LETTER POKOJI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C43, "\xE2\xB1\x83", "\xE2\xB0\x93", "\xE2\xB0\x93", "GLAGOLITIC SMALL LETTER RITSI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C44, "\xE2\xB1\x84", "\xE2\xB0\x94", "\xE2\xB0\x94", "GLAGOLITIC SMALL LETTER SLOVO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C45, "\xE2\xB1\x85", "\xE2\xB0\x95", "\xE2\xB0\x95", "GLAGOLITIC SMALL LETTER TVRIDO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C46, "\xE2\xB1\x86", "\xE2\xB0\x96", "\xE2\xB0\x96", "GLAGOLITIC SMALL LETTER UKU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C47, "\xE2\xB1\x87", "\xE2\xB0\x97", "\xE2\xB0\x97", "GLAGOLITIC SMALL LETTER FRITU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C48, "\xE2\xB1\x88", "\xE2\xB0\x98", "\xE2\xB0\x98", "GLAGOLITIC SMALL LETTER HERU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C49, "\xE2\xB1\x89", "\xE2\xB0\x99", "\xE2\xB0\x99", "GLAGOLITIC SMALL LETTER OTU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C4A, "\xE2\xB1\x8A", "\xE2\xB0\x9A", "\xE2\xB0\x9A", "GLAGOLITIC SMALL LETTER PE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C4B, "\xE2\xB1\x8B", "\xE2\xB0\x9B", "\xE2\xB0\x9B", "GLAGOLITIC SMALL LETTER SHTA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C4C, "\xE2\xB1\x8C", "\xE2\xB0\x9C", "\xE2\xB0\x9C", "GLAGOLITIC SMALL LETTER TSI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C4D, "\xE2\xB1\x8D", "\xE2\xB0\x9D", "\xE2\xB0\x9D", "GLAGOLITIC SMALL LETTER CHRIVI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C4E, "\xE2\xB1\x8E", "\xE2\xB0\x9E", "\xE2\xB0\x9E", "GLAGOLITIC SMALL LETTER SHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C4F, "\xE2\xB1\x8F", "\xE2\xB0\x9F", "\xE2\xB0\x9F", "GLAGOLITIC SMALL LETTER YERU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C50, "\xE2\xB1\x90", "\xE2\xB0\xA0", "\xE2\xB0\xA0", "GLAGOLITIC SMALL LETTER YERI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C51, "\xE2\xB1\x91", "\xE2\xB0\xA1", "\xE2\xB0\xA1", "GLAGOLITIC SMALL LETTER YATI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C52, "\xE2\xB1\x92", "\xE2\xB0\xA2", "\xE2\xB0\xA2", "GLAGOLITIC SMALL LETTER SPIDERY HA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C53, "\xE2\xB1\x93", "\xE2\xB0\xA3", "\xE2\xB0\xA3", "GLAGOLITIC SMALL LETTER YU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C54, "\xE2\xB1\x94", "\xE2\xB0\xA4", "\xE2\xB0\xA4", "GLAGOLITIC SMALL LETTER SMALL YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C55, "\xE2\xB1\x95", "\xE2\xB0\xA5", "\xE2\xB0\xA5", "GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C56, "\xE2\xB1\x96", "\xE2\xB0\xA6", "\xE2\xB0\xA6", "GLAGOLITIC SMALL LETTER YO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C57, "\xE2\xB1\x97", "\xE2\xB0\xA7", "\xE2\xB0\xA7", "GLAGOLITIC SMALL LETTER IOTATED SMALL YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C58, "\xE2\xB1\x98", "\xE2\xB0\xA8", "\xE2\xB0\xA8", "GLAGOLITIC SMALL LETTER BIG YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C59, "\xE2\xB1\x99", "\xE2\xB0\xA9", "\xE2\xB0\xA9", "GLAGOLITIC SMALL LETTER IOTATED BIG YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C5A, "\xE2\xB1\x9A", "\xE2\xB0\xAA", "\xE2\xB0\xAA", "GLAGOLITIC SMALL LETTER FITA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C5B, "\xE2\xB1\x9B", "\xE2\xB0\xAB", "\xE2\xB0\xAB", "GLAGOLITIC SMALL LETTER IZHITSA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C5C, "\xE2\xB1\x9C", "\xE2\xB0\xAC", "\xE2\xB0\xAC", "GLAGOLITIC SMALL LETTER SHTAPIC");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C5D, "\xE2\xB1\x9D", "\xE2\xB0\xAD", "\xE2\xB0\xAD", "GLAGOLITIC SMALL LETTER TROKUTASTI A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C5E, "\xE2\xB1\x9E", "\xE2\xB0\xAE", "\xE2\xB0\xAE", "GLAGOLITIC SMALL LETTER LATINATE MYSLITE");
  }
  
  TEST_F(CaseMapping, LatinExtendedC)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C60, "\xE2\xB1\xA1", "\xE2\xB1\xA0", "\xE2\xB1\xA0", "LATIN CAPITAL LETTER L WITH DOUBLE BAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C61, "\xE2\xB1\xA1", "\xE2\xB1\xA0", "\xE2\xB1\xA0", "LATIN SMALL LETTER L WITH DOUBLE BAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C62, "\xC9\xAB", "\xE2\xB1\xA2", "\xE2\xB1\xA2", "LATIN CAPITAL LETTER L WITH MIDDLE TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C63, "\xE1\xB5\xBD", "\xE2\xB1\xA3", "\xE2\xB1\xA3", "LATIN CAPITAL LETTER P WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C64, "\xC9\xBD", "\xE2\xB1\xA4", "\xE2\xB1\xA4", "LATIN CAPITAL LETTER R WITH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C65, "\xE2\xB1\xA5", "\xC8\xBA", "\xC8\xBA", "LATIN SMALL LETTER A WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C66, "\xE2\xB1\xA6", "\xC8\xBE", "\xC8\xBE", "LATIN SMALL LETTER T WITH DIAGONAL STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C67, "\xE2\xB1\xA8", "\xE2\xB1\xA7", "\xE2\xB1\xA7", "LATIN CAPITAL LETTER H WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C68, "\xE2\xB1\xA8", "\xE2\xB1\xA7", "\xE2\xB1\xA7", "LATIN SMALL LETTER H WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C69, "\xE2\xB1\xAA", "\xE2\xB1\xA9", "\xE2\xB1\xA9", "LATIN CAPITAL LETTER K WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C6A, "\xE2\xB1\xAA", "\xE2\xB1\xA9", "\xE2\xB1\xA9", "LATIN SMALL LETTER K WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C6B, "\xE2\xB1\xAC", "\xE2\xB1\xAB", "\xE2\xB1\xAB", "LATIN CAPITAL LETTER Z WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C6C, "\xE2\xB1\xAC", "\xE2\xB1\xAB", "\xE2\xB1\xAB", "LATIN SMALL LETTER Z WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C6D, "\xC9\x91", "\xE2\xB1\xAD", "\xE2\xB1\xAD", "LATIN CAPITAL LETTER ALPHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C6E, "\xC9\xB1", "\xE2\xB1\xAE", "\xE2\xB1\xAE", "LATIN CAPITAL LETTER M WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C6F, "\xC9\x90", "\xE2\xB1\xAF", "\xE2\xB1\xAF", "LATIN CAPITAL LETTER TURNED A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C70, "\xC9\x92", "\xE2\xB1\xB0", "\xE2\xB1\xB0", "LATIN CAPITAL LETTER TURNED ALPHA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C71, "\xE2\xB1\xB1", "\xE2\xB1\xB1", "\xE2\xB1\xB1", "LATIN SMALL LETTER V WITH RIGHT HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C72, "\xE2\xB1\xB3", "\xE2\xB1\xB2", "\xE2\xB1\xB2", "LATIN CAPITAL LETTER W WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C73, "\xE2\xB1\xB3", "\xE2\xB1\xB2", "\xE2\xB1\xB2", "LATIN SMALL LETTER W WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C74, "\xE2\xB1\xB4", "\xE2\xB1\xB4", "\xE2\xB1\xB4", "LATIN SMALL LETTER V WITH CURL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C75, "\xE2\xB1\xB6", "\xE2\xB1\xB5", "\xE2\xB1\xB5", "LATIN CAPITAL LETTER HALF H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C76, "\xE2\xB1\xB6", "\xE2\xB1\xB5", "\xE2\xB1\xB5", "LATIN SMALL LETTER HALF H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C77, "\xE2\xB1\xB7", "\xE2\xB1\xB7", "\xE2\xB1\xB7", "LATIN SMALL LETTER TAILLESS PHI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C78, "\xE2\xB1\xB8", "\xE2\xB1\xB8", "\xE2\xB1\xB8", "LATIN SMALL LETTER E WITH NOTCH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C79, "\xE2\xB1\xB9", "\xE2\xB1\xB9", "\xE2\xB1\xB9", "LATIN SMALL LETTER TURNED R WITH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C7A, "\xE2\xB1\xBA", "\xE2\xB1\xBA", "\xE2\xB1\xBA", "LATIN SMALL LETTER O WITH LOW RING INSIDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C7B, "\xE2\xB1\xBB", "\xE2\xB1\xBB", "\xE2\xB1\xBB", "LATIN LETTER SMALL CAPITAL TURNED E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C7C, "\xE2\xB1\xBC", "\xE2\xB1\xBC", "\xE2\xB1\xBC", "LATIN SUBSCRIPT SMALL LETTER J");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C7D, "\xE2\xB1\xBD", "\xE2\xB1\xBD", "\xE2\xB1\xBD", "MODIFIER LETTER CAPITAL V");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C7E, "\xC8\xBF", "\xE2\xB1\xBE", "\xE2\xB1\xBE", "LATIN CAPITAL LETTER S WITH SWASH TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C7F, "\xC9\x80", "\xE2\xB1\xBF", "\xE2\xB1\xBF", "LATIN CAPITAL LETTER Z WITH SWASH TAIL");
  }
  
  TEST_F(CaseMapping, Coptic)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C80, "\xE2\xB2\x81", "\xE2\xB2\x80", "\xE2\xB2\x80", "COPTIC CAPITAL LETTER ALFA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C81, "\xE2\xB2\x81", "\xE2\xB2\x80", "\xE2\xB2\x80", "COPTIC SMALL LETTER ALFA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C82, "\xE2\xB2\x83", "\xE2\xB2\x82", "\xE2\xB2\x82", "COPTIC CAPITAL LETTER VIDA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C83, "\xE2\xB2\x83", "\xE2\xB2\x82", "\xE2\xB2\x82", "COPTIC SMALL LETTER VIDA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C84, "\xE2\xB2\x85", "\xE2\xB2\x84", "\xE2\xB2\x84", "COPTIC CAPITAL LETTER GAMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C85, "\xE2\xB2\x85", "\xE2\xB2\x84", "\xE2\xB2\x84", "COPTIC SMALL LETTER GAMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C86, "\xE2\xB2\x87", "\xE2\xB2\x86", "\xE2\xB2\x86", "COPTIC CAPITAL LETTER DALDA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C87, "\xE2\xB2\x87", "\xE2\xB2\x86", "\xE2\xB2\x86", "COPTIC SMALL LETTER DALDA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C88, "\xE2\xB2\x89", "\xE2\xB2\x88", "\xE2\xB2\x88", "COPTIC CAPITAL LETTER EIE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C89, "\xE2\xB2\x89", "\xE2\xB2\x88", "\xE2\xB2\x88", "COPTIC SMALL LETTER EIE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C8A, "\xE2\xB2\x8B", "\xE2\xB2\x8A", "\xE2\xB2\x8A", "COPTIC CAPITAL LETTER SOU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C8B, "\xE2\xB2\x8B", "\xE2\xB2\x8A", "\xE2\xB2\x8A", "COPTIC SMALL LETTER SOU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C8C, "\xE2\xB2\x8D", "\xE2\xB2\x8C", "\xE2\xB2\x8C", "COPTIC CAPITAL LETTER ZATA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C8D, "\xE2\xB2\x8D", "\xE2\xB2\x8C", "\xE2\xB2\x8C", "COPTIC SMALL LETTER ZATA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C8E, "\xE2\xB2\x8F", "\xE2\xB2\x8E", "\xE2\xB2\x8E", "COPTIC CAPITAL LETTER HATE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C8F, "\xE2\xB2\x8F", "\xE2\xB2\x8E", "\xE2\xB2\x8E", "COPTIC SMALL LETTER HATE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C90, "\xE2\xB2\x91", "\xE2\xB2\x90", "\xE2\xB2\x90", "COPTIC CAPITAL LETTER THETHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C91, "\xE2\xB2\x91", "\xE2\xB2\x90", "\xE2\xB2\x90", "COPTIC SMALL LETTER THETHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C92, "\xE2\xB2\x93", "\xE2\xB2\x92", "\xE2\xB2\x92", "COPTIC CAPITAL LETTER IAUDA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C93, "\xE2\xB2\x93", "\xE2\xB2\x92", "\xE2\xB2\x92", "COPTIC SMALL LETTER IAUDA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C94, "\xE2\xB2\x95", "\xE2\xB2\x94", "\xE2\xB2\x94", "COPTIC CAPITAL LETTER KAPA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C95, "\xE2\xB2\x95", "\xE2\xB2\x94", "\xE2\xB2\x94", "COPTIC SMALL LETTER KAPA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C96, "\xE2\xB2\x97", "\xE2\xB2\x96", "\xE2\xB2\x96", "COPTIC CAPITAL LETTER LAULA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C97, "\xE2\xB2\x97", "\xE2\xB2\x96", "\xE2\xB2\x96", "COPTIC SMALL LETTER LAULA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C98, "\xE2\xB2\x99", "\xE2\xB2\x98", "\xE2\xB2\x98", "COPTIC CAPITAL LETTER MI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C99, "\xE2\xB2\x99", "\xE2\xB2\x98", "\xE2\xB2\x98", "COPTIC SMALL LETTER MI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C9A, "\xE2\xB2\x9B", "\xE2\xB2\x9A", "\xE2\xB2\x9A", "COPTIC CAPITAL LETTER NI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C9B, "\xE2\xB2\x9B", "\xE2\xB2\x9A", "\xE2\xB2\x9A", "COPTIC SMALL LETTER NI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C9C, "\xE2\xB2\x9D", "\xE2\xB2\x9C", "\xE2\xB2\x9C", "COPTIC CAPITAL LETTER KSI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C9D, "\xE2\xB2\x9D", "\xE2\xB2\x9C", "\xE2\xB2\x9C", "COPTIC SMALL LETTER KSI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C9E, "\xE2\xB2\x9F", "\xE2\xB2\x9E", "\xE2\xB2\x9E", "COPTIC CAPITAL LETTER O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002C9F, "\xE2\xB2\x9F", "\xE2\xB2\x9E", "\xE2\xB2\x9E", "COPTIC SMALL LETTER O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CA0, "\xE2\xB2\xA1", "\xE2\xB2\xA0", "\xE2\xB2\xA0", "COPTIC CAPITAL LETTER PI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CA1, "\xE2\xB2\xA1", "\xE2\xB2\xA0", "\xE2\xB2\xA0", "COPTIC SMALL LETTER PI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CA2, "\xE2\xB2\xA3", "\xE2\xB2\xA2", "\xE2\xB2\xA2", "COPTIC CAPITAL LETTER RO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CA3, "\xE2\xB2\xA3", "\xE2\xB2\xA2", "\xE2\xB2\xA2", "COPTIC SMALL LETTER RO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CA4, "\xE2\xB2\xA5", "\xE2\xB2\xA4", "\xE2\xB2\xA4", "COPTIC CAPITAL LETTER SIMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CA5, "\xE2\xB2\xA5", "\xE2\xB2\xA4", "\xE2\xB2\xA4", "COPTIC SMALL LETTER SIMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CA6, "\xE2\xB2\xA7", "\xE2\xB2\xA6", "\xE2\xB2\xA6", "COPTIC CAPITAL LETTER TAU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CA7, "\xE2\xB2\xA7", "\xE2\xB2\xA6", "\xE2\xB2\xA6", "COPTIC SMALL LETTER TAU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CA8, "\xE2\xB2\xA9", "\xE2\xB2\xA8", "\xE2\xB2\xA8", "COPTIC CAPITAL LETTER UA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CA9, "\xE2\xB2\xA9", "\xE2\xB2\xA8", "\xE2\xB2\xA8", "COPTIC SMALL LETTER UA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CAA, "\xE2\xB2\xAB", "\xE2\xB2\xAA", "\xE2\xB2\xAA", "COPTIC CAPITAL LETTER FI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CAB, "\xE2\xB2\xAB", "\xE2\xB2\xAA", "\xE2\xB2\xAA", "COPTIC SMALL LETTER FI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CAC, "\xE2\xB2\xAD", "\xE2\xB2\xAC", "\xE2\xB2\xAC", "COPTIC CAPITAL LETTER KHI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CAD, "\xE2\xB2\xAD", "\xE2\xB2\xAC", "\xE2\xB2\xAC", "COPTIC SMALL LETTER KHI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CAE, "\xE2\xB2\xAF", "\xE2\xB2\xAE", "\xE2\xB2\xAE", "COPTIC CAPITAL LETTER PSI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CAF, "\xE2\xB2\xAF", "\xE2\xB2\xAE", "\xE2\xB2\xAE", "COPTIC SMALL LETTER PSI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CB0, "\xE2\xB2\xB1", "\xE2\xB2\xB0", "\xE2\xB2\xB0", "COPTIC CAPITAL LETTER OOU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CB1, "\xE2\xB2\xB1", "\xE2\xB2\xB0", "\xE2\xB2\xB0", "COPTIC SMALL LETTER OOU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CB2, "\xE2\xB2\xB3", "\xE2\xB2\xB2", "\xE2\xB2\xB2", "COPTIC CAPITAL LETTER DIALECT-P ALEF");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CB3, "\xE2\xB2\xB3", "\xE2\xB2\xB2", "\xE2\xB2\xB2", "COPTIC SMALL LETTER DIALECT-P ALEF");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CB4, "\xE2\xB2\xB5", "\xE2\xB2\xB4", "\xE2\xB2\xB4", "COPTIC CAPITAL LETTER OLD COPTIC AIN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CB5, "\xE2\xB2\xB5", "\xE2\xB2\xB4", "\xE2\xB2\xB4", "COPTIC SMALL LETTER OLD COPTIC AIN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CB6, "\xE2\xB2\xB7", "\xE2\xB2\xB6", "\xE2\xB2\xB6", "COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CB7, "\xE2\xB2\xB7", "\xE2\xB2\xB6", "\xE2\xB2\xB6", "COPTIC SMALL LETTER CRYPTOGRAMMIC EIE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CB8, "\xE2\xB2\xB9", "\xE2\xB2\xB8", "\xE2\xB2\xB8", "COPTIC CAPITAL LETTER DIALECT-P KAPA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CB9, "\xE2\xB2\xB9", "\xE2\xB2\xB8", "\xE2\xB2\xB8", "COPTIC SMALL LETTER DIALECT-P KAPA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CBA, "\xE2\xB2\xBB", "\xE2\xB2\xBA", "\xE2\xB2\xBA", "COPTIC CAPITAL LETTER DIALECT-P NI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CBB, "\xE2\xB2\xBB", "\xE2\xB2\xBA", "\xE2\xB2\xBA", "COPTIC SMALL LETTER DIALECT-P NI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CBC, "\xE2\xB2\xBD", "\xE2\xB2\xBC", "\xE2\xB2\xBC", "COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CBD, "\xE2\xB2\xBD", "\xE2\xB2\xBC", "\xE2\xB2\xBC", "COPTIC SMALL LETTER CRYPTOGRAMMIC NI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CBE, "\xE2\xB2\xBF", "\xE2\xB2\xBE", "\xE2\xB2\xBE", "COPTIC CAPITAL LETTER OLD COPTIC OOU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CBF, "\xE2\xB2\xBF", "\xE2\xB2\xBE", "\xE2\xB2\xBE", "COPTIC SMALL LETTER OLD COPTIC OOU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CC0, "\xE2\xB3\x81", "\xE2\xB3\x80", "\xE2\xB3\x80", "COPTIC CAPITAL LETTER SAMPI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CC1, "\xE2\xB3\x81", "\xE2\xB3\x80", "\xE2\xB3\x80", "COPTIC SMALL LETTER SAMPI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CC2, "\xE2\xB3\x83", "\xE2\xB3\x82", "\xE2\xB3\x82", "COPTIC CAPITAL LETTER CROSSED SHEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CC3, "\xE2\xB3\x83", "\xE2\xB3\x82", "\xE2\xB3\x82", "COPTIC SMALL LETTER CROSSED SHEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CC4, "\xE2\xB3\x85", "\xE2\xB3\x84", "\xE2\xB3\x84", "COPTIC CAPITAL LETTER OLD COPTIC SHEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CC5, "\xE2\xB3\x85", "\xE2\xB3\x84", "\xE2\xB3\x84", "COPTIC SMALL LETTER OLD COPTIC SHEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CC6, "\xE2\xB3\x87", "\xE2\xB3\x86", "\xE2\xB3\x86", "COPTIC CAPITAL LETTER OLD COPTIC ESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CC7, "\xE2\xB3\x87", "\xE2\xB3\x86", "\xE2\xB3\x86", "COPTIC SMALL LETTER OLD COPTIC ESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CC8, "\xE2\xB3\x89", "\xE2\xB3\x88", "\xE2\xB3\x88", "COPTIC CAPITAL LETTER AKHMIMIC KHEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CC9, "\xE2\xB3\x89", "\xE2\xB3\x88", "\xE2\xB3\x88", "COPTIC SMALL LETTER AKHMIMIC KHEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CCA, "\xE2\xB3\x8B", "\xE2\xB3\x8A", "\xE2\xB3\x8A", "COPTIC CAPITAL LETTER DIALECT-P HORI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CCB, "\xE2\xB3\x8B", "\xE2\xB3\x8A", "\xE2\xB3\x8A", "COPTIC SMALL LETTER DIALECT-P HORI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CCC, "\xE2\xB3\x8D", "\xE2\xB3\x8C", "\xE2\xB3\x8C", "COPTIC CAPITAL LETTER OLD COPTIC HORI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CCD, "\xE2\xB3\x8D", "\xE2\xB3\x8C", "\xE2\xB3\x8C", "COPTIC SMALL LETTER OLD COPTIC HORI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CCE, "\xE2\xB3\x8F", "\xE2\xB3\x8E", "\xE2\xB3\x8E", "COPTIC CAPITAL LETTER OLD COPTIC HA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CCF, "\xE2\xB3\x8F", "\xE2\xB3\x8E", "\xE2\xB3\x8E", "COPTIC SMALL LETTER OLD COPTIC HA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CD0, "\xE2\xB3\x91", "\xE2\xB3\x90", "\xE2\xB3\x90", "COPTIC CAPITAL LETTER L-SHAPED HA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CD1, "\xE2\xB3\x91", "\xE2\xB3\x90", "\xE2\xB3\x90", "COPTIC SMALL LETTER L-SHAPED HA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CD2, "\xE2\xB3\x93", "\xE2\xB3\x92", "\xE2\xB3\x92", "COPTIC CAPITAL LETTER OLD COPTIC HEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CD3, "\xE2\xB3\x93", "\xE2\xB3\x92", "\xE2\xB3\x92", "COPTIC SMALL LETTER OLD COPTIC HEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CD4, "\xE2\xB3\x95", "\xE2\xB3\x94", "\xE2\xB3\x94", "COPTIC CAPITAL LETTER OLD COPTIC HAT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CD5, "\xE2\xB3\x95", "\xE2\xB3\x94", "\xE2\xB3\x94", "COPTIC SMALL LETTER OLD COPTIC HAT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CD6, "\xE2\xB3\x97", "\xE2\xB3\x96", "\xE2\xB3\x96", "COPTIC CAPITAL LETTER OLD COPTIC GANGIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CD7, "\xE2\xB3\x97", "\xE2\xB3\x96", "\xE2\xB3\x96", "COPTIC SMALL LETTER OLD COPTIC GANGIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CD8, "\xE2\xB3\x99", "\xE2\xB3\x98", "\xE2\xB3\x98", "COPTIC CAPITAL LETTER OLD COPTIC DJA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CD9, "\xE2\xB3\x99", "\xE2\xB3\x98", "\xE2\xB3\x98", "COPTIC SMALL LETTER OLD COPTIC DJA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CDA, "\xE2\xB3\x9B", "\xE2\xB3\x9A", "\xE2\xB3\x9A", "COPTIC CAPITAL LETTER OLD COPTIC SHIMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CDB, "\xE2\xB3\x9B", "\xE2\xB3\x9A", "\xE2\xB3\x9A", "COPTIC SMALL LETTER OLD COPTIC SHIMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CDC, "\xE2\xB3\x9D", "\xE2\xB3\x9C", "\xE2\xB3\x9C", "COPTIC CAPITAL LETTER OLD NUBIAN SHIMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CDD, "\xE2\xB3\x9D", "\xE2\xB3\x9C", "\xE2\xB3\x9C", "COPTIC SMALL LETTER OLD NUBIAN SHIMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CDE, "\xE2\xB3\x9F", "\xE2\xB3\x9E", "\xE2\xB3\x9E", "COPTIC CAPITAL LETTER OLD NUBIAN NGI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CDF, "\xE2\xB3\x9F", "\xE2\xB3\x9E", "\xE2\xB3\x9E", "COPTIC SMALL LETTER OLD NUBIAN NGI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CE0, "\xE2\xB3\xA1", "\xE2\xB3\xA0", "\xE2\xB3\xA0", "COPTIC CAPITAL LETTER OLD NUBIAN NYI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CE1, "\xE2\xB3\xA1", "\xE2\xB3\xA0", "\xE2\xB3\xA0", "COPTIC SMALL LETTER OLD NUBIAN NYI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CE2, "\xE2\xB3\xA3", "\xE2\xB3\xA2", "\xE2\xB3\xA2", "COPTIC CAPITAL LETTER OLD NUBIAN WAU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CE3, "\xE2\xB3\xA3", "\xE2\xB3\xA2", "\xE2\xB3\xA2", "COPTIC SMALL LETTER OLD NUBIAN WAU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CE4, "\xE2\xB3\xA4", "\xE2\xB3\xA4", "\xE2\xB3\xA4", "COPTIC SYMBOL KAI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CE5, "\xE2\xB3\xA5", "\xE2\xB3\xA5", "\xE2\xB3\xA5", "COPTIC SYMBOL MI RO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CE6, "\xE2\xB3\xA6", "\xE2\xB3\xA6", "\xE2\xB3\xA6", "COPTIC SYMBOL PI RO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CE7, "\xE2\xB3\xA7", "\xE2\xB3\xA7", "\xE2\xB3\xA7", "COPTIC SYMBOL STAUROS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CE8, "\xE2\xB3\xA8", "\xE2\xB3\xA8", "\xE2\xB3\xA8", "COPTIC SYMBOL TAU RO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CE9, "\xE2\xB3\xA9", "\xE2\xB3\xA9", "\xE2\xB3\xA9", "COPTIC SYMBOL KHI RO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CEA, "\xE2\xB3\xAA", "\xE2\xB3\xAA", "\xE2\xB3\xAA", "COPTIC SYMBOL SHIMA SIMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CEB, "\xE2\xB3\xAC", "\xE2\xB3\xAB", "\xE2\xB3\xAB", "COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CEC, "\xE2\xB3\xAC", "\xE2\xB3\xAB", "\xE2\xB3\xAB", "COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CED, "\xE2\xB3\xAE", "\xE2\xB3\xAD", "\xE2\xB3\xAD", "COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CEE, "\xE2\xB3\xAE", "\xE2\xB3\xAD", "\xE2\xB3\xAD", "COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CEF, "\xE2\xB3\xAF", "\xE2\xB3\xAF", "\xE2\xB3\xAF", "COPTIC COMBINING NI ABOVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CF0, "\xE2\xB3\xB0", "\xE2\xB3\xB0", "\xE2\xB3\xB0", "COPTIC COMBINING SPIRITUS ASPER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CF1, "\xE2\xB3\xB1", "\xE2\xB3\xB1", "\xE2\xB3\xB1", "COPTIC COMBINING SPIRITUS LENIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CF2, "\xE2\xB3\xB3", "\xE2\xB3\xB2", "\xE2\xB3\xB2", "COPTIC CAPITAL LETTER BOHAIRIC KHEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CF3, "\xE2\xB3\xB3", "\xE2\xB3\xB2", "\xE2\xB3\xB2", "COPTIC SMALL LETTER BOHAIRIC KHEI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CF9, "\xE2\xB3\xB9", "\xE2\xB3\xB9", "\xE2\xB3\xB9", "COPTIC OLD NUBIAN FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CFA, "\xE2\xB3\xBA", "\xE2\xB3\xBA", "\xE2\xB3\xBA", "COPTIC OLD NUBIAN DIRECT QUESTION MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CFB, "\xE2\xB3\xBB", "\xE2\xB3\xBB", "\xE2\xB3\xBB", "COPTIC OLD NUBIAN INDIRECT QUESTION MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CFC, "\xE2\xB3\xBC", "\xE2\xB3\xBC", "\xE2\xB3\xBC", "COPTIC OLD NUBIAN VERSE DIVIDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CFD, "\xE2\xB3\xBD", "\xE2\xB3\xBD", "\xE2\xB3\xBD", "COPTIC FRACTION ONE HALF");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CFE, "\xE2\xB3\xBE", "\xE2\xB3\xBE", "\xE2\xB3\xBE", "COPTIC FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002CFF, "\xE2\xB3\xBF", "\xE2\xB3\xBF", "\xE2\xB3\xBF", "COPTIC MORPHOLOGICAL DIVIDER");
  }
  
  TEST_F(CaseMapping, GeorgianSupplement)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D00, "\xE2\xB4\x80", "\xE1\x82\xA0", "\xE1\x82\xA0", "GEORGIAN SMALL LETTER AN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D01, "\xE2\xB4\x81", "\xE1\x82\xA1", "\xE1\x82\xA1", "GEORGIAN SMALL LETTER BAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D02, "\xE2\xB4\x82", "\xE1\x82\xA2", "\xE1\x82\xA2", "GEORGIAN SMALL LETTER GAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D03, "\xE2\xB4\x83", "\xE1\x82\xA3", "\xE1\x82\xA3", "GEORGIAN SMALL LETTER DON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D04, "\xE2\xB4\x84", "\xE1\x82\xA4", "\xE1\x82\xA4", "GEORGIAN SMALL LETTER EN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D05, "\xE2\xB4\x85", "\xE1\x82\xA5", "\xE1\x82\xA5", "GEORGIAN SMALL LETTER VIN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D06, "\xE2\xB4\x86", "\xE1\x82\xA6", "\xE1\x82\xA6", "GEORGIAN SMALL LETTER ZEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D07, "\xE2\xB4\x87", "\xE1\x82\xA7", "\xE1\x82\xA7", "GEORGIAN SMALL LETTER TAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D08, "\xE2\xB4\x88", "\xE1\x82\xA8", "\xE1\x82\xA8", "GEORGIAN SMALL LETTER IN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D09, "\xE2\xB4\x89", "\xE1\x82\xA9", "\xE1\x82\xA9", "GEORGIAN SMALL LETTER KAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D0A, "\xE2\xB4\x8A", "\xE1\x82\xAA", "\xE1\x82\xAA", "GEORGIAN SMALL LETTER LAS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D0B, "\xE2\xB4\x8B", "\xE1\x82\xAB", "\xE1\x82\xAB", "GEORGIAN SMALL LETTER MAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D0C, "\xE2\xB4\x8C", "\xE1\x82\xAC", "\xE1\x82\xAC", "GEORGIAN SMALL LETTER NAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D0D, "\xE2\xB4\x8D", "\xE1\x82\xAD", "\xE1\x82\xAD", "GEORGIAN SMALL LETTER ON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D0E, "\xE2\xB4\x8E", "\xE1\x82\xAE", "\xE1\x82\xAE", "GEORGIAN SMALL LETTER PAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D0F, "\xE2\xB4\x8F", "\xE1\x82\xAF", "\xE1\x82\xAF", "GEORGIAN SMALL LETTER ZHAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D10, "\xE2\xB4\x90", "\xE1\x82\xB0", "\xE1\x82\xB0", "GEORGIAN SMALL LETTER RAE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D11, "\xE2\xB4\x91", "\xE1\x82\xB1", "\xE1\x82\xB1", "GEORGIAN SMALL LETTER SAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D12, "\xE2\xB4\x92", "\xE1\x82\xB2", "\xE1\x82\xB2", "GEORGIAN SMALL LETTER TAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D13, "\xE2\xB4\x93", "\xE1\x82\xB3", "\xE1\x82\xB3", "GEORGIAN SMALL LETTER UN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D14, "\xE2\xB4\x94", "\xE1\x82\xB4", "\xE1\x82\xB4", "GEORGIAN SMALL LETTER PHAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D15, "\xE2\xB4\x95", "\xE1\x82\xB5", "\xE1\x82\xB5", "GEORGIAN SMALL LETTER KHAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D16, "\xE2\xB4\x96", "\xE1\x82\xB6", "\xE1\x82\xB6", "GEORGIAN SMALL LETTER GHAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D17, "\xE2\xB4\x97", "\xE1\x82\xB7", "\xE1\x82\xB7", "GEORGIAN SMALL LETTER QAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D18, "\xE2\xB4\x98", "\xE1\x82\xB8", "\xE1\x82\xB8", "GEORGIAN SMALL LETTER SHIN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D19, "\xE2\xB4\x99", "\xE1\x82\xB9", "\xE1\x82\xB9", "GEORGIAN SMALL LETTER CHIN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D1A, "\xE2\xB4\x9A", "\xE1\x82\xBA", "\xE1\x82\xBA", "GEORGIAN SMALL LETTER CAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D1B, "\xE2\xB4\x9B", "\xE1\x82\xBB", "\xE1\x82\xBB", "GEORGIAN SMALL LETTER JIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D1C, "\xE2\xB4\x9C", "\xE1\x82\xBC", "\xE1\x82\xBC", "GEORGIAN SMALL LETTER CIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D1D, "\xE2\xB4\x9D", "\xE1\x82\xBD", "\xE1\x82\xBD", "GEORGIAN SMALL LETTER CHAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D1E, "\xE2\xB4\x9E", "\xE1\x82\xBE", "\xE1\x82\xBE", "GEORGIAN SMALL LETTER XAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D1F, "\xE2\xB4\x9F", "\xE1\x82\xBF", "\xE1\x82\xBF", "GEORGIAN SMALL LETTER JHAN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D20, "\xE2\xB4\xA0", "\xE1\x83\x80", "\xE1\x83\x80", "GEORGIAN SMALL LETTER HAE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D21, "\xE2\xB4\xA1", "\xE1\x83\x81", "\xE1\x83\x81", "GEORGIAN SMALL LETTER HE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D22, "\xE2\xB4\xA2", "\xE1\x83\x82", "\xE1\x83\x82", "GEORGIAN SMALL LETTER HIE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D23, "\xE2\xB4\xA3", "\xE1\x83\x83", "\xE1\x83\x83", "GEORGIAN SMALL LETTER WE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D24, "\xE2\xB4\xA4", "\xE1\x83\x84", "\xE1\x83\x84", "GEORGIAN SMALL LETTER HAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D25, "\xE2\xB4\xA5", "\xE1\x83\x85", "\xE1\x83\x85", "GEORGIAN SMALL LETTER HOE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D27, "\xE2\xB4\xA7", "\xE1\x83\x87", "\xE1\x83\x87", "GEORGIAN SMALL LETTER YN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00002D2D, "\xE2\xB4\xAD", "\xE1\x83\x8D", "\xE1\x83\x8D", "GEORGIAN SMALL LETTER AEN");
  }
  
  TEST_F(CaseMapping, CyrillicExtendedB)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A640, "\xEA\x99\x81", "\xEA\x99\x80", "\xEA\x99\x80", "CYRILLIC CAPITAL LETTER ZEMLYA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A641, "\xEA\x99\x81", "\xEA\x99\x80", "\xEA\x99\x80", "CYRILLIC SMALL LETTER ZEMLYA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A642, "\xEA\x99\x83", "\xEA\x99\x82", "\xEA\x99\x82", "CYRILLIC CAPITAL LETTER DZELO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A643, "\xEA\x99\x83", "\xEA\x99\x82", "\xEA\x99\x82", "CYRILLIC SMALL LETTER DZELO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A644, "\xEA\x99\x85", "\xEA\x99\x84", "\xEA\x99\x84", "CYRILLIC CAPITAL LETTER REVERSED DZE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A645, "\xEA\x99\x85", "\xEA\x99\x84", "\xEA\x99\x84", "CYRILLIC SMALL LETTER REVERSED DZE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A646, "\xEA\x99\x87", "\xEA\x99\x86", "\xEA\x99\x86", "CYRILLIC CAPITAL LETTER IOTA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A647, "\xEA\x99\x87", "\xEA\x99\x86", "\xEA\x99\x86", "CYRILLIC SMALL LETTER IOTA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A648, "\xEA\x99\x89", "\xEA\x99\x88", "\xEA\x99\x88", "CYRILLIC CAPITAL LETTER DJERV");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A649, "\xEA\x99\x89", "\xEA\x99\x88", "\xEA\x99\x88", "CYRILLIC SMALL LETTER DJERV");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A64A, "\xEA\x99\x8B", "\xEA\x99\x8A", "\xEA\x99\x8A", "CYRILLIC CAPITAL LETTER MONOGRAPH UK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A64B, "\xEA\x99\x8B", "\xEA\x99\x8A", "\xEA\x99\x8A", "CYRILLIC SMALL LETTER MONOGRAPH UK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A64C, "\xEA\x99\x8D", "\xEA\x99\x8C", "\xEA\x99\x8C", "CYRILLIC CAPITAL LETTER BROAD OMEGA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A64D, "\xEA\x99\x8D", "\xEA\x99\x8C", "\xEA\x99\x8C", "CYRILLIC SMALL LETTER BROAD OMEGA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A64E, "\xEA\x99\x8F", "\xEA\x99\x8E", "\xEA\x99\x8E", "CYRILLIC CAPITAL LETTER NEUTRAL YER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A64F, "\xEA\x99\x8F", "\xEA\x99\x8E", "\xEA\x99\x8E", "CYRILLIC SMALL LETTER NEUTRAL YER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A650, "\xEA\x99\x91", "\xEA\x99\x90", "\xEA\x99\x90", "CYRILLIC CAPITAL LETTER YERU WITH BACK YER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A651, "\xEA\x99\x91", "\xEA\x99\x90", "\xEA\x99\x90", "CYRILLIC SMALL LETTER YERU WITH BACK YER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A652, "\xEA\x99\x93", "\xEA\x99\x92", "\xEA\x99\x92", "CYRILLIC CAPITAL LETTER IOTIFIED YAT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A653, "\xEA\x99\x93", "\xEA\x99\x92", "\xEA\x99\x92", "CYRILLIC SMALL LETTER IOTIFIED YAT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A654, "\xEA\x99\x95", "\xEA\x99\x94", "\xEA\x99\x94", "CYRILLIC CAPITAL LETTER REVERSED YU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A655, "\xEA\x99\x95", "\xEA\x99\x94", "\xEA\x99\x94", "CYRILLIC SMALL LETTER REVERSED YU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A656, "\xEA\x99\x97", "\xEA\x99\x96", "\xEA\x99\x96", "CYRILLIC CAPITAL LETTER IOTIFIED A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A657, "\xEA\x99\x97", "\xEA\x99\x96", "\xEA\x99\x96", "CYRILLIC SMALL LETTER IOTIFIED A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A658, "\xEA\x99\x99", "\xEA\x99\x98", "\xEA\x99\x98", "CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A659, "\xEA\x99\x99", "\xEA\x99\x98", "\xEA\x99\x98", "CYRILLIC SMALL LETTER CLOSED LITTLE YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A65A, "\xEA\x99\x9B", "\xEA\x99\x9A", "\xEA\x99\x9A", "CYRILLIC CAPITAL LETTER BLENDED YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A65B, "\xEA\x99\x9B", "\xEA\x99\x9A", "\xEA\x99\x9A", "CYRILLIC SMALL LETTER BLENDED YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A65C, "\xEA\x99\x9D", "\xEA\x99\x9C", "\xEA\x99\x9C", "CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A65D, "\xEA\x99\x9D", "\xEA\x99\x9C", "\xEA\x99\x9C", "CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A65E, "\xEA\x99\x9F", "\xEA\x99\x9E", "\xEA\x99\x9E", "CYRILLIC CAPITAL LETTER YN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A65F, "\xEA\x99\x9F", "\xEA\x99\x9E", "\xEA\x99\x9E", "CYRILLIC SMALL LETTER YN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A660, "\xEA\x99\xA1", "\xEA\x99\xA0", "\xEA\x99\xA0", "CYRILLIC CAPITAL LETTER REVERSED TSE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A661, "\xEA\x99\xA1", "\xEA\x99\xA0", "\xEA\x99\xA0", "CYRILLIC SMALL LETTER REVERSED TSE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A662, "\xEA\x99\xA3", "\xEA\x99\xA2", "\xEA\x99\xA2", "CYRILLIC CAPITAL LETTER SOFT DE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A663, "\xEA\x99\xA3", "\xEA\x99\xA2", "\xEA\x99\xA2", "CYRILLIC SMALL LETTER SOFT DE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A664, "\xEA\x99\xA5", "\xEA\x99\xA4", "\xEA\x99\xA4", "CYRILLIC CAPITAL LETTER SOFT EL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A665, "\xEA\x99\xA5", "\xEA\x99\xA4", "\xEA\x99\xA4", "CYRILLIC SMALL LETTER SOFT EL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A666, "\xEA\x99\xA7", "\xEA\x99\xA6", "\xEA\x99\xA6", "CYRILLIC CAPITAL LETTER SOFT EM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A667, "\xEA\x99\xA7", "\xEA\x99\xA6", "\xEA\x99\xA6", "CYRILLIC SMALL LETTER SOFT EM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A668, "\xEA\x99\xA9", "\xEA\x99\xA8", "\xEA\x99\xA8", "CYRILLIC CAPITAL LETTER MONOCULAR O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A669, "\xEA\x99\xA9", "\xEA\x99\xA8", "\xEA\x99\xA8", "CYRILLIC SMALL LETTER MONOCULAR O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A66A, "\xEA\x99\xAB", "\xEA\x99\xAA", "\xEA\x99\xAA", "CYRILLIC CAPITAL LETTER BINOCULAR O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A66B, "\xEA\x99\xAB", "\xEA\x99\xAA", "\xEA\x99\xAA", "CYRILLIC SMALL LETTER BINOCULAR O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A66C, "\xEA\x99\xAD", "\xEA\x99\xAC", "\xEA\x99\xAC", "CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A66D, "\xEA\x99\xAD", "\xEA\x99\xAC", "\xEA\x99\xAC", "CYRILLIC SMALL LETTER DOUBLE MONOCULAR O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A66E, "\xEA\x99\xAE", "\xEA\x99\xAE", "\xEA\x99\xAE", "CYRILLIC LETTER MULTIOCULAR O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A66F, "\xEA\x99\xAF", "\xEA\x99\xAF", "\xEA\x99\xAF", "COMBINING CYRILLIC VZMET");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A670, "\xEA\x99\xB0", "\xEA\x99\xB0", "\xEA\x99\xB0", "COMBINING CYRILLIC TEN MILLIONS SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A671, "\xEA\x99\xB1", "\xEA\x99\xB1", "\xEA\x99\xB1", "COMBINING CYRILLIC HUNDRED MILLIONS SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A672, "\xEA\x99\xB2", "\xEA\x99\xB2", "\xEA\x99\xB2", "COMBINING CYRILLIC THOUSAND MILLIONS SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A673, "\xEA\x99\xB3", "\xEA\x99\xB3", "\xEA\x99\xB3", "SLAVONIC ASTERISK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A674, "\xEA\x99\xB4", "\xEA\x99\xB4", "\xEA\x99\xB4", "COMBINING CYRILLIC LETTER UKRAINIAN IE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A675, "\xEA\x99\xB5", "\xEA\x99\xB5", "\xEA\x99\xB5", "COMBINING CYRILLIC LETTER I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A676, "\xEA\x99\xB6", "\xEA\x99\xB6", "\xEA\x99\xB6", "COMBINING CYRILLIC LETTER YI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A677, "\xEA\x99\xB7", "\xEA\x99\xB7", "\xEA\x99\xB7", "COMBINING CYRILLIC LETTER U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A678, "\xEA\x99\xB8", "\xEA\x99\xB8", "\xEA\x99\xB8", "COMBINING CYRILLIC LETTER HARD SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A679, "\xEA\x99\xB9", "\xEA\x99\xB9", "\xEA\x99\xB9", "COMBINING CYRILLIC LETTER YERU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A67A, "\xEA\x99\xBA", "\xEA\x99\xBA", "\xEA\x99\xBA", "COMBINING CYRILLIC LETTER SOFT SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A67B, "\xEA\x99\xBB", "\xEA\x99\xBB", "\xEA\x99\xBB", "COMBINING CYRILLIC LETTER OMEGA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A67C, "\xEA\x99\xBC", "\xEA\x99\xBC", "\xEA\x99\xBC", "COMBINING CYRILLIC KAVYKA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A67D, "\xEA\x99\xBD", "\xEA\x99\xBD", "\xEA\x99\xBD", "COMBINING CYRILLIC PAYEROK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A67E, "\xEA\x99\xBE", "\xEA\x99\xBE", "\xEA\x99\xBE", "CYRILLIC KAVYKA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A67F, "\xEA\x99\xBF", "\xEA\x99\xBF", "\xEA\x99\xBF", "CYRILLIC PAYEROK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A680, "\xEA\x9A\x81", "\xEA\x9A\x80", "\xEA\x9A\x80", "CYRILLIC CAPITAL LETTER DWE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A681, "\xEA\x9A\x81", "\xEA\x9A\x80", "\xEA\x9A\x80", "CYRILLIC SMALL LETTER DWE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A682, "\xEA\x9A\x83", "\xEA\x9A\x82", "\xEA\x9A\x82", "CYRILLIC CAPITAL LETTER DZWE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A683, "\xEA\x9A\x83", "\xEA\x9A\x82", "\xEA\x9A\x82", "CYRILLIC SMALL LETTER DZWE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A684, "\xEA\x9A\x85", "\xEA\x9A\x84", "\xEA\x9A\x84", "CYRILLIC CAPITAL LETTER ZHWE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A685, "\xEA\x9A\x85", "\xEA\x9A\x84", "\xEA\x9A\x84", "CYRILLIC SMALL LETTER ZHWE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A686, "\xEA\x9A\x87", "\xEA\x9A\x86", "\xEA\x9A\x86", "CYRILLIC CAPITAL LETTER CCHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A687, "\xEA\x9A\x87", "\xEA\x9A\x86", "\xEA\x9A\x86", "CYRILLIC SMALL LETTER CCHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A688, "\xEA\x9A\x89", "\xEA\x9A\x88", "\xEA\x9A\x88", "CYRILLIC CAPITAL LETTER DZZE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A689, "\xEA\x9A\x89", "\xEA\x9A\x88", "\xEA\x9A\x88", "CYRILLIC SMALL LETTER DZZE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A68A, "\xEA\x9A\x8B", "\xEA\x9A\x8A", "\xEA\x9A\x8A", "CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A68B, "\xEA\x9A\x8B", "\xEA\x9A\x8A", "\xEA\x9A\x8A", "CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A68C, "\xEA\x9A\x8D", "\xEA\x9A\x8C", "\xEA\x9A\x8C", "CYRILLIC CAPITAL LETTER TWE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A68D, "\xEA\x9A\x8D", "\xEA\x9A\x8C", "\xEA\x9A\x8C", "CYRILLIC SMALL LETTER TWE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A68E, "\xEA\x9A\x8F", "\xEA\x9A\x8E", "\xEA\x9A\x8E", "CYRILLIC CAPITAL LETTER TSWE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A68F, "\xEA\x9A\x8F", "\xEA\x9A\x8E", "\xEA\x9A\x8E", "CYRILLIC SMALL LETTER TSWE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A690, "\xEA\x9A\x91", "\xEA\x9A\x90", "\xEA\x9A\x90", "CYRILLIC CAPITAL LETTER TSSE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A691, "\xEA\x9A\x91", "\xEA\x9A\x90", "\xEA\x9A\x90", "CYRILLIC SMALL LETTER TSSE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A692, "\xEA\x9A\x93", "\xEA\x9A\x92", "\xEA\x9A\x92", "CYRILLIC CAPITAL LETTER TCHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A693, "\xEA\x9A\x93", "\xEA\x9A\x92", "\xEA\x9A\x92", "CYRILLIC SMALL LETTER TCHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A694, "\xEA\x9A\x95", "\xEA\x9A\x94", "\xEA\x9A\x94", "CYRILLIC CAPITAL LETTER HWE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A695, "\xEA\x9A\x95", "\xEA\x9A\x94", "\xEA\x9A\x94", "CYRILLIC SMALL LETTER HWE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A696, "\xEA\x9A\x97", "\xEA\x9A\x96", "\xEA\x9A\x96", "CYRILLIC CAPITAL LETTER SHWE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A697, "\xEA\x9A\x97", "\xEA\x9A\x96", "\xEA\x9A\x96", "CYRILLIC SMALL LETTER SHWE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A698, "\xEA\x9A\x99", "\xEA\x9A\x98", "\xEA\x9A\x98", "CYRILLIC CAPITAL LETTER DOUBLE O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A699, "\xEA\x9A\x99", "\xEA\x9A\x98", "\xEA\x9A\x98", "CYRILLIC SMALL LETTER DOUBLE O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A69A, "\xEA\x9A\x9B", "\xEA\x9A\x9A", "\xEA\x9A\x9A", "CYRILLIC CAPITAL LETTER CROSSED O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A69B, "\xEA\x9A\x9B", "\xEA\x9A\x9A", "\xEA\x9A\x9A", "CYRILLIC SMALL LETTER CROSSED O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A69C, "\xEA\x9A\x9C", "\xEA\x9A\x9C", "\xEA\x9A\x9C", "MODIFIER LETTER CYRILLIC HARD SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A69D, "\xEA\x9A\x9D", "\xEA\x9A\x9D", "\xEA\x9A\x9D", "MODIFIER LETTER CYRILLIC SOFT SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A69F, "\xEA\x9A\x9F", "\xEA\x9A\x9F", "\xEA\x9A\x9F", "COMBINING CYRILLIC LETTER IOTIFIED E");
  }
  
  TEST_F(CaseMapping, LatinExtendedD)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A720, "\xEA\x9C\xA0", "\xEA\x9C\xA0", "\xEA\x9C\xA0", "MODIFIER LETTER STRESS AND HIGH TONE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A721, "\xEA\x9C\xA1", "\xEA\x9C\xA1", "\xEA\x9C\xA1", "MODIFIER LETTER STRESS AND LOW TONE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A722, "\xEA\x9C\xA3", "\xEA\x9C\xA2", "\xEA\x9C\xA2", "LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A723, "\xEA\x9C\xA3", "\xEA\x9C\xA2", "\xEA\x9C\xA2", "LATIN SMALL LETTER EGYPTOLOGICAL ALEF");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A724, "\xEA\x9C\xA5", "\xEA\x9C\xA4", "\xEA\x9C\xA4", "LATIN CAPITAL LETTER EGYPTOLOGICAL AIN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A725, "\xEA\x9C\xA5", "\xEA\x9C\xA4", "\xEA\x9C\xA4", "LATIN SMALL LETTER EGYPTOLOGICAL AIN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A726, "\xEA\x9C\xA7", "\xEA\x9C\xA6", "\xEA\x9C\xA6", "LATIN CAPITAL LETTER HENG");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A727, "\xEA\x9C\xA7", "\xEA\x9C\xA6", "\xEA\x9C\xA6", "LATIN SMALL LETTER HENG");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A728, "\xEA\x9C\xA9", "\xEA\x9C\xA8", "\xEA\x9C\xA8", "LATIN CAPITAL LETTER TZ");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A729, "\xEA\x9C\xA9", "\xEA\x9C\xA8", "\xEA\x9C\xA8", "LATIN SMALL LETTER TZ");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A72A, "\xEA\x9C\xAB", "\xEA\x9C\xAA", "\xEA\x9C\xAA", "LATIN CAPITAL LETTER TRESILLO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A72B, "\xEA\x9C\xAB", "\xEA\x9C\xAA", "\xEA\x9C\xAA", "LATIN SMALL LETTER TRESILLO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A72C, "\xEA\x9C\xAD", "\xEA\x9C\xAC", "\xEA\x9C\xAC", "LATIN CAPITAL LETTER CUATRILLO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A72D, "\xEA\x9C\xAD", "\xEA\x9C\xAC", "\xEA\x9C\xAC", "LATIN SMALL LETTER CUATRILLO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A72E, "\xEA\x9C\xAF", "\xEA\x9C\xAE", "\xEA\x9C\xAE", "LATIN CAPITAL LETTER CUATRILLO WITH COMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A72F, "\xEA\x9C\xAF", "\xEA\x9C\xAE", "\xEA\x9C\xAE", "LATIN SMALL LETTER CUATRILLO WITH COMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A730, "\xEA\x9C\xB0", "\xEA\x9C\xB0", "\xEA\x9C\xB0", "LATIN LETTER SMALL CAPITAL F");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A731, "\xEA\x9C\xB1", "\xEA\x9C\xB1", "\xEA\x9C\xB1", "LATIN LETTER SMALL CAPITAL S");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A732, "\xEA\x9C\xB3", "\xEA\x9C\xB2", "\xEA\x9C\xB2", "LATIN CAPITAL LETTER AA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A733, "\xEA\x9C\xB3", "\xEA\x9C\xB2", "\xEA\x9C\xB2", "LATIN SMALL LETTER AA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A734, "\xEA\x9C\xB5", "\xEA\x9C\xB4", "\xEA\x9C\xB4", "LATIN CAPITAL LETTER AO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A735, "\xEA\x9C\xB5", "\xEA\x9C\xB4", "\xEA\x9C\xB4", "LATIN SMALL LETTER AO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A736, "\xEA\x9C\xB7", "\xEA\x9C\xB6", "\xEA\x9C\xB6", "LATIN CAPITAL LETTER AU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A737, "\xEA\x9C\xB7", "\xEA\x9C\xB6", "\xEA\x9C\xB6", "LATIN SMALL LETTER AU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A738, "\xEA\x9C\xB9", "\xEA\x9C\xB8", "\xEA\x9C\xB8", "LATIN CAPITAL LETTER AV");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A739, "\xEA\x9C\xB9", "\xEA\x9C\xB8", "\xEA\x9C\xB8", "LATIN SMALL LETTER AV");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A73A, "\xEA\x9C\xBB", "\xEA\x9C\xBA", "\xEA\x9C\xBA", "LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A73B, "\xEA\x9C\xBB", "\xEA\x9C\xBA", "\xEA\x9C\xBA", "LATIN SMALL LETTER AV WITH HORIZONTAL BAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A73C, "\xEA\x9C\xBD", "\xEA\x9C\xBC", "\xEA\x9C\xBC", "LATIN CAPITAL LETTER AY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A73D, "\xEA\x9C\xBD", "\xEA\x9C\xBC", "\xEA\x9C\xBC", "LATIN SMALL LETTER AY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A73E, "\xEA\x9C\xBF", "\xEA\x9C\xBE", "\xEA\x9C\xBE", "LATIN CAPITAL LETTER REVERSED C WITH DOT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A73F, "\xEA\x9C\xBF", "\xEA\x9C\xBE", "\xEA\x9C\xBE", "LATIN SMALL LETTER REVERSED C WITH DOT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A740, "\xEA\x9D\x81", "\xEA\x9D\x80", "\xEA\x9D\x80", "LATIN CAPITAL LETTER K WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A741, "\xEA\x9D\x81", "\xEA\x9D\x80", "\xEA\x9D\x80", "LATIN SMALL LETTER K WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A742, "\xEA\x9D\x83", "\xEA\x9D\x82", "\xEA\x9D\x82", "LATIN CAPITAL LETTER K WITH DIAGONAL STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A743, "\xEA\x9D\x83", "\xEA\x9D\x82", "\xEA\x9D\x82", "LATIN SMALL LETTER K WITH DIAGONAL STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A744, "\xEA\x9D\x85", "\xEA\x9D\x84", "\xEA\x9D\x84", "LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A745, "\xEA\x9D\x85", "\xEA\x9D\x84", "\xEA\x9D\x84", "LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A746, "\xEA\x9D\x87", "\xEA\x9D\x86", "\xEA\x9D\x86", "LATIN CAPITAL LETTER BROKEN L");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A747, "\xEA\x9D\x87", "\xEA\x9D\x86", "\xEA\x9D\x86", "LATIN SMALL LETTER BROKEN L");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A748, "\xEA\x9D\x89", "\xEA\x9D\x88", "\xEA\x9D\x88", "LATIN CAPITAL LETTER L WITH HIGH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A749, "\xEA\x9D\x89", "\xEA\x9D\x88", "\xEA\x9D\x88", "LATIN SMALL LETTER L WITH HIGH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A74A, "\xEA\x9D\x8B", "\xEA\x9D\x8A", "\xEA\x9D\x8A", "LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A74B, "\xEA\x9D\x8B", "\xEA\x9D\x8A", "\xEA\x9D\x8A", "LATIN SMALL LETTER O WITH LONG STROKE OVERLAY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A74C, "\xEA\x9D\x8D", "\xEA\x9D\x8C", "\xEA\x9D\x8C", "LATIN CAPITAL LETTER O WITH LOOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A74D, "\xEA\x9D\x8D", "\xEA\x9D\x8C", "\xEA\x9D\x8C", "LATIN SMALL LETTER O WITH LOOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A74E, "\xEA\x9D\x8F", "\xEA\x9D\x8E", "\xEA\x9D\x8E", "LATIN CAPITAL LETTER OO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A74F, "\xEA\x9D\x8F", "\xEA\x9D\x8E", "\xEA\x9D\x8E", "LATIN SMALL LETTER OO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A750, "\xEA\x9D\x91", "\xEA\x9D\x90", "\xEA\x9D\x90", "LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A751, "\xEA\x9D\x91", "\xEA\x9D\x90", "\xEA\x9D\x90", "LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A752, "\xEA\x9D\x93", "\xEA\x9D\x92", "\xEA\x9D\x92", "LATIN CAPITAL LETTER P WITH FLOURISH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A753, "\xEA\x9D\x93", "\xEA\x9D\x92", "\xEA\x9D\x92", "LATIN SMALL LETTER P WITH FLOURISH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A754, "\xEA\x9D\x95", "\xEA\x9D\x94", "\xEA\x9D\x94", "LATIN CAPITAL LETTER P WITH SQUIRREL TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A755, "\xEA\x9D\x95", "\xEA\x9D\x94", "\xEA\x9D\x94", "LATIN SMALL LETTER P WITH SQUIRREL TAIL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A756, "\xEA\x9D\x97", "\xEA\x9D\x96", "\xEA\x9D\x96", "LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A757, "\xEA\x9D\x97", "\xEA\x9D\x96", "\xEA\x9D\x96", "LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A758, "\xEA\x9D\x99", "\xEA\x9D\x98", "\xEA\x9D\x98", "LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A759, "\xEA\x9D\x99", "\xEA\x9D\x98", "\xEA\x9D\x98", "LATIN SMALL LETTER Q WITH DIAGONAL STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A75A, "\xEA\x9D\x9B", "\xEA\x9D\x9A", "\xEA\x9D\x9A", "LATIN CAPITAL LETTER R ROTUNDA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A75B, "\xEA\x9D\x9B", "\xEA\x9D\x9A", "\xEA\x9D\x9A", "LATIN SMALL LETTER R ROTUNDA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A75C, "\xEA\x9D\x9D", "\xEA\x9D\x9C", "\xEA\x9D\x9C", "LATIN CAPITAL LETTER RUM ROTUNDA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A75D, "\xEA\x9D\x9D", "\xEA\x9D\x9C", "\xEA\x9D\x9C", "LATIN SMALL LETTER RUM ROTUNDA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A75E, "\xEA\x9D\x9F", "\xEA\x9D\x9E", "\xEA\x9D\x9E", "LATIN CAPITAL LETTER V WITH DIAGONAL STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A75F, "\xEA\x9D\x9F", "\xEA\x9D\x9E", "\xEA\x9D\x9E", "LATIN SMALL LETTER V WITH DIAGONAL STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A760, "\xEA\x9D\xA1", "\xEA\x9D\xA0", "\xEA\x9D\xA0", "LATIN CAPITAL LETTER VY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A761, "\xEA\x9D\xA1", "\xEA\x9D\xA0", "\xEA\x9D\xA0", "LATIN SMALL LETTER VY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A762, "\xEA\x9D\xA3", "\xEA\x9D\xA2", "\xEA\x9D\xA2", "LATIN CAPITAL LETTER VISIGOTHIC Z");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A763, "\xEA\x9D\xA3", "\xEA\x9D\xA2", "\xEA\x9D\xA2", "LATIN SMALL LETTER VISIGOTHIC Z");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A764, "\xEA\x9D\xA5", "\xEA\x9D\xA4", "\xEA\x9D\xA4", "LATIN CAPITAL LETTER THORN WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A765, "\xEA\x9D\xA5", "\xEA\x9D\xA4", "\xEA\x9D\xA4", "LATIN SMALL LETTER THORN WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A766, "\xEA\x9D\xA7", "\xEA\x9D\xA6", "\xEA\x9D\xA6", "LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A767, "\xEA\x9D\xA7", "\xEA\x9D\xA6", "\xEA\x9D\xA6", "LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A768, "\xEA\x9D\xA9", "\xEA\x9D\xA8", "\xEA\x9D\xA8", "LATIN CAPITAL LETTER VEND");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A769, "\xEA\x9D\xA9", "\xEA\x9D\xA8", "\xEA\x9D\xA8", "LATIN SMALL LETTER VEND");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A76A, "\xEA\x9D\xAB", "\xEA\x9D\xAA", "\xEA\x9D\xAA", "LATIN CAPITAL LETTER ET");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A76B, "\xEA\x9D\xAB", "\xEA\x9D\xAA", "\xEA\x9D\xAA", "LATIN SMALL LETTER ET");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A76C, "\xEA\x9D\xAD", "\xEA\x9D\xAC", "\xEA\x9D\xAC", "LATIN CAPITAL LETTER IS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A76D, "\xEA\x9D\xAD", "\xEA\x9D\xAC", "\xEA\x9D\xAC", "LATIN SMALL LETTER IS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A76E, "\xEA\x9D\xAF", "\xEA\x9D\xAE", "\xEA\x9D\xAE", "LATIN CAPITAL LETTER CON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A76F, "\xEA\x9D\xAF", "\xEA\x9D\xAE", "\xEA\x9D\xAE", "LATIN SMALL LETTER CON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A770, "\xEA\x9D\xB0", "\xEA\x9D\xB0", "\xEA\x9D\xB0", "MODIFIER LETTER US");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A771, "\xEA\x9D\xB1", "\xEA\x9D\xB1", "\xEA\x9D\xB1", "LATIN SMALL LETTER DUM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A772, "\xEA\x9D\xB2", "\xEA\x9D\xB2", "\xEA\x9D\xB2", "LATIN SMALL LETTER LUM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A773, "\xEA\x9D\xB3", "\xEA\x9D\xB3", "\xEA\x9D\xB3", "LATIN SMALL LETTER MUM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A774, "\xEA\x9D\xB4", "\xEA\x9D\xB4", "\xEA\x9D\xB4", "LATIN SMALL LETTER NUM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A775, "\xEA\x9D\xB5", "\xEA\x9D\xB5", "\xEA\x9D\xB5", "LATIN SMALL LETTER RUM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A776, "\xEA\x9D\xB6", "\xEA\x9D\xB6", "\xEA\x9D\xB6", "LATIN LETTER SMALL CAPITAL RUM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A777, "\xEA\x9D\xB7", "\xEA\x9D\xB7", "\xEA\x9D\xB7", "LATIN SMALL LETTER TUM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A778, "\xEA\x9D\xB8", "\xEA\x9D\xB8", "\xEA\x9D\xB8", "LATIN SMALL LETTER UM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A779, "\xEA\x9D\xBA", "\xEA\x9D\xB9", "\xEA\x9D\xB9", "LATIN CAPITAL LETTER INSULAR D");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A77A, "\xEA\x9D\xBA", "\xEA\x9D\xB9", "\xEA\x9D\xB9", "LATIN SMALL LETTER INSULAR D");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A77B, "\xEA\x9D\xBC", "\xEA\x9D\xBB", "\xEA\x9D\xBB", "LATIN CAPITAL LETTER INSULAR F");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A77C, "\xEA\x9D\xBC", "\xEA\x9D\xBB", "\xEA\x9D\xBB", "LATIN SMALL LETTER INSULAR F");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A77D, "\xE1\xB5\xB9", "\xEA\x9D\xBD", "\xEA\x9D\xBD", "LATIN CAPITAL LETTER INSULAR G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A77E, "\xEA\x9D\xBF", "\xEA\x9D\xBE", "\xEA\x9D\xBE", "LATIN CAPITAL LETTER TURNED INSULAR G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A77F, "\xEA\x9D\xBF", "\xEA\x9D\xBE", "\xEA\x9D\xBE", "LATIN SMALL LETTER TURNED INSULAR G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A780, "\xEA\x9E\x81", "\xEA\x9E\x80", "\xEA\x9E\x80", "LATIN CAPITAL LETTER TURNED L");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A781, "\xEA\x9E\x81", "\xEA\x9E\x80", "\xEA\x9E\x80", "LATIN SMALL LETTER TURNED L");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A782, "\xEA\x9E\x83", "\xEA\x9E\x82", "\xEA\x9E\x82", "LATIN CAPITAL LETTER INSULAR R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A783, "\xEA\x9E\x83", "\xEA\x9E\x82", "\xEA\x9E\x82", "LATIN SMALL LETTER INSULAR R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A784, "\xEA\x9E\x85", "\xEA\x9E\x84", "\xEA\x9E\x84", "LATIN CAPITAL LETTER INSULAR S");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A785, "\xEA\x9E\x85", "\xEA\x9E\x84", "\xEA\x9E\x84", "LATIN SMALL LETTER INSULAR S");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A786, "\xEA\x9E\x87", "\xEA\x9E\x86", "\xEA\x9E\x86", "LATIN CAPITAL LETTER INSULAR T");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A787, "\xEA\x9E\x87", "\xEA\x9E\x86", "\xEA\x9E\x86", "LATIN SMALL LETTER INSULAR T");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A788, "\xEA\x9E\x88", "\xEA\x9E\x88", "\xEA\x9E\x88", "MODIFIER LETTER LOW CIRCUMFLEX ACCENT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A789, "\xEA\x9E\x89", "\xEA\x9E\x89", "\xEA\x9E\x89", "MODIFIER LETTER COLON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A78A, "\xEA\x9E\x8A", "\xEA\x9E\x8A", "\xEA\x9E\x8A", "MODIFIER LETTER SHORT EQUALS SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A78B, "\xEA\x9E\x8C", "\xEA\x9E\x8B", "\xEA\x9E\x8B", "LATIN CAPITAL LETTER SALTILLO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A78C, "\xEA\x9E\x8C", "\xEA\x9E\x8B", "\xEA\x9E\x8B", "LATIN SMALL LETTER SALTILLO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A78D, "\xC9\xA5", "\xEA\x9E\x8D", "\xEA\x9E\x8D", "LATIN CAPITAL LETTER TURNED H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A78E, "\xEA\x9E\x8E", "\xEA\x9E\x8E", "\xEA\x9E\x8E", "LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A790, "\xEA\x9E\x91", "\xEA\x9E\x90", "\xEA\x9E\x90", "LATIN CAPITAL LETTER N WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A791, "\xEA\x9E\x91", "\xEA\x9E\x90", "\xEA\x9E\x90", "LATIN SMALL LETTER N WITH DESCENDER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A792, "\xEA\x9E\x93", "\xEA\x9E\x92", "\xEA\x9E\x92", "LATIN CAPITAL LETTER C WITH BAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A793, "\xEA\x9E\x93", "\xEA\x9E\x92", "\xEA\x9E\x92", "LATIN SMALL LETTER C WITH BAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A794, "\xEA\x9E\x94", "\xEA\x9E\x94", "\xEA\x9E\x94", "LATIN SMALL LETTER C WITH PALATAL HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A795, "\xEA\x9E\x95", "\xEA\x9E\x95", "\xEA\x9E\x95", "LATIN SMALL LETTER H WITH PALATAL HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A796, "\xEA\x9E\x97", "\xEA\x9E\x96", "\xEA\x9E\x96", "LATIN CAPITAL LETTER B WITH FLOURISH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A797, "\xEA\x9E\x97", "\xEA\x9E\x96", "\xEA\x9E\x96", "LATIN SMALL LETTER B WITH FLOURISH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A798, "\xEA\x9E\x99", "\xEA\x9E\x98", "\xEA\x9E\x98", "LATIN CAPITAL LETTER F WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A799, "\xEA\x9E\x99", "\xEA\x9E\x98", "\xEA\x9E\x98", "LATIN SMALL LETTER F WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A79A, "\xEA\x9E\x9B", "\xEA\x9E\x9A", "\xEA\x9E\x9A", "LATIN CAPITAL LETTER VOLAPUK AE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A79B, "\xEA\x9E\x9B", "\xEA\x9E\x9A", "\xEA\x9E\x9A", "LATIN SMALL LETTER VOLAPUK AE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A79C, "\xEA\x9E\x9D", "\xEA\x9E\x9C", "\xEA\x9E\x9C", "LATIN CAPITAL LETTER VOLAPUK OE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A79D, "\xEA\x9E\x9D", "\xEA\x9E\x9C", "\xEA\x9E\x9C", "LATIN SMALL LETTER VOLAPUK OE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A79E, "\xEA\x9E\x9F", "\xEA\x9E\x9E", "\xEA\x9E\x9E", "LATIN CAPITAL LETTER VOLAPUK UE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A79F, "\xEA\x9E\x9F", "\xEA\x9E\x9E", "\xEA\x9E\x9E", "LATIN SMALL LETTER VOLAPUK UE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7A0, "\xEA\x9E\xA1", "\xEA\x9E\xA0", "\xEA\x9E\xA0", "LATIN CAPITAL LETTER G WITH OBLIQUE STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7A1, "\xEA\x9E\xA1", "\xEA\x9E\xA0", "\xEA\x9E\xA0", "LATIN SMALL LETTER G WITH OBLIQUE STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7A2, "\xEA\x9E\xA3", "\xEA\x9E\xA2", "\xEA\x9E\xA2", "LATIN CAPITAL LETTER K WITH OBLIQUE STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7A3, "\xEA\x9E\xA3", "\xEA\x9E\xA2", "\xEA\x9E\xA2", "LATIN SMALL LETTER K WITH OBLIQUE STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7A4, "\xEA\x9E\xA5", "\xEA\x9E\xA4", "\xEA\x9E\xA4", "LATIN CAPITAL LETTER N WITH OBLIQUE STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7A5, "\xEA\x9E\xA5", "\xEA\x9E\xA4", "\xEA\x9E\xA4", "LATIN SMALL LETTER N WITH OBLIQUE STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7A6, "\xEA\x9E\xA7", "\xEA\x9E\xA6", "\xEA\x9E\xA6", "LATIN CAPITAL LETTER R WITH OBLIQUE STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7A7, "\xEA\x9E\xA7", "\xEA\x9E\xA6", "\xEA\x9E\xA6", "LATIN SMALL LETTER R WITH OBLIQUE STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7A8, "\xEA\x9E\xA9", "\xEA\x9E\xA8", "\xEA\x9E\xA8", "LATIN CAPITAL LETTER S WITH OBLIQUE STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7A9, "\xEA\x9E\xA9", "\xEA\x9E\xA8", "\xEA\x9E\xA8", "LATIN SMALL LETTER S WITH OBLIQUE STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7AA, "\xC9\xA6", "\xEA\x9E\xAA", "\xEA\x9E\xAA", "LATIN CAPITAL LETTER H WITH HOOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7AB, "\xC9\x9C", "\xEA\x9E\xAB", "\xEA\x9E\xAB", "LATIN CAPITAL LETTER REVERSED OPEN E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7AC, "\xC9\xA1", "\xEA\x9E\xAC", "\xEA\x9E\xAC", "LATIN CAPITAL LETTER SCRIPT G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7AD, "\xC9\xAC", "\xEA\x9E\xAD", "\xEA\x9E\xAD", "LATIN CAPITAL LETTER L WITH BELT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7B0, "\xCA\x9E", "\xEA\x9E\xB0", "\xEA\x9E\xB0", "LATIN CAPITAL LETTER TURNED K");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7B1, "\xCA\x87", "\xEA\x9E\xB1", "\xEA\x9E\xB1", "LATIN CAPITAL LETTER TURNED T");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7F7, "\xEA\x9F\xB7", "\xEA\x9F\xB7", "\xEA\x9F\xB7", "LATIN EPIGRAPHIC LETTER SIDEWAYS I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7F8, "\xEA\x9F\xB8", "\xEA\x9F\xB8", "\xEA\x9F\xB8", "MODIFIER LETTER CAPITAL H WITH STROKE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7F9, "\xEA\x9F\xB9", "\xEA\x9F\xB9", "\xEA\x9F\xB9", "MODIFIER LETTER SMALL LIGATURE OE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7FA, "\xEA\x9F\xBA", "\xEA\x9F\xBA", "\xEA\x9F\xBA", "LATIN LETTER SMALL CAPITAL TURNED M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7FB, "\xEA\x9F\xBB", "\xEA\x9F\xBB", "\xEA\x9F\xBB", "LATIN EPIGRAPHIC LETTER REVERSED F");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7FC, "\xEA\x9F\xBC", "\xEA\x9F\xBC", "\xEA\x9F\xBC", "LATIN EPIGRAPHIC LETTER REVERSED P");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7FD, "\xEA\x9F\xBD", "\xEA\x9F\xBD", "\xEA\x9F\xBD", "LATIN EPIGRAPHIC LETTER INVERTED M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7FE, "\xEA\x9F\xBE", "\xEA\x9F\xBE", "\xEA\x9F\xBE", "LATIN EPIGRAPHIC LETTER I LONGA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000A7FF, "\xEA\x9F\xBF", "\xEA\x9F\xBF", "\xEA\x9F\xBF", "LATIN EPIGRAPHIC LETTER ARCHAIC M");
  }
  
  TEST_F(CaseMapping, AlphabeticPresentationForms)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB00, "\xEF\xAC\x80", "FF", "Ff", "LATIN SMALL LIGATURE FF");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB01, "\xEF\xAC\x81", "FI", "Fi", "LATIN SMALL LIGATURE FI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB02, "\xEF\xAC\x82", "FL", "Fl", "LATIN SMALL LIGATURE FL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB03, "\xEF\xAC\x83", "FFI", "Ffi", "LATIN SMALL LIGATURE FFI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB04, "\xEF\xAC\x84", "FFL", "Ffl", "LATIN SMALL LIGATURE FFL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB05, "\xEF\xAC\x85", "ST", "St", "LATIN SMALL LIGATURE LONG S T");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB06, "\xEF\xAC\x86", "ST", "St", "LATIN SMALL LIGATURE ST");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB13, "\xEF\xAC\x93", "\xD5\x84\xD5\x86", "\xD5\x84\xD5\xB6", "ARMENIAN SMALL LIGATURE MEN NOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB14, "\xEF\xAC\x94", "\xD5\x84\xD4\xB5", "\xD5\x84\xD5\xA5", "ARMENIAN SMALL LIGATURE MEN ECH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB15, "\xEF\xAC\x95", "\xD5\x84\xD4\xBB", "\xD5\x84\xD5\xAB", "ARMENIAN SMALL LIGATURE MEN INI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB16, "\xEF\xAC\x96", "\xD5\x8E\xD5\x86", "\xD5\x8E\xD5\xB6", "ARMENIAN SMALL LIGATURE VEW NOW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB17, "\xEF\xAC\x97", "\xD5\x84\xD4\xBD", "\xD5\x84\xD5\xAD", "ARMENIAN SMALL LIGATURE MEN XEH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB1D, "\xEF\xAC\x9D", "\xEF\xAC\x9D", "\xEF\xAC\x9D", "HEBREW LETTER YOD WITH HIRIQ");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB1E, "\xEF\xAC\x9E", "\xEF\xAC\x9E", "\xEF\xAC\x9E", "HEBREW POINT JUDEO-SPANISH VARIKA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB1F, "\xEF\xAC\x9F", "\xEF\xAC\x9F", "\xEF\xAC\x9F", "HEBREW LIGATURE YIDDISH YOD YOD PATAH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB20, "\xEF\xAC\xA0", "\xEF\xAC\xA0", "\xEF\xAC\xA0", "HEBREW LETTER ALTERNATIVE AYIN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB21, "\xEF\xAC\xA1", "\xEF\xAC\xA1", "\xEF\xAC\xA1", "HEBREW LETTER WIDE ALEF");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB22, "\xEF\xAC\xA2", "\xEF\xAC\xA2", "\xEF\xAC\xA2", "HEBREW LETTER WIDE DALET");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB23, "\xEF\xAC\xA3", "\xEF\xAC\xA3", "\xEF\xAC\xA3", "HEBREW LETTER WIDE HE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB24, "\xEF\xAC\xA4", "\xEF\xAC\xA4", "\xEF\xAC\xA4", "HEBREW LETTER WIDE KAF");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB25, "\xEF\xAC\xA5", "\xEF\xAC\xA5", "\xEF\xAC\xA5", "HEBREW LETTER WIDE LAMED");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB26, "\xEF\xAC\xA6", "\xEF\xAC\xA6", "\xEF\xAC\xA6", "HEBREW LETTER WIDE FINAL MEM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB27, "\xEF\xAC\xA7", "\xEF\xAC\xA7", "\xEF\xAC\xA7", "HEBREW LETTER WIDE RESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB28, "\xEF\xAC\xA8", "\xEF\xAC\xA8", "\xEF\xAC\xA8", "HEBREW LETTER WIDE TAV");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB29, "\xEF\xAC\xA9", "\xEF\xAC\xA9", "\xEF\xAC\xA9", "HEBREW LETTER ALTERNATIVE PLUS SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB2A, "\xEF\xAC\xAA", "\xEF\xAC\xAA", "\xEF\xAC\xAA", "HEBREW LETTER SHIN WITH SHIN DOT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB2B, "\xEF\xAC\xAB", "\xEF\xAC\xAB", "\xEF\xAC\xAB", "HEBREW LETTER SHIN WITH SIN DOT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB2C, "\xEF\xAC\xAC", "\xEF\xAC\xAC", "\xEF\xAC\xAC", "HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB2D, "\xEF\xAC\xAD", "\xEF\xAC\xAD", "\xEF\xAC\xAD", "HEBREW LETTER SHIN WITH DAGESH AND SIN DOT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB2E, "\xEF\xAC\xAE", "\xEF\xAC\xAE", "\xEF\xAC\xAE", "HEBREW LETTER ALEF WITH PATAH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB2F, "\xEF\xAC\xAF", "\xEF\xAC\xAF", "\xEF\xAC\xAF", "HEBREW LETTER ALEF WITH QAMATS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB30, "\xEF\xAC\xB0", "\xEF\xAC\xB0", "\xEF\xAC\xB0", "HEBREW LETTER ALEF WITH MAPIQ");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB31, "\xEF\xAC\xB1", "\xEF\xAC\xB1", "\xEF\xAC\xB1", "HEBREW LETTER BET WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB32, "\xEF\xAC\xB2", "\xEF\xAC\xB2", "\xEF\xAC\xB2", "HEBREW LETTER GIMEL WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB33, "\xEF\xAC\xB3", "\xEF\xAC\xB3", "\xEF\xAC\xB3", "HEBREW LETTER DALET WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB34, "\xEF\xAC\xB4", "\xEF\xAC\xB4", "\xEF\xAC\xB4", "HEBREW LETTER HE WITH MAPIQ");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB35, "\xEF\xAC\xB5", "\xEF\xAC\xB5", "\xEF\xAC\xB5", "HEBREW LETTER VAV WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB36, "\xEF\xAC\xB6", "\xEF\xAC\xB6", "\xEF\xAC\xB6", "HEBREW LETTER ZAYIN WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB38, "\xEF\xAC\xB8", "\xEF\xAC\xB8", "\xEF\xAC\xB8", "HEBREW LETTER TET WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB39, "\xEF\xAC\xB9", "\xEF\xAC\xB9", "\xEF\xAC\xB9", "HEBREW LETTER YOD WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB3A, "\xEF\xAC\xBA", "\xEF\xAC\xBA", "\xEF\xAC\xBA", "HEBREW LETTER FINAL KAF WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB3B, "\xEF\xAC\xBB", "\xEF\xAC\xBB", "\xEF\xAC\xBB", "HEBREW LETTER KAF WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB3C, "\xEF\xAC\xBC", "\xEF\xAC\xBC", "\xEF\xAC\xBC", "HEBREW LETTER LAMED WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB3E, "\xEF\xAC\xBE", "\xEF\xAC\xBE", "\xEF\xAC\xBE", "HEBREW LETTER MEM WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB40, "\xEF\xAD\x80", "\xEF\xAD\x80", "\xEF\xAD\x80", "HEBREW LETTER NUN WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB41, "\xEF\xAD\x81", "\xEF\xAD\x81", "\xEF\xAD\x81", "HEBREW LETTER SAMEKH WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB43, "\xEF\xAD\x83", "\xEF\xAD\x83", "\xEF\xAD\x83", "HEBREW LETTER FINAL PE WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB44, "\xEF\xAD\x84", "\xEF\xAD\x84", "\xEF\xAD\x84", "HEBREW LETTER PE WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB46, "\xEF\xAD\x86", "\xEF\xAD\x86", "\xEF\xAD\x86", "HEBREW LETTER TSADI WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB47, "\xEF\xAD\x87", "\xEF\xAD\x87", "\xEF\xAD\x87", "HEBREW LETTER QOF WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB48, "\xEF\xAD\x88", "\xEF\xAD\x88", "\xEF\xAD\x88", "HEBREW LETTER RESH WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB49, "\xEF\xAD\x89", "\xEF\xAD\x89", "\xEF\xAD\x89", "HEBREW LETTER SHIN WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB4A, "\xEF\xAD\x8A", "\xEF\xAD\x8A", "\xEF\xAD\x8A", "HEBREW LETTER TAV WITH DAGESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB4B, "\xEF\xAD\x8B", "\xEF\xAD\x8B", "\xEF\xAD\x8B", "HEBREW LETTER VAV WITH HOLAM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB4C, "\xEF\xAD\x8C", "\xEF\xAD\x8C", "\xEF\xAD\x8C", "HEBREW LETTER BET WITH RAFE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB4D, "\xEF\xAD\x8D", "\xEF\xAD\x8D", "\xEF\xAD\x8D", "HEBREW LETTER KAF WITH RAFE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB4E, "\xEF\xAD\x8E", "\xEF\xAD\x8E", "\xEF\xAD\x8E", "HEBREW LETTER PE WITH RAFE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FB4F, "\xEF\xAD\x8F", "\xEF\xAD\x8F", "\xEF\xAD\x8F", "HEBREW LIGATURE ALEF LAMED");
  }
  
  TEST_F(CaseMapping, HalfwidthandFullwidthForms)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF01, "\xEF\xBC\x81", "\xEF\xBC\x81", "\xEF\xBC\x81", "FULLWIDTH EXCLAMATION MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF02, "\xEF\xBC\x82", "\xEF\xBC\x82", "\xEF\xBC\x82", "FULLWIDTH QUOTATION MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF03, "\xEF\xBC\x83", "\xEF\xBC\x83", "\xEF\xBC\x83", "FULLWIDTH NUMBER SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF04, "\xEF\xBC\x84", "\xEF\xBC\x84", "\xEF\xBC\x84", "FULLWIDTH DOLLAR SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF05, "\xEF\xBC\x85", "\xEF\xBC\x85", "\xEF\xBC\x85", "FULLWIDTH PERCENT SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF06, "\xEF\xBC\x86", "\xEF\xBC\x86", "\xEF\xBC\x86", "FULLWIDTH AMPERSAND");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF07, "\xEF\xBC\x87", "\xEF\xBC\x87", "\xEF\xBC\x87", "FULLWIDTH APOSTROPHE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF08, "\xEF\xBC\x88", "\xEF\xBC\x88", "\xEF\xBC\x88", "FULLWIDTH LEFT PARENTHESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF09, "\xEF\xBC\x89", "\xEF\xBC\x89", "\xEF\xBC\x89", "FULLWIDTH RIGHT PARENTHESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF0A, "\xEF\xBC\x8A", "\xEF\xBC\x8A", "\xEF\xBC\x8A", "FULLWIDTH ASTERISK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF0B, "\xEF\xBC\x8B", "\xEF\xBC\x8B", "\xEF\xBC\x8B", "FULLWIDTH PLUS SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF0C, "\xEF\xBC\x8C", "\xEF\xBC\x8C", "\xEF\xBC\x8C", "FULLWIDTH COMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF0D, "\xEF\xBC\x8D", "\xEF\xBC\x8D", "\xEF\xBC\x8D", "FULLWIDTH HYPHEN-MINUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF0E, "\xEF\xBC\x8E", "\xEF\xBC\x8E", "\xEF\xBC\x8E", "FULLWIDTH FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF0F, "\xEF\xBC\x8F", "\xEF\xBC\x8F", "\xEF\xBC\x8F", "FULLWIDTH SOLIDUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF10, "\xEF\xBC\x90", "\xEF\xBC\x90", "\xEF\xBC\x90", "FULLWIDTH DIGIT ZERO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF11, "\xEF\xBC\x91", "\xEF\xBC\x91", "\xEF\xBC\x91", "FULLWIDTH DIGIT ONE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF12, "\xEF\xBC\x92", "\xEF\xBC\x92", "\xEF\xBC\x92", "FULLWIDTH DIGIT TWO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF13, "\xEF\xBC\x93", "\xEF\xBC\x93", "\xEF\xBC\x93", "FULLWIDTH DIGIT THREE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF14, "\xEF\xBC\x94", "\xEF\xBC\x94", "\xEF\xBC\x94", "FULLWIDTH DIGIT FOUR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF15, "\xEF\xBC\x95", "\xEF\xBC\x95", "\xEF\xBC\x95", "FULLWIDTH DIGIT FIVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF16, "\xEF\xBC\x96", "\xEF\xBC\x96", "\xEF\xBC\x96", "FULLWIDTH DIGIT SIX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF17, "\xEF\xBC\x97", "\xEF\xBC\x97", "\xEF\xBC\x97", "FULLWIDTH DIGIT SEVEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF18, "\xEF\xBC\x98", "\xEF\xBC\x98", "\xEF\xBC\x98", "FULLWIDTH DIGIT EIGHT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF19, "\xEF\xBC\x99", "\xEF\xBC\x99", "\xEF\xBC\x99", "FULLWIDTH DIGIT NINE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF1A, "\xEF\xBC\x9A", "\xEF\xBC\x9A", "\xEF\xBC\x9A", "FULLWIDTH COLON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF1B, "\xEF\xBC\x9B", "\xEF\xBC\x9B", "\xEF\xBC\x9B", "FULLWIDTH SEMICOLON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF1C, "\xEF\xBC\x9C", "\xEF\xBC\x9C", "\xEF\xBC\x9C", "FULLWIDTH LESS-THAN SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF1D, "\xEF\xBC\x9D", "\xEF\xBC\x9D", "\xEF\xBC\x9D", "FULLWIDTH EQUALS SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF1E, "\xEF\xBC\x9E", "\xEF\xBC\x9E", "\xEF\xBC\x9E", "FULLWIDTH GREATER-THAN SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF1F, "\xEF\xBC\x9F", "\xEF\xBC\x9F", "\xEF\xBC\x9F", "FULLWIDTH QUESTION MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF20, "\xEF\xBC\xA0", "\xEF\xBC\xA0", "\xEF\xBC\xA0", "FULLWIDTH COMMERCIAL AT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF21, "\xEF\xBD\x81", "\xEF\xBC\xA1", "\xEF\xBC\xA1", "FULLWIDTH LATIN CAPITAL LETTER A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF22, "\xEF\xBD\x82", "\xEF\xBC\xA2", "\xEF\xBC\xA2", "FULLWIDTH LATIN CAPITAL LETTER B");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF23, "\xEF\xBD\x83", "\xEF\xBC\xA3", "\xEF\xBC\xA3", "FULLWIDTH LATIN CAPITAL LETTER C");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF24, "\xEF\xBD\x84", "\xEF\xBC\xA4", "\xEF\xBC\xA4", "FULLWIDTH LATIN CAPITAL LETTER D");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF25, "\xEF\xBD\x85", "\xEF\xBC\xA5", "\xEF\xBC\xA5", "FULLWIDTH LATIN CAPITAL LETTER E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF26, "\xEF\xBD\x86", "\xEF\xBC\xA6", "\xEF\xBC\xA6", "FULLWIDTH LATIN CAPITAL LETTER F");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF27, "\xEF\xBD\x87", "\xEF\xBC\xA7", "\xEF\xBC\xA7", "FULLWIDTH LATIN CAPITAL LETTER G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF28, "\xEF\xBD\x88", "\xEF\xBC\xA8", "\xEF\xBC\xA8", "FULLWIDTH LATIN CAPITAL LETTER H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF29, "\xEF\xBD\x89", "\xEF\xBC\xA9", "\xEF\xBC\xA9", "FULLWIDTH LATIN CAPITAL LETTER I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF2A, "\xEF\xBD\x8A", "\xEF\xBC\xAA", "\xEF\xBC\xAA", "FULLWIDTH LATIN CAPITAL LETTER J");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF2B, "\xEF\xBD\x8B", "\xEF\xBC\xAB", "\xEF\xBC\xAB", "FULLWIDTH LATIN CAPITAL LETTER K");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF2C, "\xEF\xBD\x8C", "\xEF\xBC\xAC", "\xEF\xBC\xAC", "FULLWIDTH LATIN CAPITAL LETTER L");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF2D, "\xEF\xBD\x8D", "\xEF\xBC\xAD", "\xEF\xBC\xAD", "FULLWIDTH LATIN CAPITAL LETTER M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF2E, "\xEF\xBD\x8E", "\xEF\xBC\xAE", "\xEF\xBC\xAE", "FULLWIDTH LATIN CAPITAL LETTER N");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF2F, "\xEF\xBD\x8F", "\xEF\xBC\xAF", "\xEF\xBC\xAF", "FULLWIDTH LATIN CAPITAL LETTER O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF30, "\xEF\xBD\x90", "\xEF\xBC\xB0", "\xEF\xBC\xB0", "FULLWIDTH LATIN CAPITAL LETTER P");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF31, "\xEF\xBD\x91", "\xEF\xBC\xB1", "\xEF\xBC\xB1", "FULLWIDTH LATIN CAPITAL LETTER Q");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF32, "\xEF\xBD\x92", "\xEF\xBC\xB2", "\xEF\xBC\xB2", "FULLWIDTH LATIN CAPITAL LETTER R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF33, "\xEF\xBD\x93", "\xEF\xBC\xB3", "\xEF\xBC\xB3", "FULLWIDTH LATIN CAPITAL LETTER S");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF34, "\xEF\xBD\x94", "\xEF\xBC\xB4", "\xEF\xBC\xB4", "FULLWIDTH LATIN CAPITAL LETTER T");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF35, "\xEF\xBD\x95", "\xEF\xBC\xB5", "\xEF\xBC\xB5", "FULLWIDTH LATIN CAPITAL LETTER U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF36, "\xEF\xBD\x96", "\xEF\xBC\xB6", "\xEF\xBC\xB6", "FULLWIDTH LATIN CAPITAL LETTER V");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF37, "\xEF\xBD\x97", "\xEF\xBC\xB7", "\xEF\xBC\xB7", "FULLWIDTH LATIN CAPITAL LETTER W");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF38, "\xEF\xBD\x98", "\xEF\xBC\xB8", "\xEF\xBC\xB8", "FULLWIDTH LATIN CAPITAL LETTER X");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF39, "\xEF\xBD\x99", "\xEF\xBC\xB9", "\xEF\xBC\xB9", "FULLWIDTH LATIN CAPITAL LETTER Y");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF3A, "\xEF\xBD\x9A", "\xEF\xBC\xBA", "\xEF\xBC\xBA", "FULLWIDTH LATIN CAPITAL LETTER Z");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF3B, "\xEF\xBC\xBB", "\xEF\xBC\xBB", "\xEF\xBC\xBB", "FULLWIDTH LEFT SQUARE BRACKET");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF3C, "\xEF\xBC\xBC", "\xEF\xBC\xBC", "\xEF\xBC\xBC", "FULLWIDTH REVERSE SOLIDUS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF3D, "\xEF\xBC\xBD", "\xEF\xBC\xBD", "\xEF\xBC\xBD", "FULLWIDTH RIGHT SQUARE BRACKET");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF3E, "\xEF\xBC\xBE", "\xEF\xBC\xBE", "\xEF\xBC\xBE", "FULLWIDTH CIRCUMFLEX ACCENT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF3F, "\xEF\xBC\xBF", "\xEF\xBC\xBF", "\xEF\xBC\xBF", "FULLWIDTH LOW LINE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF40, "\xEF\xBD\x80", "\xEF\xBD\x80", "\xEF\xBD\x80", "FULLWIDTH GRAVE ACCENT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF41, "\xEF\xBD\x81", "\xEF\xBC\xA1", "\xEF\xBC\xA1", "FULLWIDTH LATIN SMALL LETTER A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF42, "\xEF\xBD\x82", "\xEF\xBC\xA2", "\xEF\xBC\xA2", "FULLWIDTH LATIN SMALL LETTER B");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF43, "\xEF\xBD\x83", "\xEF\xBC\xA3", "\xEF\xBC\xA3", "FULLWIDTH LATIN SMALL LETTER C");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF44, "\xEF\xBD\x84", "\xEF\xBC\xA4", "\xEF\xBC\xA4", "FULLWIDTH LATIN SMALL LETTER D");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF45, "\xEF\xBD\x85", "\xEF\xBC\xA5", "\xEF\xBC\xA5", "FULLWIDTH LATIN SMALL LETTER E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF46, "\xEF\xBD\x86", "\xEF\xBC\xA6", "\xEF\xBC\xA6", "FULLWIDTH LATIN SMALL LETTER F");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF47, "\xEF\xBD\x87", "\xEF\xBC\xA7", "\xEF\xBC\xA7", "FULLWIDTH LATIN SMALL LETTER G");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF48, "\xEF\xBD\x88", "\xEF\xBC\xA8", "\xEF\xBC\xA8", "FULLWIDTH LATIN SMALL LETTER H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF49, "\xEF\xBD\x89", "\xEF\xBC\xA9", "\xEF\xBC\xA9", "FULLWIDTH LATIN SMALL LETTER I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF4A, "\xEF\xBD\x8A", "\xEF\xBC\xAA", "\xEF\xBC\xAA", "FULLWIDTH LATIN SMALL LETTER J");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF4B, "\xEF\xBD\x8B", "\xEF\xBC\xAB", "\xEF\xBC\xAB", "FULLWIDTH LATIN SMALL LETTER K");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF4C, "\xEF\xBD\x8C", "\xEF\xBC\xAC", "\xEF\xBC\xAC", "FULLWIDTH LATIN SMALL LETTER L");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF4D, "\xEF\xBD\x8D", "\xEF\xBC\xAD", "\xEF\xBC\xAD", "FULLWIDTH LATIN SMALL LETTER M");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF4E, "\xEF\xBD\x8E", "\xEF\xBC\xAE", "\xEF\xBC\xAE", "FULLWIDTH LATIN SMALL LETTER N");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF4F, "\xEF\xBD\x8F", "\xEF\xBC\xAF", "\xEF\xBC\xAF", "FULLWIDTH LATIN SMALL LETTER O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF50, "\xEF\xBD\x90", "\xEF\xBC\xB0", "\xEF\xBC\xB0", "FULLWIDTH LATIN SMALL LETTER P");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF51, "\xEF\xBD\x91", "\xEF\xBC\xB1", "\xEF\xBC\xB1", "FULLWIDTH LATIN SMALL LETTER Q");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF52, "\xEF\xBD\x92", "\xEF\xBC\xB2", "\xEF\xBC\xB2", "FULLWIDTH LATIN SMALL LETTER R");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF53, "\xEF\xBD\x93", "\xEF\xBC\xB3", "\xEF\xBC\xB3", "FULLWIDTH LATIN SMALL LETTER S");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF54, "\xEF\xBD\x94", "\xEF\xBC\xB4", "\xEF\xBC\xB4", "FULLWIDTH LATIN SMALL LETTER T");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF55, "\xEF\xBD\x95", "\xEF\xBC\xB5", "\xEF\xBC\xB5", "FULLWIDTH LATIN SMALL LETTER U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF56, "\xEF\xBD\x96", "\xEF\xBC\xB6", "\xEF\xBC\xB6", "FULLWIDTH LATIN SMALL LETTER V");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF57, "\xEF\xBD\x97", "\xEF\xBC\xB7", "\xEF\xBC\xB7", "FULLWIDTH LATIN SMALL LETTER W");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF58, "\xEF\xBD\x98", "\xEF\xBC\xB8", "\xEF\xBC\xB8", "FULLWIDTH LATIN SMALL LETTER X");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF59, "\xEF\xBD\x99", "\xEF\xBC\xB9", "\xEF\xBC\xB9", "FULLWIDTH LATIN SMALL LETTER Y");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF5A, "\xEF\xBD\x9A", "\xEF\xBC\xBA", "\xEF\xBC\xBA", "FULLWIDTH LATIN SMALL LETTER Z");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF5B, "\xEF\xBD\x9B", "\xEF\xBD\x9B", "\xEF\xBD\x9B", "FULLWIDTH LEFT CURLY BRACKET");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF5C, "\xEF\xBD\x9C", "\xEF\xBD\x9C", "\xEF\xBD\x9C", "FULLWIDTH VERTICAL LINE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF5D, "\xEF\xBD\x9D", "\xEF\xBD\x9D", "\xEF\xBD\x9D", "FULLWIDTH RIGHT CURLY BRACKET");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF5E, "\xEF\xBD\x9E", "\xEF\xBD\x9E", "\xEF\xBD\x9E", "FULLWIDTH TILDE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF5F, "\xEF\xBD\x9F", "\xEF\xBD\x9F", "\xEF\xBD\x9F", "FULLWIDTH LEFT WHITE PARENTHESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF60, "\xEF\xBD\xA0", "\xEF\xBD\xA0", "\xEF\xBD\xA0", "FULLWIDTH RIGHT WHITE PARENTHESIS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF61, "\xEF\xBD\xA1", "\xEF\xBD\xA1", "\xEF\xBD\xA1", "HALFWIDTH IDEOGRAPHIC FULL STOP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF62, "\xEF\xBD\xA2", "\xEF\xBD\xA2", "\xEF\xBD\xA2", "HALFWIDTH LEFT CORNER BRACKET");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF63, "\xEF\xBD\xA3", "\xEF\xBD\xA3", "\xEF\xBD\xA3", "HALFWIDTH RIGHT CORNER BRACKET");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF64, "\xEF\xBD\xA4", "\xEF\xBD\xA4", "\xEF\xBD\xA4", "HALFWIDTH IDEOGRAPHIC COMMA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF65, "\xEF\xBD\xA5", "\xEF\xBD\xA5", "\xEF\xBD\xA5", "HALFWIDTH KATAKANA MIDDLE DOT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF66, "\xEF\xBD\xA6", "\xEF\xBD\xA6", "\xEF\xBD\xA6", "HALFWIDTH KATAKANA LETTER WO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF67, "\xEF\xBD\xA7", "\xEF\xBD\xA7", "\xEF\xBD\xA7", "HALFWIDTH KATAKANA LETTER SMALL A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF68, "\xEF\xBD\xA8", "\xEF\xBD\xA8", "\xEF\xBD\xA8", "HALFWIDTH KATAKANA LETTER SMALL I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF69, "\xEF\xBD\xA9", "\xEF\xBD\xA9", "\xEF\xBD\xA9", "HALFWIDTH KATAKANA LETTER SMALL U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF6A, "\xEF\xBD\xAA", "\xEF\xBD\xAA", "\xEF\xBD\xAA", "HALFWIDTH KATAKANA LETTER SMALL E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF6B, "\xEF\xBD\xAB", "\xEF\xBD\xAB", "\xEF\xBD\xAB", "HALFWIDTH KATAKANA LETTER SMALL O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF6C, "\xEF\xBD\xAC", "\xEF\xBD\xAC", "\xEF\xBD\xAC", "HALFWIDTH KATAKANA LETTER SMALL YA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF6D, "\xEF\xBD\xAD", "\xEF\xBD\xAD", "\xEF\xBD\xAD", "HALFWIDTH KATAKANA LETTER SMALL YU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF6E, "\xEF\xBD\xAE", "\xEF\xBD\xAE", "\xEF\xBD\xAE", "HALFWIDTH KATAKANA LETTER SMALL YO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF6F, "\xEF\xBD\xAF", "\xEF\xBD\xAF", "\xEF\xBD\xAF", "HALFWIDTH KATAKANA LETTER SMALL TU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF70, "\xEF\xBD\xB0", "\xEF\xBD\xB0", "\xEF\xBD\xB0", "HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF71, "\xEF\xBD\xB1", "\xEF\xBD\xB1", "\xEF\xBD\xB1", "HALFWIDTH KATAKANA LETTER A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF72, "\xEF\xBD\xB2", "\xEF\xBD\xB2", "\xEF\xBD\xB2", "HALFWIDTH KATAKANA LETTER I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF73, "\xEF\xBD\xB3", "\xEF\xBD\xB3", "\xEF\xBD\xB3", "HALFWIDTH KATAKANA LETTER U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF74, "\xEF\xBD\xB4", "\xEF\xBD\xB4", "\xEF\xBD\xB4", "HALFWIDTH KATAKANA LETTER E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF75, "\xEF\xBD\xB5", "\xEF\xBD\xB5", "\xEF\xBD\xB5", "HALFWIDTH KATAKANA LETTER O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF76, "\xEF\xBD\xB6", "\xEF\xBD\xB6", "\xEF\xBD\xB6", "HALFWIDTH KATAKANA LETTER KA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF77, "\xEF\xBD\xB7", "\xEF\xBD\xB7", "\xEF\xBD\xB7", "HALFWIDTH KATAKANA LETTER KI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF78, "\xEF\xBD\xB8", "\xEF\xBD\xB8", "\xEF\xBD\xB8", "HALFWIDTH KATAKANA LETTER KU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF79, "\xEF\xBD\xB9", "\xEF\xBD\xB9", "\xEF\xBD\xB9", "HALFWIDTH KATAKANA LETTER KE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF7A, "\xEF\xBD\xBA", "\xEF\xBD\xBA", "\xEF\xBD\xBA", "HALFWIDTH KATAKANA LETTER KO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF7B, "\xEF\xBD\xBB", "\xEF\xBD\xBB", "\xEF\xBD\xBB", "HALFWIDTH KATAKANA LETTER SA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF7C, "\xEF\xBD\xBC", "\xEF\xBD\xBC", "\xEF\xBD\xBC", "HALFWIDTH KATAKANA LETTER SI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF7D, "\xEF\xBD\xBD", "\xEF\xBD\xBD", "\xEF\xBD\xBD", "HALFWIDTH KATAKANA LETTER SU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF7E, "\xEF\xBD\xBE", "\xEF\xBD\xBE", "\xEF\xBD\xBE", "HALFWIDTH KATAKANA LETTER SE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF7F, "\xEF\xBD\xBF", "\xEF\xBD\xBF", "\xEF\xBD\xBF", "HALFWIDTH KATAKANA LETTER SO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF80, "\xEF\xBE\x80", "\xEF\xBE\x80", "\xEF\xBE\x80", "HALFWIDTH KATAKANA LETTER TA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF81, "\xEF\xBE\x81", "\xEF\xBE\x81", "\xEF\xBE\x81", "HALFWIDTH KATAKANA LETTER TI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF82, "\xEF\xBE\x82", "\xEF\xBE\x82", "\xEF\xBE\x82", "HALFWIDTH KATAKANA LETTER TU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF83, "\xEF\xBE\x83", "\xEF\xBE\x83", "\xEF\xBE\x83", "HALFWIDTH KATAKANA LETTER TE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF84, "\xEF\xBE\x84", "\xEF\xBE\x84", "\xEF\xBE\x84", "HALFWIDTH KATAKANA LETTER TO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF85, "\xEF\xBE\x85", "\xEF\xBE\x85", "\xEF\xBE\x85", "HALFWIDTH KATAKANA LETTER NA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF86, "\xEF\xBE\x86", "\xEF\xBE\x86", "\xEF\xBE\x86", "HALFWIDTH KATAKANA LETTER NI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF87, "\xEF\xBE\x87", "\xEF\xBE\x87", "\xEF\xBE\x87", "HALFWIDTH KATAKANA LETTER NU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF88, "\xEF\xBE\x88", "\xEF\xBE\x88", "\xEF\xBE\x88", "HALFWIDTH KATAKANA LETTER NE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF89, "\xEF\xBE\x89", "\xEF\xBE\x89", "\xEF\xBE\x89", "HALFWIDTH KATAKANA LETTER NO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF8A, "\xEF\xBE\x8A", "\xEF\xBE\x8A", "\xEF\xBE\x8A", "HALFWIDTH KATAKANA LETTER HA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF8B, "\xEF\xBE\x8B", "\xEF\xBE\x8B", "\xEF\xBE\x8B", "HALFWIDTH KATAKANA LETTER HI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF8C, "\xEF\xBE\x8C", "\xEF\xBE\x8C", "\xEF\xBE\x8C", "HALFWIDTH KATAKANA LETTER HU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF8D, "\xEF\xBE\x8D", "\xEF\xBE\x8D", "\xEF\xBE\x8D", "HALFWIDTH KATAKANA LETTER HE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF8E, "\xEF\xBE\x8E", "\xEF\xBE\x8E", "\xEF\xBE\x8E", "HALFWIDTH KATAKANA LETTER HO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF8F, "\xEF\xBE\x8F", "\xEF\xBE\x8F", "\xEF\xBE\x8F", "HALFWIDTH KATAKANA LETTER MA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF90, "\xEF\xBE\x90", "\xEF\xBE\x90", "\xEF\xBE\x90", "HALFWIDTH KATAKANA LETTER MI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF91, "\xEF\xBE\x91", "\xEF\xBE\x91", "\xEF\xBE\x91", "HALFWIDTH KATAKANA LETTER MU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF92, "\xEF\xBE\x92", "\xEF\xBE\x92", "\xEF\xBE\x92", "HALFWIDTH KATAKANA LETTER ME");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF93, "\xEF\xBE\x93", "\xEF\xBE\x93", "\xEF\xBE\x93", "HALFWIDTH KATAKANA LETTER MO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF94, "\xEF\xBE\x94", "\xEF\xBE\x94", "\xEF\xBE\x94", "HALFWIDTH KATAKANA LETTER YA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF95, "\xEF\xBE\x95", "\xEF\xBE\x95", "\xEF\xBE\x95", "HALFWIDTH KATAKANA LETTER YU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF96, "\xEF\xBE\x96", "\xEF\xBE\x96", "\xEF\xBE\x96", "HALFWIDTH KATAKANA LETTER YO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF97, "\xEF\xBE\x97", "\xEF\xBE\x97", "\xEF\xBE\x97", "HALFWIDTH KATAKANA LETTER RA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF98, "\xEF\xBE\x98", "\xEF\xBE\x98", "\xEF\xBE\x98", "HALFWIDTH KATAKANA LETTER RI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF99, "\xEF\xBE\x99", "\xEF\xBE\x99", "\xEF\xBE\x99", "HALFWIDTH KATAKANA LETTER RU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF9A, "\xEF\xBE\x9A", "\xEF\xBE\x9A", "\xEF\xBE\x9A", "HALFWIDTH KATAKANA LETTER RE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF9B, "\xEF\xBE\x9B", "\xEF\xBE\x9B", "\xEF\xBE\x9B", "HALFWIDTH KATAKANA LETTER RO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF9C, "\xEF\xBE\x9C", "\xEF\xBE\x9C", "\xEF\xBE\x9C", "HALFWIDTH KATAKANA LETTER WA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF9D, "\xEF\xBE\x9D", "\xEF\xBE\x9D", "\xEF\xBE\x9D", "HALFWIDTH KATAKANA LETTER N");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF9E, "\xEF\xBE\x9E", "\xEF\xBE\x9E", "\xEF\xBE\x9E", "HALFWIDTH KATAKANA VOICED SOUND MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FF9F, "\xEF\xBE\x9F", "\xEF\xBE\x9F", "\xEF\xBE\x9F", "HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFA0, "\xEF\xBE\xA0", "\xEF\xBE\xA0", "\xEF\xBE\xA0", "HALFWIDTH HANGUL FILLER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFA1, "\xEF\xBE\xA1", "\xEF\xBE\xA1", "\xEF\xBE\xA1", "HALFWIDTH HANGUL LETTER KIYEOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFA2, "\xEF\xBE\xA2", "\xEF\xBE\xA2", "\xEF\xBE\xA2", "HALFWIDTH HANGUL LETTER SSANGKIYEOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFA3, "\xEF\xBE\xA3", "\xEF\xBE\xA3", "\xEF\xBE\xA3", "HALFWIDTH HANGUL LETTER KIYEOK-SIOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFA4, "\xEF\xBE\xA4", "\xEF\xBE\xA4", "\xEF\xBE\xA4", "HALFWIDTH HANGUL LETTER NIEUN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFA5, "\xEF\xBE\xA5", "\xEF\xBE\xA5", "\xEF\xBE\xA5", "HALFWIDTH HANGUL LETTER NIEUN-CIEUC");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFA6, "\xEF\xBE\xA6", "\xEF\xBE\xA6", "\xEF\xBE\xA6", "HALFWIDTH HANGUL LETTER NIEUN-HIEUH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFA7, "\xEF\xBE\xA7", "\xEF\xBE\xA7", "\xEF\xBE\xA7", "HALFWIDTH HANGUL LETTER TIKEUT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFA8, "\xEF\xBE\xA8", "\xEF\xBE\xA8", "\xEF\xBE\xA8", "HALFWIDTH HANGUL LETTER SSANGTIKEUT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFA9, "\xEF\xBE\xA9", "\xEF\xBE\xA9", "\xEF\xBE\xA9", "HALFWIDTH HANGUL LETTER RIEUL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFAA, "\xEF\xBE\xAA", "\xEF\xBE\xAA", "\xEF\xBE\xAA", "HALFWIDTH HANGUL LETTER RIEUL-KIYEOK");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFAB, "\xEF\xBE\xAB", "\xEF\xBE\xAB", "\xEF\xBE\xAB", "HALFWIDTH HANGUL LETTER RIEUL-MIEUM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFAC, "\xEF\xBE\xAC", "\xEF\xBE\xAC", "\xEF\xBE\xAC", "HALFWIDTH HANGUL LETTER RIEUL-PIEUP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFAD, "\xEF\xBE\xAD", "\xEF\xBE\xAD", "\xEF\xBE\xAD", "HALFWIDTH HANGUL LETTER RIEUL-SIOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFAE, "\xEF\xBE\xAE", "\xEF\xBE\xAE", "\xEF\xBE\xAE", "HALFWIDTH HANGUL LETTER RIEUL-THIEUTH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFAF, "\xEF\xBE\xAF", "\xEF\xBE\xAF", "\xEF\xBE\xAF", "HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFB0, "\xEF\xBE\xB0", "\xEF\xBE\xB0", "\xEF\xBE\xB0", "HALFWIDTH HANGUL LETTER RIEUL-HIEUH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFB1, "\xEF\xBE\xB1", "\xEF\xBE\xB1", "\xEF\xBE\xB1", "HALFWIDTH HANGUL LETTER MIEUM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFB2, "\xEF\xBE\xB2", "\xEF\xBE\xB2", "\xEF\xBE\xB2", "HALFWIDTH HANGUL LETTER PIEUP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFB3, "\xEF\xBE\xB3", "\xEF\xBE\xB3", "\xEF\xBE\xB3", "HALFWIDTH HANGUL LETTER SSANGPIEUP");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFB4, "\xEF\xBE\xB4", "\xEF\xBE\xB4", "\xEF\xBE\xB4", "HALFWIDTH HANGUL LETTER PIEUP-SIOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFB5, "\xEF\xBE\xB5", "\xEF\xBE\xB5", "\xEF\xBE\xB5", "HALFWIDTH HANGUL LETTER SIOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFB6, "\xEF\xBE\xB6", "\xEF\xBE\xB6", "\xEF\xBE\xB6", "HALFWIDTH HANGUL LETTER SSANGSIOS");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFB7, "\xEF\xBE\xB7", "\xEF\xBE\xB7", "\xEF\xBE\xB7", "HALFWIDTH HANGUL LETTER IEUNG");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFB8, "\xEF\xBE\xB8", "\xEF\xBE\xB8", "\xEF\xBE\xB8", "HALFWIDTH HANGUL LETTER CIEUC");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFB9, "\xEF\xBE\xB9", "\xEF\xBE\xB9", "\xEF\xBE\xB9", "HALFWIDTH HANGUL LETTER SSANGCIEUC");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFBA, "\xEF\xBE\xBA", "\xEF\xBE\xBA", "\xEF\xBE\xBA", "HALFWIDTH HANGUL LETTER CHIEUCH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFBB, "\xEF\xBE\xBB", "\xEF\xBE\xBB", "\xEF\xBE\xBB", "HALFWIDTH HANGUL LETTER KHIEUKH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFBC, "\xEF\xBE\xBC", "\xEF\xBE\xBC", "\xEF\xBE\xBC", "HALFWIDTH HANGUL LETTER THIEUTH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFBD, "\xEF\xBE\xBD", "\xEF\xBE\xBD", "\xEF\xBE\xBD", "HALFWIDTH HANGUL LETTER PHIEUPH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFBE, "\xEF\xBE\xBE", "\xEF\xBE\xBE", "\xEF\xBE\xBE", "HALFWIDTH HANGUL LETTER HIEUH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFC2, "\xEF\xBF\x82", "\xEF\xBF\x82", "\xEF\xBF\x82", "HALFWIDTH HANGUL LETTER A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFC3, "\xEF\xBF\x83", "\xEF\xBF\x83", "\xEF\xBF\x83", "HALFWIDTH HANGUL LETTER AE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFC4, "\xEF\xBF\x84", "\xEF\xBF\x84", "\xEF\xBF\x84", "HALFWIDTH HANGUL LETTER YA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFC5, "\xEF\xBF\x85", "\xEF\xBF\x85", "\xEF\xBF\x85", "HALFWIDTH HANGUL LETTER YAE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFC6, "\xEF\xBF\x86", "\xEF\xBF\x86", "\xEF\xBF\x86", "HALFWIDTH HANGUL LETTER EO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFC7, "\xEF\xBF\x87", "\xEF\xBF\x87", "\xEF\xBF\x87", "HALFWIDTH HANGUL LETTER E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFCA, "\xEF\xBF\x8A", "\xEF\xBF\x8A", "\xEF\xBF\x8A", "HALFWIDTH HANGUL LETTER YEO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFCB, "\xEF\xBF\x8B", "\xEF\xBF\x8B", "\xEF\xBF\x8B", "HALFWIDTH HANGUL LETTER YE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFCC, "\xEF\xBF\x8C", "\xEF\xBF\x8C", "\xEF\xBF\x8C", "HALFWIDTH HANGUL LETTER O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFCD, "\xEF\xBF\x8D", "\xEF\xBF\x8D", "\xEF\xBF\x8D", "HALFWIDTH HANGUL LETTER WA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFCE, "\xEF\xBF\x8E", "\xEF\xBF\x8E", "\xEF\xBF\x8E", "HALFWIDTH HANGUL LETTER WAE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFCF, "\xEF\xBF\x8F", "\xEF\xBF\x8F", "\xEF\xBF\x8F", "HALFWIDTH HANGUL LETTER OE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFD2, "\xEF\xBF\x92", "\xEF\xBF\x92", "\xEF\xBF\x92", "HALFWIDTH HANGUL LETTER YO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFD3, "\xEF\xBF\x93", "\xEF\xBF\x93", "\xEF\xBF\x93", "HALFWIDTH HANGUL LETTER U");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFD4, "\xEF\xBF\x94", "\xEF\xBF\x94", "\xEF\xBF\x94", "HALFWIDTH HANGUL LETTER WEO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFD5, "\xEF\xBF\x95", "\xEF\xBF\x95", "\xEF\xBF\x95", "HALFWIDTH HANGUL LETTER WE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFD6, "\xEF\xBF\x96", "\xEF\xBF\x96", "\xEF\xBF\x96", "HALFWIDTH HANGUL LETTER WI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFD7, "\xEF\xBF\x97", "\xEF\xBF\x97", "\xEF\xBF\x97", "HALFWIDTH HANGUL LETTER YU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFDA, "\xEF\xBF\x9A", "\xEF\xBF\x9A", "\xEF\xBF\x9A", "HALFWIDTH HANGUL LETTER EU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFDB, "\xEF\xBF\x9B", "\xEF\xBF\x9B", "\xEF\xBF\x9B", "HALFWIDTH HANGUL LETTER YI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFDC, "\xEF\xBF\x9C", "\xEF\xBF\x9C", "\xEF\xBF\x9C", "HALFWIDTH HANGUL LETTER I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFE0, "\xEF\xBF\xA0", "\xEF\xBF\xA0", "\xEF\xBF\xA0", "FULLWIDTH CENT SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFE1, "\xEF\xBF\xA1", "\xEF\xBF\xA1", "\xEF\xBF\xA1", "FULLWIDTH POUND SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFE2, "\xEF\xBF\xA2", "\xEF\xBF\xA2", "\xEF\xBF\xA2", "FULLWIDTH NOT SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFE3, "\xEF\xBF\xA3", "\xEF\xBF\xA3", "\xEF\xBF\xA3", "FULLWIDTH MACRON");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFE4, "\xEF\xBF\xA4", "\xEF\xBF\xA4", "\xEF\xBF\xA4", "FULLWIDTH BROKEN BAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFE5, "\xEF\xBF\xA5", "\xEF\xBF\xA5", "\xEF\xBF\xA5", "FULLWIDTH YEN SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFE6, "\xEF\xBF\xA6", "\xEF\xBF\xA6", "\xEF\xBF\xA6", "FULLWIDTH WON SIGN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFE8, "\xEF\xBF\xA8", "\xEF\xBF\xA8", "\xEF\xBF\xA8", "HALFWIDTH FORMS LIGHT VERTICAL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFE9, "\xEF\xBF\xA9", "\xEF\xBF\xA9", "\xEF\xBF\xA9", "HALFWIDTH LEFTWARDS ARROW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFEA, "\xEF\xBF\xAA", "\xEF\xBF\xAA", "\xEF\xBF\xAA", "HALFWIDTH UPWARDS ARROW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFEB, "\xEF\xBF\xAB", "\xEF\xBF\xAB", "\xEF\xBF\xAB", "HALFWIDTH RIGHTWARDS ARROW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFEC, "\xEF\xBF\xAC", "\xEF\xBF\xAC", "\xEF\xBF\xAC", "HALFWIDTH DOWNWARDS ARROW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFED, "\xEF\xBF\xAD", "\xEF\xBF\xAD", "\xEF\xBF\xAD", "HALFWIDTH BLACK SQUARE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0000FFEE, "\xEF\xBF\xAE", "\xEF\xBF\xAE", "\xEF\xBF\xAE", "HALFWIDTH WHITE CIRCLE");
  }
  
  TEST_F(CaseMapping, Deseret)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010400, "\xF0\x90\x90\xA8", "\xF0\x90\x90\x80", "\xF0\x90\x90\x80", "DESERET CAPITAL LETTER LONG I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010401, "\xF0\x90\x90\xA9", "\xF0\x90\x90\x81", "\xF0\x90\x90\x81", "DESERET CAPITAL LETTER LONG E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010402, "\xF0\x90\x90\xAA", "\xF0\x90\x90\x82", "\xF0\x90\x90\x82", "DESERET CAPITAL LETTER LONG A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010403, "\xF0\x90\x90\xAB", "\xF0\x90\x90\x83", "\xF0\x90\x90\x83", "DESERET CAPITAL LETTER LONG AH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010404, "\xF0\x90\x90\xAC", "\xF0\x90\x90\x84", "\xF0\x90\x90\x84", "DESERET CAPITAL LETTER LONG O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010405, "\xF0\x90\x90\xAD", "\xF0\x90\x90\x85", "\xF0\x90\x90\x85", "DESERET CAPITAL LETTER LONG OO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010406, "\xF0\x90\x90\xAE", "\xF0\x90\x90\x86", "\xF0\x90\x90\x86", "DESERET CAPITAL LETTER SHORT I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010407, "\xF0\x90\x90\xAF", "\xF0\x90\x90\x87", "\xF0\x90\x90\x87", "DESERET CAPITAL LETTER SHORT E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010408, "\xF0\x90\x90\xB0", "\xF0\x90\x90\x88", "\xF0\x90\x90\x88", "DESERET CAPITAL LETTER SHORT A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010409, "\xF0\x90\x90\xB1", "\xF0\x90\x90\x89", "\xF0\x90\x90\x89", "DESERET CAPITAL LETTER SHORT AH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001040A, "\xF0\x90\x90\xB2", "\xF0\x90\x90\x8A", "\xF0\x90\x90\x8A", "DESERET CAPITAL LETTER SHORT O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001040B, "\xF0\x90\x90\xB3", "\xF0\x90\x90\x8B", "\xF0\x90\x90\x8B", "DESERET CAPITAL LETTER SHORT OO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001040C, "\xF0\x90\x90\xB4", "\xF0\x90\x90\x8C", "\xF0\x90\x90\x8C", "DESERET CAPITAL LETTER AY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001040D, "\xF0\x90\x90\xB5", "\xF0\x90\x90\x8D", "\xF0\x90\x90\x8D", "DESERET CAPITAL LETTER OW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001040E, "\xF0\x90\x90\xB6", "\xF0\x90\x90\x8E", "\xF0\x90\x90\x8E", "DESERET CAPITAL LETTER WU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001040F, "\xF0\x90\x90\xB7", "\xF0\x90\x90\x8F", "\xF0\x90\x90\x8F", "DESERET CAPITAL LETTER YEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010410, "\xF0\x90\x90\xB8", "\xF0\x90\x90\x90", "\xF0\x90\x90\x90", "DESERET CAPITAL LETTER H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010411, "\xF0\x90\x90\xB9", "\xF0\x90\x90\x91", "\xF0\x90\x90\x91", "DESERET CAPITAL LETTER PEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010412, "\xF0\x90\x90\xBA", "\xF0\x90\x90\x92", "\xF0\x90\x90\x92", "DESERET CAPITAL LETTER BEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010413, "\xF0\x90\x90\xBB", "\xF0\x90\x90\x93", "\xF0\x90\x90\x93", "DESERET CAPITAL LETTER TEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010414, "\xF0\x90\x90\xBC", "\xF0\x90\x90\x94", "\xF0\x90\x90\x94", "DESERET CAPITAL LETTER DEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010415, "\xF0\x90\x90\xBD", "\xF0\x90\x90\x95", "\xF0\x90\x90\x95", "DESERET CAPITAL LETTER CHEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010416, "\xF0\x90\x90\xBE", "\xF0\x90\x90\x96", "\xF0\x90\x90\x96", "DESERET CAPITAL LETTER JEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010417, "\xF0\x90\x90\xBF", "\xF0\x90\x90\x97", "\xF0\x90\x90\x97", "DESERET CAPITAL LETTER KAY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010418, "\xF0\x90\x91\x80", "\xF0\x90\x90\x98", "\xF0\x90\x90\x98", "DESERET CAPITAL LETTER GAY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010419, "\xF0\x90\x91\x81", "\xF0\x90\x90\x99", "\xF0\x90\x90\x99", "DESERET CAPITAL LETTER EF");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001041A, "\xF0\x90\x91\x82", "\xF0\x90\x90\x9A", "\xF0\x90\x90\x9A", "DESERET CAPITAL LETTER VEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001041B, "\xF0\x90\x91\x83", "\xF0\x90\x90\x9B", "\xF0\x90\x90\x9B", "DESERET CAPITAL LETTER ETH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001041C, "\xF0\x90\x91\x84", "\xF0\x90\x90\x9C", "\xF0\x90\x90\x9C", "DESERET CAPITAL LETTER THEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001041D, "\xF0\x90\x91\x85", "\xF0\x90\x90\x9D", "\xF0\x90\x90\x9D", "DESERET CAPITAL LETTER ES");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001041E, "\xF0\x90\x91\x86", "\xF0\x90\x90\x9E", "\xF0\x90\x90\x9E", "DESERET CAPITAL LETTER ZEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001041F, "\xF0\x90\x91\x87", "\xF0\x90\x90\x9F", "\xF0\x90\x90\x9F", "DESERET CAPITAL LETTER ESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010420, "\xF0\x90\x91\x88", "\xF0\x90\x90\xA0", "\xF0\x90\x90\xA0", "DESERET CAPITAL LETTER ZHEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010421, "\xF0\x90\x91\x89", "\xF0\x90\x90\xA1", "\xF0\x90\x90\xA1", "DESERET CAPITAL LETTER ER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010422, "\xF0\x90\x91\x8A", "\xF0\x90\x90\xA2", "\xF0\x90\x90\xA2", "DESERET CAPITAL LETTER EL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010423, "\xF0\x90\x91\x8B", "\xF0\x90\x90\xA3", "\xF0\x90\x90\xA3", "DESERET CAPITAL LETTER EM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010424, "\xF0\x90\x91\x8C", "\xF0\x90\x90\xA4", "\xF0\x90\x90\xA4", "DESERET CAPITAL LETTER EN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010425, "\xF0\x90\x91\x8D", "\xF0\x90\x90\xA5", "\xF0\x90\x90\xA5", "DESERET CAPITAL LETTER ENG");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010426, "\xF0\x90\x91\x8E", "\xF0\x90\x90\xA6", "\xF0\x90\x90\xA6", "DESERET CAPITAL LETTER OI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010427, "\xF0\x90\x91\x8F", "\xF0\x90\x90\xA7", "\xF0\x90\x90\xA7", "DESERET CAPITAL LETTER EW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010428, "\xF0\x90\x90\xA8", "\xF0\x90\x90\x80", "\xF0\x90\x90\x80", "DESERET SMALL LETTER LONG I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010429, "\xF0\x90\x90\xA9", "\xF0\x90\x90\x81", "\xF0\x90\x90\x81", "DESERET SMALL LETTER LONG E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001042A, "\xF0\x90\x90\xAA", "\xF0\x90\x90\x82", "\xF0\x90\x90\x82", "DESERET SMALL LETTER LONG A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001042B, "\xF0\x90\x90\xAB", "\xF0\x90\x90\x83", "\xF0\x90\x90\x83", "DESERET SMALL LETTER LONG AH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001042C, "\xF0\x90\x90\xAC", "\xF0\x90\x90\x84", "\xF0\x90\x90\x84", "DESERET SMALL LETTER LONG O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001042D, "\xF0\x90\x90\xAD", "\xF0\x90\x90\x85", "\xF0\x90\x90\x85", "DESERET SMALL LETTER LONG OO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001042E, "\xF0\x90\x90\xAE", "\xF0\x90\x90\x86", "\xF0\x90\x90\x86", "DESERET SMALL LETTER SHORT I");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001042F, "\xF0\x90\x90\xAF", "\xF0\x90\x90\x87", "\xF0\x90\x90\x87", "DESERET SMALL LETTER SHORT E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010430, "\xF0\x90\x90\xB0", "\xF0\x90\x90\x88", "\xF0\x90\x90\x88", "DESERET SMALL LETTER SHORT A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010431, "\xF0\x90\x90\xB1", "\xF0\x90\x90\x89", "\xF0\x90\x90\x89", "DESERET SMALL LETTER SHORT AH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010432, "\xF0\x90\x90\xB2", "\xF0\x90\x90\x8A", "\xF0\x90\x90\x8A", "DESERET SMALL LETTER SHORT O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010433, "\xF0\x90\x90\xB3", "\xF0\x90\x90\x8B", "\xF0\x90\x90\x8B", "DESERET SMALL LETTER SHORT OO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010434, "\xF0\x90\x90\xB4", "\xF0\x90\x90\x8C", "\xF0\x90\x90\x8C", "DESERET SMALL LETTER AY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010435, "\xF0\x90\x90\xB5", "\xF0\x90\x90\x8D", "\xF0\x90\x90\x8D", "DESERET SMALL LETTER OW");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010436, "\xF0\x90\x90\xB6", "\xF0\x90\x90\x8E", "\xF0\x90\x90\x8E", "DESERET SMALL LETTER WU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010437, "\xF0\x90\x90\xB7", "\xF0\x90\x90\x8F", "\xF0\x90\x90\x8F", "DESERET SMALL LETTER YEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010438, "\xF0\x90\x90\xB8", "\xF0\x90\x90\x90", "\xF0\x90\x90\x90", "DESERET SMALL LETTER H");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010439, "\xF0\x90\x90\xB9", "\xF0\x90\x90\x91", "\xF0\x90\x90\x91", "DESERET SMALL LETTER PEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001043A, "\xF0\x90\x90\xBA", "\xF0\x90\x90\x92", "\xF0\x90\x90\x92", "DESERET SMALL LETTER BEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001043B, "\xF0\x90\x90\xBB", "\xF0\x90\x90\x93", "\xF0\x90\x90\x93", "DESERET SMALL LETTER TEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001043C, "\xF0\x90\x90\xBC", "\xF0\x90\x90\x94", "\xF0\x90\x90\x94", "DESERET SMALL LETTER DEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001043D, "\xF0\x90\x90\xBD", "\xF0\x90\x90\x95", "\xF0\x90\x90\x95", "DESERET SMALL LETTER CHEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001043E, "\xF0\x90\x90\xBE", "\xF0\x90\x90\x96", "\xF0\x90\x90\x96", "DESERET SMALL LETTER JEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001043F, "\xF0\x90\x90\xBF", "\xF0\x90\x90\x97", "\xF0\x90\x90\x97", "DESERET SMALL LETTER KAY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010440, "\xF0\x90\x91\x80", "\xF0\x90\x90\x98", "\xF0\x90\x90\x98", "DESERET SMALL LETTER GAY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010441, "\xF0\x90\x91\x81", "\xF0\x90\x90\x99", "\xF0\x90\x90\x99", "DESERET SMALL LETTER EF");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010442, "\xF0\x90\x91\x82", "\xF0\x90\x90\x9A", "\xF0\x90\x90\x9A", "DESERET SMALL LETTER VEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010443, "\xF0\x90\x91\x83", "\xF0\x90\x90\x9B", "\xF0\x90\x90\x9B", "DESERET SMALL LETTER ETH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010444, "\xF0\x90\x91\x84", "\xF0\x90\x90\x9C", "\xF0\x90\x90\x9C", "DESERET SMALL LETTER THEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010445, "\xF0\x90\x91\x85", "\xF0\x90\x90\x9D", "\xF0\x90\x90\x9D", "DESERET SMALL LETTER ES");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010446, "\xF0\x90\x91\x86", "\xF0\x90\x90\x9E", "\xF0\x90\x90\x9E", "DESERET SMALL LETTER ZEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010447, "\xF0\x90\x91\x87", "\xF0\x90\x90\x9F", "\xF0\x90\x90\x9F", "DESERET SMALL LETTER ESH");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010448, "\xF0\x90\x91\x88", "\xF0\x90\x90\xA0", "\xF0\x90\x90\xA0", "DESERET SMALL LETTER ZHEE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x00010449, "\xF0\x90\x91\x89", "\xF0\x90\x90\xA1", "\xF0\x90\x90\xA1", "DESERET SMALL LETTER ER");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001044A, "\xF0\x90\x91\x8A", "\xF0\x90\x90\xA2", "\xF0\x90\x90\xA2", "DESERET SMALL LETTER EL");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001044B, "\xF0\x90\x91\x8B", "\xF0\x90\x90\xA3", "\xF0\x90\x90\xA3", "DESERET SMALL LETTER EM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001044C, "\xF0\x90\x91\x8C", "\xF0\x90\x90\xA4", "\xF0\x90\x90\xA4", "DESERET SMALL LETTER EN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001044D, "\xF0\x90\x91\x8D", "\xF0\x90\x90\xA5", "\xF0\x90\x90\xA5", "DESERET SMALL LETTER ENG");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001044E, "\xF0\x90\x91\x8E", "\xF0\x90\x90\xA6", "\xF0\x90\x90\xA6", "DESERET SMALL LETTER OI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x0001044F, "\xF0\x90\x91\x8F", "\xF0\x90\x90\xA7", "\xF0\x90\x90\xA7", "DESERET SMALL LETTER EW");
  }
  
  TEST_F(CaseMapping, WarangCiti)
  {
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118A0, "\xF0\x91\xA3\x80", "\xF0\x91\xA2\xA0", "\xF0\x91\xA2\xA0", "WARANG CITI CAPITAL LETTER NGAA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118A1, "\xF0\x91\xA3\x81", "\xF0\x91\xA2\xA1", "\xF0\x91\xA2\xA1", "WARANG CITI CAPITAL LETTER A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118A2, "\xF0\x91\xA3\x82", "\xF0\x91\xA2\xA2", "\xF0\x91\xA2\xA2", "WARANG CITI CAPITAL LETTER WI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118A3, "\xF0\x91\xA3\x83", "\xF0\x91\xA2\xA3", "\xF0\x91\xA2\xA3", "WARANG CITI CAPITAL LETTER YU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118A4, "\xF0\x91\xA3\x84", "\xF0\x91\xA2\xA4", "\xF0\x91\xA2\xA4", "WARANG CITI CAPITAL LETTER YA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118A5, "\xF0\x91\xA3\x85", "\xF0\x91\xA2\xA5", "\xF0\x91\xA2\xA5", "WARANG CITI CAPITAL LETTER YO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118A6, "\xF0\x91\xA3\x86", "\xF0\x91\xA2\xA6", "\xF0\x91\xA2\xA6", "WARANG CITI CAPITAL LETTER II");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118A7, "\xF0\x91\xA3\x87", "\xF0\x91\xA2\xA7", "\xF0\x91\xA2\xA7", "WARANG CITI CAPITAL LETTER UU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118A8, "\xF0\x91\xA3\x88", "\xF0\x91\xA2\xA8", "\xF0\x91\xA2\xA8", "WARANG CITI CAPITAL LETTER E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118A9, "\xF0\x91\xA3\x89", "\xF0\x91\xA2\xA9", "\xF0\x91\xA2\xA9", "WARANG CITI CAPITAL LETTER O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118AA, "\xF0\x91\xA3\x8A", "\xF0\x91\xA2\xAA", "\xF0\x91\xA2\xAA", "WARANG CITI CAPITAL LETTER ANG");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118AB, "\xF0\x91\xA3\x8B", "\xF0\x91\xA2\xAB", "\xF0\x91\xA2\xAB", "WARANG CITI CAPITAL LETTER GA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118AC, "\xF0\x91\xA3\x8C", "\xF0\x91\xA2\xAC", "\xF0\x91\xA2\xAC", "WARANG CITI CAPITAL LETTER KO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118AD, "\xF0\x91\xA3\x8D", "\xF0\x91\xA2\xAD", "\xF0\x91\xA2\xAD", "WARANG CITI CAPITAL LETTER ENY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118AE, "\xF0\x91\xA3\x8E", "\xF0\x91\xA2\xAE", "\xF0\x91\xA2\xAE", "WARANG CITI CAPITAL LETTER YUJ");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118AF, "\xF0\x91\xA3\x8F", "\xF0\x91\xA2\xAF", "\xF0\x91\xA2\xAF", "WARANG CITI CAPITAL LETTER UC");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118B0, "\xF0\x91\xA3\x90", "\xF0\x91\xA2\xB0", "\xF0\x91\xA2\xB0", "WARANG CITI CAPITAL LETTER ENN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118B1, "\xF0\x91\xA3\x91", "\xF0\x91\xA2\xB1", "\xF0\x91\xA2\xB1", "WARANG CITI CAPITAL LETTER ODD");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118B2, "\xF0\x91\xA3\x92", "\xF0\x91\xA2\xB2", "\xF0\x91\xA2\xB2", "WARANG CITI CAPITAL LETTER TTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118B3, "\xF0\x91\xA3\x93", "\xF0\x91\xA2\xB3", "\xF0\x91\xA2\xB3", "WARANG CITI CAPITAL LETTER NUNG");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118B4, "\xF0\x91\xA3\x94", "\xF0\x91\xA2\xB4", "\xF0\x91\xA2\xB4", "WARANG CITI CAPITAL LETTER DA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118B5, "\xF0\x91\xA3\x95", "\xF0\x91\xA2\xB5", "\xF0\x91\xA2\xB5", "WARANG CITI CAPITAL LETTER AT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118B6, "\xF0\x91\xA3\x96", "\xF0\x91\xA2\xB6", "\xF0\x91\xA2\xB6", "WARANG CITI CAPITAL LETTER AM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118B7, "\xF0\x91\xA3\x97", "\xF0\x91\xA2\xB7", "\xF0\x91\xA2\xB7", "WARANG CITI CAPITAL LETTER BU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118B8, "\xF0\x91\xA3\x98", "\xF0\x91\xA2\xB8", "\xF0\x91\xA2\xB8", "WARANG CITI CAPITAL LETTER PU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118B9, "\xF0\x91\xA3\x99", "\xF0\x91\xA2\xB9", "\xF0\x91\xA2\xB9", "WARANG CITI CAPITAL LETTER HIYO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118BA, "\xF0\x91\xA3\x9A", "\xF0\x91\xA2\xBA", "\xF0\x91\xA2\xBA", "WARANG CITI CAPITAL LETTER HOLO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118BB, "\xF0\x91\xA3\x9B", "\xF0\x91\xA2\xBB", "\xF0\x91\xA2\xBB", "WARANG CITI CAPITAL LETTER HORR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118BC, "\xF0\x91\xA3\x9C", "\xF0\x91\xA2\xBC", "\xF0\x91\xA2\xBC", "WARANG CITI CAPITAL LETTER HAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118BD, "\xF0\x91\xA3\x9D", "\xF0\x91\xA2\xBD", "\xF0\x91\xA2\xBD", "WARANG CITI CAPITAL LETTER SSUU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118BE, "\xF0\x91\xA3\x9E", "\xF0\x91\xA2\xBE", "\xF0\x91\xA2\xBE", "WARANG CITI CAPITAL LETTER SII");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118BF, "\xF0\x91\xA3\x9F", "\xF0\x91\xA2\xBF", "\xF0\x91\xA2\xBF", "WARANG CITI CAPITAL LETTER VIYO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118C0, "\xF0\x91\xA3\x80", "\xF0\x91\xA2\xA0", "\xF0\x91\xA2\xA0", "WARANG CITI SMALL LETTER NGAA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118C1, "\xF0\x91\xA3\x81", "\xF0\x91\xA2\xA1", "\xF0\x91\xA2\xA1", "WARANG CITI SMALL LETTER A");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118C2, "\xF0\x91\xA3\x82", "\xF0\x91\xA2\xA2", "\xF0\x91\xA2\xA2", "WARANG CITI SMALL LETTER WI");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118C3, "\xF0\x91\xA3\x83", "\xF0\x91\xA2\xA3", "\xF0\x91\xA2\xA3", "WARANG CITI SMALL LETTER YU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118C4, "\xF0\x91\xA3\x84", "\xF0\x91\xA2\xA4", "\xF0\x91\xA2\xA4", "WARANG CITI SMALL LETTER YA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118C5, "\xF0\x91\xA3\x85", "\xF0\x91\xA2\xA5", "\xF0\x91\xA2\xA5", "WARANG CITI SMALL LETTER YO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118C6, "\xF0\x91\xA3\x86", "\xF0\x91\xA2\xA6", "\xF0\x91\xA2\xA6", "WARANG CITI SMALL LETTER II");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118C7, "\xF0\x91\xA3\x87", "\xF0\x91\xA2\xA7", "\xF0\x91\xA2\xA7", "WARANG CITI SMALL LETTER UU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118C8, "\xF0\x91\xA3\x88", "\xF0\x91\xA2\xA8", "\xF0\x91\xA2\xA8", "WARANG CITI SMALL LETTER E");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118C9, "\xF0\x91\xA3\x89", "\xF0\x91\xA2\xA9", "\xF0\x91\xA2\xA9", "WARANG CITI SMALL LETTER O");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118CA, "\xF0\x91\xA3\x8A", "\xF0\x91\xA2\xAA", "\xF0\x91\xA2\xAA", "WARANG CITI SMALL LETTER ANG");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118CB, "\xF0\x91\xA3\x8B", "\xF0\x91\xA2\xAB", "\xF0\x91\xA2\xAB", "WARANG CITI SMALL LETTER GA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118CC, "\xF0\x91\xA3\x8C", "\xF0\x91\xA2\xAC", "\xF0\x91\xA2\xAC", "WARANG CITI SMALL LETTER KO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118CD, "\xF0\x91\xA3\x8D", "\xF0\x91\xA2\xAD", "\xF0\x91\xA2\xAD", "WARANG CITI SMALL LETTER ENY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118CE, "\xF0\x91\xA3\x8E", "\xF0\x91\xA2\xAE", "\xF0\x91\xA2\xAE", "WARANG CITI SMALL LETTER YUJ");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118CF, "\xF0\x91\xA3\x8F", "\xF0\x91\xA2\xAF", "\xF0\x91\xA2\xAF", "WARANG CITI SMALL LETTER UC");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118D0, "\xF0\x91\xA3\x90", "\xF0\x91\xA2\xB0", "\xF0\x91\xA2\xB0", "WARANG CITI SMALL LETTER ENN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118D1, "\xF0\x91\xA3\x91", "\xF0\x91\xA2\xB1", "\xF0\x91\xA2\xB1", "WARANG CITI SMALL LETTER ODD");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118D2, "\xF0\x91\xA3\x92", "\xF0\x91\xA2\xB2", "\xF0\x91\xA2\xB2", "WARANG CITI SMALL LETTER TTE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118D3, "\xF0\x91\xA3\x93", "\xF0\x91\xA2\xB3", "\xF0\x91\xA2\xB3", "WARANG CITI SMALL LETTER NUNG");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118D4, "\xF0\x91\xA3\x94", "\xF0\x91\xA2\xB4", "\xF0\x91\xA2\xB4", "WARANG CITI SMALL LETTER DA");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118D5, "\xF0\x91\xA3\x95", "\xF0\x91\xA2\xB5", "\xF0\x91\xA2\xB5", "WARANG CITI SMALL LETTER AT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118D6, "\xF0\x91\xA3\x96", "\xF0\x91\xA2\xB6", "\xF0\x91\xA2\xB6", "WARANG CITI SMALL LETTER AM");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118D7, "\xF0\x91\xA3\x97", "\xF0\x91\xA2\xB7", "\xF0\x91\xA2\xB7", "WARANG CITI SMALL LETTER BU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118D8, "\xF0\x91\xA3\x98", "\xF0\x91\xA2\xB8", "\xF0\x91\xA2\xB8", "WARANG CITI SMALL LETTER PU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118D9, "\xF0\x91\xA3\x99", "\xF0\x91\xA2\xB9", "\xF0\x91\xA2\xB9", "WARANG CITI SMALL LETTER HIYO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118DA, "\xF0\x91\xA3\x9A", "\xF0\x91\xA2\xBA", "\xF0\x91\xA2\xBA", "WARANG CITI SMALL LETTER HOLO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118DB, "\xF0\x91\xA3\x9B", "\xF0\x91\xA2\xBB", "\xF0\x91\xA2\xBB", "WARANG CITI SMALL LETTER HORR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118DC, "\xF0\x91\xA3\x9C", "\xF0\x91\xA2\xBC", "\xF0\x91\xA2\xBC", "WARANG CITI SMALL LETTER HAR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118DD, "\xF0\x91\xA3\x9D", "\xF0\x91\xA2\xBD", "\xF0\x91\xA2\xBD", "WARANG CITI SMALL LETTER SSUU");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118DE, "\xF0\x91\xA3\x9E", "\xF0\x91\xA2\xBE", "\xF0\x91\xA2\xBE", "WARANG CITI SMALL LETTER SII");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118DF, "\xF0\x91\xA3\x9F", "\xF0\x91\xA2\xBF", "\xF0\x91\xA2\xBF", "WARANG CITI SMALL LETTER VIYO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118E0, "\xF0\x91\xA3\xA0", "\xF0\x91\xA3\xA0", "\xF0\x91\xA3\xA0", "WARANG CITI DIGIT ZERO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118E1, "\xF0\x91\xA3\xA1", "\xF0\x91\xA3\xA1", "\xF0\x91\xA3\xA1", "WARANG CITI DIGIT ONE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118E2, "\xF0\x91\xA3\xA2", "\xF0\x91\xA3\xA2", "\xF0\x91\xA3\xA2", "WARANG CITI DIGIT TWO");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118E3, "\xF0\x91\xA3\xA3", "\xF0\x91\xA3\xA3", "\xF0\x91\xA3\xA3", "WARANG CITI DIGIT THREE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118E4, "\xF0\x91\xA3\xA4", "\xF0\x91\xA3\xA4", "\xF0\x91\xA3\xA4", "WARANG CITI DIGIT FOUR");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118E5, "\xF0\x91\xA3\xA5", "\xF0\x91\xA3\xA5", "\xF0\x91\xA3\xA5", "WARANG CITI DIGIT FIVE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118E6, "\xF0\x91\xA3\xA6", "\xF0\x91\xA3\xA6", "\xF0\x91\xA3\xA6", "WARANG CITI DIGIT SIX");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118E7, "\xF0\x91\xA3\xA7", "\xF0\x91\xA3\xA7", "\xF0\x91\xA3\xA7", "WARANG CITI DIGIT SEVEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118E8, "\xF0\x91\xA3\xA8", "\xF0\x91\xA3\xA8", "\xF0\x91\xA3\xA8", "WARANG CITI DIGIT EIGHT");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118E9, "\xF0\x91\xA3\xA9", "\xF0\x91\xA3\xA9", "\xF0\x91\xA3\xA9", "WARANG CITI DIGIT NINE");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118EA, "\xF0\x91\xA3\xAA", "\xF0\x91\xA3\xAA", "\xF0\x91\xA3\xAA", "WARANG CITI NUMBER TEN");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118EB, "\xF0\x91\xA3\xAB", "\xF0\x91\xA3\xAB", "\xF0\x91\xA3\xAB", "WARANG CITI NUMBER TWENTY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118EC, "\xF0\x91\xA3\xAC", "\xF0\x91\xA3\xAC", "\xF0\x91\xA3\xAC", "WARANG CITI NUMBER THIRTY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118ED, "\xF0\x91\xA3\xAD", "\xF0\x91\xA3\xAD", "\xF0\x91\xA3\xAD", "WARANG CITI NUMBER FORTY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118EE, "\xF0\x91\xA3\xAE", "\xF0\x91\xA3\xAE", "\xF0\x91\xA3\xAE", "WARANG CITI NUMBER FIFTY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118EF, "\xF0\x91\xA3\xAF", "\xF0\x91\xA3\xAF", "\xF0\x91\xA3\xAF", "WARANG CITI NUMBER SIXTY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118F0, "\xF0\x91\xA3\xB0", "\xF0\x91\xA3\xB0", "\xF0\x91\xA3\xB0", "WARANG CITI NUMBER SEVENTY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118F1, "\xF0\x91\xA3\xB1", "\xF0\x91\xA3\xB1", "\xF0\x91\xA3\xB1", "WARANG CITI NUMBER EIGHTY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118F2, "\xF0\x91\xA3\xB2", "\xF0\x91\xA3\xB2", "\xF0\x91\xA3\xB2", "WARANG CITI NUMBER NINETY");
  	EXPECT_CASEMAPPING_CODEPOINT_EQ(0x000118FF, "\xF0\x91\xA3\xBF", "\xF0\x91\xA3\xBF", "\xF0\x91\xA3\xBF", "WARANG CITI OM");
  }