The screenshots below show Rudolph's VisualTestEngine at work. The VisualTestEngine is a set of test classes and a running environment used to test the correct working of the AWT. The tests can also be run unattended (``autorun'' mode), to test the stability of the AWT (and underlying components) under a continuously changing load.
Test Color.ColorInheritance checks that components really do inherit their foreground and background colours from their container, in this case the rather striking colour scheme red-on-yellow. |
![]() |
Test Graphics.DottedText is actually a test of painting in an off-screen image. The words "Rudolph" and "scanning" scroll in opposite directions when the test is running. |
![]() |
Test Component.CreateImage is also concerned with off-screen drawing. In use the word ACUNIA scrolls up the page while the circular "bubbles" float up at different speeds. Very pretty. |
![]() |
Test event.ComponentCombinedEvents tests handling of mouse events in inner components which implement MouseListener, MouseMotionListener, or both. |
![]() |
Test Graphics.DrawStringClipped draws text on various types of AWT component and checks that in each case text clipping is performed correctly. |
![]() |
Test List.SingleListTest draws three lists on the screen, and allows selected objects to be moved from one list to another using the three buttons at the bottom of the screen. |
![]() |
Test Graphics.FillPoly is an applet which can be used to draw and then fill a polygon. As the example shows, you can create some strangely-shaped polygons ... |
![]() |
In the hands of our resident graphical genius Niklas, this test becomes a powerful drawing tool. See his masterwork opposite. (Known bug: the wheels don't go round). |
![]() |
Test misc.MemoryUsage draws a graph of memory usage. The example shows the results of running the tests for a while in "autorun" mode: the complete cycle of tests has run 186 times, during which time heap occupancy fluctated between 12MB and 21MB. (Paradoxically, the memory usage at the time the screenshot was taken was only 11MB. The test calls Runtime.freeMemory() just after it starts, when many objects have just been created, so it tends to overestimate the minimum memory used). |
![]() |