]> WPIA git - gigi.git/commitdiff
move of-age-test to calendar util
authorFelix Dörre <felix@dogcraft.de>
Thu, 26 May 2016 19:18:54 +0000 (21:18 +0200)
committerFelix Dörre <felix@dogcraft.de>
Mon, 30 May 2016 11:35:40 +0000 (13:35 +0200)
Change-Id: I4b331c1cad92e5d3f06dfe8b325ae97198793e11

src/org/cacert/gigi/dbObjects/User.java
src/org/cacert/gigi/util/CalendarUtil.java
tests/org/cacert/gigi/TestCalendarUtil.java

index d68b183fa330ead188befeecd67eb73bd1e74c31..99d44a7c3674a1b6fcc329e76be731bc5de90025 100644 (file)
@@ -1,7 +1,6 @@
 package org.cacert.gigi.dbObjects;
 
 import java.util.ArrayList;
-import java.util.Calendar;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.LinkedList;
@@ -14,6 +13,7 @@ import org.cacert.gigi.database.GigiPreparedStatement;
 import org.cacert.gigi.database.GigiResultSet;
 import org.cacert.gigi.localisation.Language;
 import org.cacert.gigi.output.DateSelector;
+import org.cacert.gigi.util.CalendarUtil;
 import org.cacert.gigi.util.DayDate;
 import org.cacert.gigi.util.Notary;
 import org.cacert.gigi.util.PasswordHash;
@@ -132,7 +132,7 @@ public class User extends CertificateOwner {
     }
 
     public boolean canAssure() {
-        if ( !isOfAge(14)) { // PoJAM
+        if ( !CalendarUtil.isOfAge(dob, 14)) { // PoJAM
             return false;
         }
         if (getAssurancePoints() < 100) {
@@ -194,7 +194,7 @@ public class User extends CertificateOwner {
      * @return the maximal points @
      */
     public int getMaxAssurePoints() {
-        if ( !isOfAge(18)) {
+        if ( !CalendarUtil.isOfAge(dob, 18)) {
             return 10; // PoJAM
         }
 
@@ -220,17 +220,6 @@ public class User extends CertificateOwner {
         return points;
     }
 
-    public boolean isOfAge(int desiredAge) {
-        Calendar c = Calendar.getInstance();
-        c.setTimeInMillis(dob.getTime());
-        int year = c.get(Calendar.YEAR);
-        int month = c.get(Calendar.MONTH);
-        int day = c.get(Calendar.DAY_OF_MONTH);
-        c.set(year, month, day);
-        c.add(Calendar.YEAR, desiredAge);
-        return System.currentTimeMillis() >= c.getTime().getTime();
-    }
-
     public boolean isValidName(String name) {
         return getName().matches(name);
     }
index 83002dc505664014f695822c32d0e55de65f16f7..03fdf2fceae76b7b2b03a9017b8e729338981148 100644 (file)
@@ -15,6 +15,18 @@ public class CalendarUtil {
 
     }
 
+    public static boolean isOfAge(DayDate dob, int age) {
+        Calendar c = Calendar.getInstance();
+        c.setTimeInMillis(dob.getTime());
+        int year = c.get(Calendar.YEAR);
+        int month = c.get(Calendar.MONTH);
+        int day = c.get(Calendar.DAY_OF_MONTH);
+        c.set(year, month, day);
+        c.add(Calendar.YEAR, age);
+
+        return System.currentTimeMillis() >= c.getTime().getTime();
+    }
+
     public static DayDate getDateFromComponents(int year, int month, int day) {
         Calendar cal = Calendar.getInstance();
         cal.setTimeZone(TimeZone.getTimeZone("UTC"));
index 87da1b05d6c36ead2353b793c9be82726b17caa5..0ab6abb4aebd8b4aa530e4e3b54641db8d36bef5 100644 (file)
@@ -33,6 +33,25 @@ public class TestCalendarUtil {
 
     }
 
+    @Test
+    public void testIsOfAge() {
+
+        Calendar now = Calendar.getInstance();
+        int year = now.get(Calendar.YEAR);
+        int month = now.get(Calendar.MONTH) + 1;
+        int days = now.get(Calendar.DATE);
+
+        DayDate dob = CalendarUtil.getDateFromComponents(year - 14, month, days);
+
+        assertTrue(CalendarUtil.isOfAge(dob, 13));
+
+        assertTrue(CalendarUtil.isOfAge(dob, 14));
+
+        dob = CalendarUtil.getDateFromComponents(year - 14, month, days + 1);
+        assertFalse(CalendarUtil.isOfAge(dob, 14));
+
+    }
+
     @Test
     public void testIsDateValid() {
         assertTrue(CalendarUtil.isDateValid(2016, 2, 28));