Class GroupedSmoke

java.lang.Object
com.studentgui.tools.GroupedSmoke

public class GroupedSmoke extends Object
Automated smoke test for grouped chart rendering and multi-panel PNG export.

Verifies that JLineGraph correctly renders multiple stacked phase-grouped charts (as used by assessment pages like Braille, Abacus, etc.). Generates synthetic data with explicit phase prefixes (P1, P2, P3) and exports to PNG.

Purpose:

Usage:


 java -cp StudentDataGUI.jar com.studentgui.tools.GroupedSmoke
 

Expected Output:

 Grouped smoke wrote chart to: /path/to/app_home/StudentDataFiles/Grouped_Smoke/plots/GroupedSmoke-2024-01-15.png
 Exists: true
 

Test Data Structure:

  • Part codes: 9 codes with prefixes: P1 (3 items), P2 (2 items), P3 (4 items)
  • Sessions: 3 synthetic sessions with deterministic scores (i + s) % 5
  • Expected output: 3 stacked chart panels (one per phase group) in a single 800×600px PNG

Output Location: app_home/StudentDataFiles/Grouped_Smoke/plots/GroupedSmoke-<ISO_DATE>.png

Validation: Inspect the generated PNG to verify:

  1. Three distinct chart panels labeled "P1 - 3 items", "P2 - 2 items", "P3 - 4 items"
  2. Each panel shows 3 line series (2 gray historical, 1 black latest)
  3. Colored background bands visible in all panels
See Also:
  • Constructor Details

    • GroupedSmoke

      public GroupedSmoke()
      Public no-arg constructor to document the utility nature of this class. Kept for completeness; all work is performed from main(String[]).
  • Method Details

    • main

      public static void main(String[] args) throws Exception
      Entry point for the grouped smoke utility.
      Parameters:
      args - ignored
      Throws:
      Exception - on unexpected IO or charting errors