Obsidian is a unit test generator for java built for the JUnit framework. Obsidian concentrates on building standardized test implementations that are comprehensive and easy to maintain, allowing the test engineer to concentrate on test case instantiation. This is in contrast to the strategies of many unit test generators, which focus on generating test cases. We have found that these generated test cases are coupled with implementations that are often difficult to maintain and sometimes non comprehensive. Obsidian employs a set of design patterns that are built around a method test’s necessities for compilation, exception handling, and test case iteration to generate these implementations.