X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2FSize.java;h=a61f24cb79769b34c3a8e8b502542621232a81ed;hb=2bb2aa17b6533b2e8d2fc97997ed76bc38b6931d;hp=0cecada6c98192f7cfa94f874f937e1fe9831276;hpb=9749119587561f5848349b7a1b9e7d9342944f0d;p=Persons_Comparator.git diff --git a/src/Size.java b/src/Size.java index 0cecada..a61f24c 100644 --- a/src/Size.java +++ b/src/Size.java @@ -1,13 +1,23 @@ - -public class Size { +public class Size implements Comparable { private int max = 240; - private int min = 20; + private int min = 40; private int size; + Size() { + } + Size(int size) { setSize(size); } + public int getMin() { + return min; + } + + public int getMax() { + return max; + } + public int getSize() { return size; } @@ -15,10 +25,22 @@ public class Size { public void setSize(int size) { if (validateSize(size)) { this.size = size; - } /* FIXME: raise an error */ + } else { + throw new IllegalArgumentException("Size must be between " + this.getMin() + " and " + this.getMax()); + } } private boolean validateSize(int size) { - return (size > max || size < min); + return (size >= getMin() && size <= getMax()); + } + + @Override + public int compareTo(Size size) { + int distance = size.getSize() - this.getSize(); + if (distance >= 0) + return distance; + else + return -distance; + } }