CompetitionGroup can test birthyear

master
Markus Kreth 7 years ago
parent f19ca264bb
commit 47ff07c9a9
  1. 19
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/CompetitionGroup.java
  2. 41
      src/test/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/CompetitionGroupTest.java

@ -23,6 +23,14 @@ public class CompetitionGroup implements Serializable {
private int minBirthYear; private int minBirthYear;
private int maxBirthYear = OPEN_END_MAX_YEAR; private int maxBirthYear = OPEN_END_MAX_YEAR;
private CompetitionGroup() {
}
CompetitionGroup(int oldest, int youngest) {
this.maxBirthYear = youngest;
this.minBirthYear = oldest;
}
public int getOldestBirthYear() { public int getOldestBirthYear() {
return minBirthYear; return minBirthYear;
} }
@ -46,7 +54,12 @@ public class CompetitionGroup implements Serializable {
competitionGroup.minBirthYear = OPEN_END_MIN_YEAR; competitionGroup.minBirthYear = OPEN_END_MIN_YEAR;
} }
} }
if (competitionGroup.maxBirthYear < competitionGroup.minBirthYear) {
int tmp = competitionGroup.maxBirthYear;
competitionGroup.maxBirthYear = competitionGroup.minBirthYear;
competitionGroup.minBirthYear = tmp;
}
return competitionGroup; return competitionGroup;
} }
@ -67,4 +80,8 @@ public class CompetitionGroup implements Serializable {
return line.toLowerCase().contains(youngest); return line.toLowerCase().contains(youngest);
} }
} }
public boolean isBirthyearInGroup(int birthYear) {
return maxBirthYear >= birthYear && minBirthYear <= birthYear;
}
} }

@ -7,31 +7,34 @@ import java.util.regex.Pattern;
import org.junit.Test; import org.junit.Test;
public class CompetitionGroupLineParseTest { public class CompetitionGroupTest {
@Test @Test
public void testTwo4DigitYears() { public void testTwo4DigitYears() {
CompetitionGroup group = CompetitionGroup.parseLine("Schüler – innen E 2008 -2009 P4"); CompetitionGroup group = CompetitionGroup.parseLine("Schüler – innen E 2008 -2009 P4");
assertEquals(2009, group.getYoungestBirthYear()); assertEquals(2009, group.getYoungestBirthYear());
assertValuesOrder(group);
group = CompetitionGroup.parseLine("Heranwachsende 2001-1995 P8"); group = CompetitionGroup.parseLine("Heranwachsende 2001-1995 P8");
assertEquals(1995, group.getYoungestBirthYear()); assertEquals(1995, group.getOldestBirthYear());
assertValuesOrder(group);
group = CompetitionGroup.parseLine("Jugend C: Jg. 2004/2005 W11 - W13"); group = CompetitionGroup.parseLine("Jugend C: Jg. 2004/2005 W11 - W13");
assertEquals(2005, group.getYoungestBirthYear()); assertEquals(2005, group.getYoungestBirthYear());
assertValuesOrder(group);
group = CompetitionGroup.parseLine("Schüler – innen E 2008 -2009 P4"); group = CompetitionGroup.parseLine("Schüler – innen E 2008 -2009 P4");
assertEquals(2008, group.getOldestBirthYear()); assertEquals(2008, group.getOldestBirthYear());
assertValuesOrder(group);
group = CompetitionGroup.parseLine("Jugend E: 2008 und jünger P8 - W11");
assertEquals(2008, group.getOldestBirthYear());
group = CompetitionGroup.parseLine("Heranwachsende 2001-1995 P8"); group = CompetitionGroup.parseLine("Heranwachsende 2001-1995 P8");
assertEquals(2001, group.getOldestBirthYear()); assertEquals(2001, group.getYoungestBirthYear());
assertValuesOrder(group);
group = CompetitionGroup.parseLine("Jugend C: Jg. 2004/2005 W11 - W13"); group = CompetitionGroup.parseLine("Jugend C: Jg. 2004/2005 W11 - W13");
assertEquals(2004, group.getOldestBirthYear()); assertEquals(2004, group.getOldestBirthYear());
assertValuesOrder(group);
} }
@ -40,18 +43,44 @@ public class CompetitionGroupLineParseTest {
CompetitionGroup group = CompetitionGroup.parseLine("Erwachsene: Jg. 1996 und älter W15 - FIG A"); CompetitionGroup group = CompetitionGroup.parseLine("Erwachsene: Jg. 1996 und älter W15 - FIG A");
assertEquals(1996, group.getYoungestBirthYear()); assertEquals(1996, group.getYoungestBirthYear());
assertValuesOrder(group);
} }
@Test @Test
public void testOneYearIsOldest() { public void testOneYearIsOldest() {
CompetitionGroup group = CompetitionGroup.parseLine("Schüler – innen F 2010 und jünger P3"); CompetitionGroup group = CompetitionGroup.parseLine("Schüler – innen F 2010 und jünger P3");
assertEquals(2010, group.getOldestBirthYear()); assertEquals(2010, group.getOldestBirthYear());
assertValuesOrder(group);
group = CompetitionGroup.parseLine("Jugend E: 2008 und jünger P8 - W11"); group = CompetitionGroup.parseLine("Jugend E: 2008 und jünger P8 - W11");
assertEquals(2008, group.getOldestBirthYear()); assertEquals(2008, group.getOldestBirthYear());
assertValuesOrder(group);
} }
@Test
public void testTestConstructor() {
CompetitionGroup g = new CompetitionGroup(2008, 2009);
assertValuesOrder(g);
}
@Test
public void testBirthYearTest() {
CompetitionGroup g = new CompetitionGroup(2000, 2009);
for (int i = 2000; i<=2009; i++) {
assertTrue(g.isBirthyearInGroup(i));
}
assertFalse(g.isBirthyearInGroup(0));
assertFalse(g.isBirthyearInGroup(1999));
assertFalse(g.isBirthyearInGroup(2010));
assertFalse(g.isBirthyearInGroup(9999));
}
CompetitionGroup assertValuesOrder(CompetitionGroup g) {
assertTrue(g.getOldestBirthYear() <= g.getYoungestBirthYear());
return g;
}
@Test @Test
public void testRegexPattern() { public void testRegexPattern() {
Pattern pattern = Pattern.compile("\\d{2,4}"); Pattern pattern = Pattern.compile("\\d{2,4}");
Loading…
Cancel
Save