PyTest is a small package that facilitates the unit testing process by aggregating PyUnit tests and making them easier to call from the command line and from within other unit tests. Typical tests are written with a 1-1 relationship with the module they test. In packages with multiple modules, it can become cumbersome to run all of the unit tests from the command line. PyTest can run all of the unit tests in a directory by locating all modules that begin with "test_". Reflection is then used to extract the TestCase class, and a suite is constructed, reflecting all test cases. It can also be used programmatically in a test_all.py.
Given a collection of Self objects, Guru produces an equivalent set of objects in which there is no duplication of methods or certain types of expressions. To achieve this, it creates a replacement inheritance hierarchy and methods for factoring out expressions. The central motivation is that as systems evolve the design can deteriorate. Automatically refactoring a system can help a programmer restructure the system to reverse any deterioration. Guru has been developed in and for the object-centric language Self.
SchemaScanner is a Java/JDBC tool designed to assist developers and DBAs in examining and understanding Oracle database schemas and database contents. It automatically scans an Oracle database, verifies that the database design conforms to generally accepted design principles, and samples the attributes of all specified entities to determine basic data mining elements, including uniqueness, percentage null, and data variance. It produces an XML output file which can be formatted using supplied XSL output formats to generate a reverse-engineered schema, an attribute usage profile, or document schema structure exceptions. Since the output format is well-formed XML, custom reports can be easily constructed from the generated XML file using XSL. A limited use version is available as freeware for non-commercial and educational use.
Component Templates for Assets and Artifacts is an Eclipse-based toolkit that allows developers to focus on business aspects of the development process instead of the technological. This Java-implemented toolkit automatically enforces all template-defined constraints, which makes it easier to create ready-to-use and reusable assets or artifacts.
retainCounter is an application that converts a simple [object release] into a NSLog(@"object retainCount: %i",[object retainCount]); [object release]; command. This is sometimes useful if developers wish to know the current count of an object before it is released, which makes it easier to detect memory leaks.