junitx.framework,
other changes have been minor. Now my CVS server will be the
central repository for new versions again, so there will be
a changelog again.
thread in TestThreads to achieve
JDK 1.2.2 compatibility (thanks to H. Schmidt)
TestCase has been renamed
to BasicTestCase so that it's source need not
to be changed much.
TestCase allows access to package
private classes in other packages as well as private and protected
fields and methods in any class. The precondition is that a
TestProxy class exists in the package containing
the class which should be tested.
Most of the work is delegated to the TestProxy class.
TestProxy is also a new class and handles most of the
work of accessing classes, fields and methods. Part of the work is
delegated to the new TestedClass class.
TestProxyFactory is also new and keeps track of all
known TestProxy classes in packages containing classes
to be tested.
TestedClass is an enhanced version of the
Java Class class itself. Especially the
get(Declared)Methods and
get(Declared)Constructors methods of Java do not
return all methods and constructors. This problem has been solved
with this new class.
TestAccessException is used instead of
a bunch of exception connected to the reflection API.
TestPackage is a marker interface
for classes testing a whole package.
framework-dummy contains minimal versions
of required classes of the framework package to be distributed with
an application. This is necessary it TestProxy classes
should not be removed from production code packages for convenience.
addTest(Class)
in the class TestSuite. The argument is checked
to be assignable from Test.class so that there
is some basic type safety.
Assert.assertEquals methods for float, boolean,
byte, char, int, short have been added so that all primitive
data types are covered.
Assert.assertEquals (Object, Object) has been added so
that all assertEquals methods are pairs for one
datatype, once without messsage string and once with message.
StringUtil class has been enhanced with new
helper methods.
TestCaseClassLoader
has been fixed so that the case without
excluded.properties file works the same like
the case with the file.
isNull in MoneyBag. Previously
the bag has been null if it did not contain any elements. Now
it is also null if all elements are zero. But there is still the
case missing that everything adds up to zero after multiplying
with the respective exchange rates.
Test to distinguish
tests from helper classes.
production package contains classes which
are used by the test cases. There are several
TestProxy classes contained to access package
private classes as well as private and protected
fields, methods and constructors.
TestPackage classes for the major
test packages to allow easy execution of bunchs of tests
at different granularity levels. The new addTest
method of TestSuite has been used to put
together the test suites.
TestExceptions tests the
TestAccessException from the
junit.framework package.
TestInner tests access to an inner class of
a package private class in another package.
TestInverter tests access to private fields
and methods by key.
TestPrivate tests access to private fields
and methods.
TestProxiedInverter tests access to the
Inverter class using the TestProxy
in the respective production package.
TestSimpleTypes tests access to simple data
typed private fields in a class in another package.
TestTestProxy tests the TestProxy
class.
WasRun has been duplicated since it has not
been public in its now splitted package.
UIHelper contains common code used in
several classes of the UI.run() methods to the SwingUI to
support executing the UI from test packages after refactoring the
UI.
© 2001 A. Heilwagen