From 06422ffbf023c8e23ba035d3d9571d4ac3d7f740 Mon Sep 17 00:00:00 2001 From: LO Kam Tao Leo Date: Wed, 2 Nov 2022 20:20:21 +0000 Subject: [PATCH] New enums --- .../leolo/nrdatad/model/AssociationCategory.java | 27 +++++++++++++++++++ .../leolo/nrdatad/model/ScheduleAssociation.java | 2 ++ .../nrdatad/model/ShortTermPlanningIndicator.java | 30 +++++++++++++++++++++ .../java/org/leolo/nrdatad/ScheduleEnumTest.java | 31 ++++++++++++++++++++++ 4 files changed, 90 insertions(+) create mode 100644 src/main/java/org/leolo/nrdatad/model/AssociationCategory.java create mode 100644 src/main/java/org/leolo/nrdatad/model/ScheduleAssociation.java create mode 100644 src/main/java/org/leolo/nrdatad/model/ShortTermPlanningIndicator.java create mode 100644 src/test/java/org/leolo/nrdatad/ScheduleEnumTest.java diff --git a/src/main/java/org/leolo/nrdatad/model/AssociationCategory.java b/src/main/java/org/leolo/nrdatad/model/AssociationCategory.java new file mode 100644 index 0000000..2e65194 --- /dev/null +++ b/src/main/java/org/leolo/nrdatad/model/AssociationCategory.java @@ -0,0 +1,27 @@ +package org.leolo.nrdatad.model; + +public enum AssociationCategory { + JOIN("JJ"), + DIVIDE("VV"), + NEXT("NP"); + + private String code; + + private AssociationCategory(String code){ + this.code = code; + } + + public String getCode() { + return code; + } + + public static AssociationCategory parseCode(String code){ + if(code==null) + return null; + for(AssociationCategory ac: AssociationCategory.values()){ + if(code.equalsIgnoreCase(ac.code)) + return ac; + } + return null; + } +} diff --git a/src/main/java/org/leolo/nrdatad/model/ScheduleAssociation.java b/src/main/java/org/leolo/nrdatad/model/ScheduleAssociation.java new file mode 100644 index 0000000..a3c792b --- /dev/null +++ b/src/main/java/org/leolo/nrdatad/model/ScheduleAssociation.java @@ -0,0 +1,2 @@ +package org.leolo.nrdatad.model;public class ScheduleAssociation { +} diff --git a/src/main/java/org/leolo/nrdatad/model/ShortTermPlanningIndicator.java b/src/main/java/org/leolo/nrdatad/model/ShortTermPlanningIndicator.java new file mode 100644 index 0000000..921b6c7 --- /dev/null +++ b/src/main/java/org/leolo/nrdatad/model/ShortTermPlanningIndicator.java @@ -0,0 +1,30 @@ +package org.leolo.nrdatad.model; + +public enum ShortTermPlanningIndicator { + + CANCELLATION("C"), + NEW("N"), + OVERLAY("O"), + PERMANENT("P"); + + private String code; + + private ShortTermPlanningIndicator(String code){ + this.code = code; + } + + public String getCode() { + return code; + } + + + public static ShortTermPlanningIndicator parseCode(String code){ + if(code==null) + return null; + for(ShortTermPlanningIndicator stpi: ShortTermPlanningIndicator.values()){ + if(code.equalsIgnoreCase(stpi.code)) + return stpi; + } + return null; + } +} diff --git a/src/test/java/org/leolo/nrdatad/ScheduleEnumTest.java b/src/test/java/org/leolo/nrdatad/ScheduleEnumTest.java new file mode 100644 index 0000000..f712629 --- /dev/null +++ b/src/test/java/org/leolo/nrdatad/ScheduleEnumTest.java @@ -0,0 +1,31 @@ +package org.leolo.nrdatad; + +import org.junit.Test; +import org.leolo.nrdatad.model.AssociationCategory; +import org.leolo.nrdatad.model.ShortTermPlanningIndicator; + +import static org.junit.Assert.*; + +public class ScheduleEnumTest { + + @Test + public void testAssociationCategory(){ + assertEquals(AssociationCategory.DIVIDE, AssociationCategory.parseCode("VV")); + assertEquals(AssociationCategory.JOIN, AssociationCategory.parseCode("JJ")); + assertEquals(AssociationCategory.NEXT, AssociationCategory.parseCode("NP")); + assertNull(AssociationCategory.parseCode("XX")); + assertNull(AssociationCategory.parseCode(null)); + assertNull(AssociationCategory.parseCode("")); + } + + @Test public void testShortTermPlanningIndicator(){ + assertEquals(ShortTermPlanningIndicator.CANCELLATION, ShortTermPlanningIndicator.parseCode("C")); + assertEquals(ShortTermPlanningIndicator.NEW, ShortTermPlanningIndicator.parseCode("N")); + assertEquals(ShortTermPlanningIndicator.PERMANENT, ShortTermPlanningIndicator.parseCode("P")); + assertEquals(ShortTermPlanningIndicator.OVERLAY, ShortTermPlanningIndicator.parseCode("O")); + assertNull(ShortTermPlanningIndicator.parseCode("X")); + assertNull(ShortTermPlanningIndicator.parseCode(null)); + assertNull(ShortTermPlanningIndicator.parseCode("")); + } + +}