Fix .compareTo() calculation in Size and Weight classes.
[Persons_Comparator.git] / src / Size.java
index c2392073b34662affdc474f619a1ab27519e2a98..6946e5a8967e2358072fccd1fb7fa13e619e9f9d 100644 (file)
@@ -3,6 +3,9 @@ public class Size implements Comparable<Size> {
     private int min = 20;
     private int size;
 
+    Size() {
+    }
+
     Size(int size) {
         setSize(size);
     }
@@ -15,17 +18,17 @@ public class Size implements Comparable<Size> {
         if (validateSize(size)) {
             this.size = size;
         } else {
-            throw new IllegalArgumentException("Size must be between" + this.min + " and " + this.max);
+            throw new IllegalArgumentException("Size must be between " + this.min + " and " + this.max);
         }
     }
 
     private boolean validateSize(int size) {
-        return (size > max || size < min);
+        return (size >= min && size <= max);
     }
 
     @Override
     public int compareTo(Size size) {
-        int distance = size.size - this.getSize();
+        int distance = size.getSize() - this.getSize();
         if (distance >= 0)
             return distance;
         else