Added tests for characters, covers most of the code

all tests pass on my machine
one test is disabled because it causes an error I don't understand