public void tearDown() throws Exception {
        super.tearDown();

        // Reset static fields after use (to not confuse other test classes).
        // TODO: this ideally goes in a static @AfterClass method, but that's not supported in JUnit 3.
        for (String fieldName : Arrays.asList("INSTANCE", "provider")) {
            final Field field = GroupManager.class.getDeclaredField(fieldName);
            field.setAccessible(true);
            field.set(null, null);
            field.setAccessible(false);
        }

        final Field field = GroupEventDispatcher.class.getDeclaredField("listeners");
        field.setAccessible(true);
        ((List<?>)field.get(null)).clear();
        field.setAccessible(false);

        Fixtures.clearExistingProperties();
    }
Unit tests that verify the functionality of {@link GroupManager}.

Implementation-wise, this class extends for DBTestCase, which is as JUnit 3 derivative. Practically, this means that
Junit 4 annotations in this class will be ignored.

@author Guus der Kinderen, guus.der.kinderen@gmail.com
xmppserver/src/test/java/org/jivesoftware/openfire/group/GroupManagerNoMockTest.java