Cocoa Units Project Goals
The major goal of the Cocoa Units Project is to create comprehenisve regression tests for every Objective-C API in Apple's Cocoa frameworks for Mac OS X. Creating these unit tests will yield a library of example code for every public method in every Cocoa class, as well as helping to find bugs in Apple's frameworks.
"But doesn't Apple do its own set of regression tests?" If they did, we wouldn't have bugs in the Cocoa Frameworks, but we do, so they don't have enough regression tests. If this project succeeds, it is our hope that we may use our tests before Apple releases new/revised APIs, so that buggy APIs are identified and fixed before the actual release.
The project also hopes to provide a comprehensive library of example code. This will be especially beneficial to Cocoa developers that need to see an API in action so that they can implement it in their code.
Our first task is to write tests for the Foundation framework in OS X. This framework provides classes that form the foundation for most Cocoa Apps. More specifically, the Foundation framework provides classes for value objects, strings, collection classes, operating system services, file system services, interprocess communication, locking/threading, notifications, archiving and serialization, Objective-C language services, scripting, and distributed objects.
Our next task is to write tests for the Application Kit framework in OS X. This framework provides classes that are used for GUI-based Cocoa Apps. Specifically, AppKit provides classes for user interface elements, fonts, graphics, color support, document support, printing, extended operating system services, international character input support, and Interface Builder support.
After finishing these two frameworks, we may decide to create tests for the Java versions of the frameworks, as well as the AppleScript Studio framework, as these both fall under Cocoa. However, our major objectives are to finish the Objective-C Foundation and AppKit Frameworks.