@Test
public void testWordShape() {

   testWordShape("This", "Xxxx", "Xx");
    testWordShape("Equals", "Xxxx", "Xx");
    testWordShape("O'Conor", "X'Xxxx", "X'Xx");
    testWordShape("McDonalds", "XxXxxx", "XxXx");
    testWordShape("any-where", "xx-xxx", "x-x");
    testWordShape("1.First", "d.Xxxx", "d.Xx");
    testWordShape("ThisIsCamelCase", "XxXxXxXxxx", "XxXxXxXx");
    testWordShape("This:happens", "Xx:xxx", "Xx:x");
    testWordShape("ABC", "XXX", "X");
    testWordShape("AC", "XX", "X");
    testWordShape("A", "X", "X");
    testWordShape("Ab", "Xx", "Xx");
    testWordShape("AbA", "XxX", "XxX");
    testWordShape("uü", "xx", "x");
    testWordShape("Üwe", "Xxx", "Xx");
    testWordShape(" ", " ", " ");
    testWordShape("Tes9t99", "Xxdxdd", "Xxdxd");
    testWordShape("T", "X", "X");
}