From 00d41cbd4345103a58e2104a7e5f6d661b6be86b Mon Sep 17 00:00:00 2001 From: Trylz Date: Mon, 9 Mar 2015 20:54:04 -0400 Subject: [PATCH] Ajout enum --- .../glo4002/GRAISSE/Booking/Booking.java | 56 +++++++++++++++---- .../glo4002/GRAISSE/Booking/BookingTest.java | 19 +------ 2 files changed, 49 insertions(+), 26 deletions(-) diff --git a/GRAISSE/src/main/java/ca/ulaval/glo4002/GRAISSE/Booking/Booking.java b/GRAISSE/src/main/java/ca/ulaval/glo4002/GRAISSE/Booking/Booking.java index 2215bee..3f1e171 100644 --- a/GRAISSE/src/main/java/ca/ulaval/glo4002/GRAISSE/Booking/Booking.java +++ b/GRAISSE/src/main/java/ca/ulaval/glo4002/GRAISSE/Booking/Booking.java @@ -3,10 +3,21 @@ import ca.ulaval.glo4002.GRAISSE.Boardroom.BookingAssignable; public class Booking implements BookingAssignable { - private final int DEFAULT_PRIORITY = 3; + + public enum Priority { + VERY_LOW, + LOW, + MEDIUM, + HIGH, + VERY_HIGH + } + + private static final Priority DEFAULT_PRIORITY = Priority.MEDIUM; + private static final int A_POSITIVE_NUMBER =1; + private int numberOfSeatsNeeded; private boolean assigned; - private int priority; + private Priority priority; public Booking(int numberOfSeatsNeeded) { assigned = false; @@ -14,8 +25,7 @@ public Booking(int numberOfSeatsNeeded) { priority = DEFAULT_PRIORITY; } - public void setPriority(int priority) throws InvalidPriorityException{ - validatePriorityValue(priority); + public void setPriority(Priority priority) throws InvalidPriorityException{ this.priority = priority; } @@ -33,13 +43,39 @@ public boolean verifyNumberOfSeats(int numberOfSeats) { return this.numberOfSeatsNeeded <= numberOfSeats; } - private void validatePriorityValue(int priorityValueToValidate) throws InvalidPriorityException { - if (priorityValueToValidate < 1 || priorityValueToValidate > 5) { - throw new InvalidPriorityException(); - } - } public int comparePriorityToBooking(Booking bookingToCompare) { - return Integer.compare(this.priority, bookingToCompare.priority); + + int comparisonValue=0; + + if(priority == bookingToCompare.priority) return 0; + + switch(bookingToCompare.priority) + { + case VERY_LOW : + if(priority == Priority.LOW) comparisonValue= A_POSITIVE_NUMBER; + else comparisonValue= -A_POSITIVE_NUMBER; + break; + + case LOW : + if(priority == Priority.VERY_LOW) comparisonValue= -A_POSITIVE_NUMBER; + else comparisonValue= A_POSITIVE_NUMBER; + break; + + case MEDIUM : + if((priority == Priority.VERY_LOW)|| (priority == Priority.LOW) ) comparisonValue= -A_POSITIVE_NUMBER; + else comparisonValue= A_POSITIVE_NUMBER; + break; + + case HIGH : + if(priority == Priority.VERY_HIGH) comparisonValue= A_POSITIVE_NUMBER; + else comparisonValue= -A_POSITIVE_NUMBER; + break; + + case VERY_HIGH :comparisonValue= -A_POSITIVE_NUMBER;; + break; + } + + return comparisonValue; } } diff --git a/GRAISSE/src/test/java/ca/ulaval/glo4002/GRAISSE/Booking/BookingTest.java b/GRAISSE/src/test/java/ca/ulaval/glo4002/GRAISSE/Booking/BookingTest.java index 8ccebbf..abdf17e 100644 --- a/GRAISSE/src/test/java/ca/ulaval/glo4002/GRAISSE/Booking/BookingTest.java +++ b/GRAISSE/src/test/java/ca/ulaval/glo4002/GRAISSE/Booking/BookingTest.java @@ -15,12 +15,10 @@ public class BookingTest { private static final int BIGGER = 1; private static final int SMALLER = -1; - private static final int PRIORITY_VALUE_OF_BOOKING = 2; - private static final int PRIORITY_VALUE_OF_BOOKING_BIGGER = 3; - private static final int PRIORITY_VALUE_OF_BOOKING_SMALLER = 1; + private static final Booking.Priority PRIORITY_VALUE_OF_BOOKING = Booking.Priority.LOW; + private static final Booking.Priority PRIORITY_VALUE_OF_BOOKING_BIGGER =Booking.Priority.HIGH; + private static final Booking.Priority PRIORITY_VALUE_OF_BOOKING_SMALLER = Booking.Priority.VERY_LOW; - private static final int INVALID_PRIORITY_VALUE_OF_BOOKING_BECAUSE_IT_IS_TO_LOW = 0; - private static final int INVALID_PRIORITY_VALUE_OF_BOOKING_BECAUSE_IT_IS_TO_HIGH = 6; private static final int NUMBER_OF_SEATS_IN_BOOKING = 10; @@ -46,17 +44,6 @@ public void setUp() throws InvalidPriorityException { bookingWithSmallerPriority.setPriority(PRIORITY_VALUE_OF_BOOKING_SMALLER); } - @Test(expected = InvalidPriorityException.class) - public void withInvalidBecauseItIsToHighPriorityValueConstructorShouldThrowInvalidPriorityValue() throws InvalidPriorityException { - booking = new Booking(NUMBER_OF_SEATS_IN_BOOKING); - booking.setPriority(INVALID_PRIORITY_VALUE_OF_BOOKING_BECAUSE_IT_IS_TO_HIGH); - } - - @Test(expected = InvalidPriorityException.class) - public void withInvalidBecauseItIsToLowPriorityValueConstructorShouldThrowInvalidPriorityValue() throws InvalidPriorityException { - booking = new Booking(NUMBER_OF_SEATS_IN_BOOKING); - booking.setPriority(INVALID_PRIORITY_VALUE_OF_BOOKING_BECAUSE_IT_IS_TO_LOW); - } @Test public void withValidPriorityValueConstructorShouldNotThrowInvalidPriorityValue() throws InvalidPriorityException {