Author: rwhitcomb
Date: Sun Feb 25 08:15:16 2018
New Revision: 1825291

URL: http://svn.apache.org/viewvc?rev=1825291&view=rev
Log:
PIVOT-1031:  Finish off the Gauge listener tests, and in the process
fix the warning/critical level listener that wasn't being called.

Modified:
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Gauge.java
    pivot/trunk/wtk/test/org/apache/pivot/wtk/test/GaugeTest.java

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Gauge.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Gauge.java?rev=1825291&r1=1825290&r2=1825291&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Gauge.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Gauge.java Sun Feb 25 08:15:16 2018
@@ -251,7 +251,12 @@ public class Gauge<T extends Number> ext
             setOrCheckClass(warningLevel);
         }
 
-        this.warningLevel = warningLevel;
+        T previousWarningLevel = this.warningLevel;
+
+        if (previousWarningLevel != warningLevel) {
+            this.warningLevel = warningLevel;
+            gaugeListeners.warningCriticalLevelChanged(this, 
previousWarningLevel, this.criticalLevel);
+        }
     }
 
     /**
@@ -285,7 +290,12 @@ public class Gauge<T extends Number> ext
             setOrCheckClass(criticalLevel);
         }
 
-        this.criticalLevel = criticalLevel;
+        T previousCriticalLevel = this.criticalLevel;
+
+        if (previousCriticalLevel != criticalLevel) {
+            this.criticalLevel = criticalLevel;
+            gaugeListeners.warningCriticalLevelChanged(this, 
this.warningLevel, previousCriticalLevel);
+        }
     }
 
     /**
@@ -312,7 +322,7 @@ public class Gauge<T extends Number> ext
 
         if ((previousText == null && text != null) ||
             (previousText != null && text == null) ||
-            (!previousText.equals(text))) {
+            (previousText != null && !previousText.equals(text))) {
             this.text = text;
             gaugeListeners.textChanged(this, previousText);
         }

Modified: pivot/trunk/wtk/test/org/apache/pivot/wtk/test/GaugeTest.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/wtk/test/org/apache/pivot/wtk/test/GaugeTest.java?rev=1825291&r1=1825290&r2=1825291&view=diff
==============================================================================
--- pivot/trunk/wtk/test/org/apache/pivot/wtk/test/GaugeTest.java (original)
+++ pivot/trunk/wtk/test/org/apache/pivot/wtk/test/GaugeTest.java Sun Feb 25 
08:15:16 2018
@@ -32,6 +32,7 @@ public class GaugeTest implements GaugeL
     private int valueChangeCount = 0;
     private int textChangeCount = 0;
     private int minMaxChangeCount = 0;
+    private int warningCriticalChangeCount = 0;
 
     @Override
     public void originChanged(Gauge<Integer> gauge, Origin previousOrigin) {
@@ -57,6 +58,12 @@ public class GaugeTest implements GaugeL
         minMaxChangeCount++;
     }
 
+    @Override
+    public void warningCriticalLevelChanged(Gauge<Integer> gauge, Integer 
previousWarningLevel, Integer previousCriticalLevel) {
+        System.out.println("Warning or Critical level changed: warning=" + 
gauge.getWarningLevel() + ", critical=" + gauge.getCriticalLevel());
+        warningCriticalChangeCount++;
+    }
+
     @Test
     public void testListeners() {
         Gauge<Integer> gauge = new Gauge<>();
@@ -75,6 +82,22 @@ public class GaugeTest implements GaugeL
         gauge.setMinValue(0);
         gauge.setMaxValue(100);
 
+        gauge.setWarningLevel(10);
+        gauge.setWarningLevel(80);
+        gauge.setWarningLevel(80);
+        gauge.setCriticalLevel(10);
+        gauge.setCriticalLevel(10);
+        gauge.setCriticalLevel(90);
+
+        gauge.setText(null);
+        gauge.setText("");
+        gauge.setText("");
+        gauge.setText("20%");
+        gauge.setText("20%");
+        gauge.setText("100%");
+        gauge.setText(null);
+        gauge.setText("100%");
+
         gauge.setValue(0);
         gauge.setValue(2);
         gauge.setValue(10);
@@ -83,6 +106,8 @@ public class GaugeTest implements GaugeL
         // Now check for proper listener event counts
         assertEquals(originChangeCount, 4);
         assertEquals(minMaxChangeCount, 2);
+        assertEquals(warningCriticalChangeCount, 4);
+        assertEquals(textChangeCount, 5);
         assertEquals(valueChangeCount, 4);
     }
 }


Reply via email to