Add more unit tests and change the way the two create methods return

In addition to adding more tests, the second commit shortens a couple of tests written in the first commit by making use of the newly defined __eq__() method.