소스 검색

Add DateParameter for new JNI method signature

Patrick-Christopher Mattulat 1 년 전
부모
커밋
d18f84ce32

+ 71 - 0
src/main/java/com/lynarstudios/ls/std/time/systemtime/DateParameter.java

@@ -0,0 +1,71 @@
+package com.lynarstudios.ls.std.time.systemtime;
+
+public class DateParameter
+{
+  public byte getDay()
+  {
+    return day;
+  }
+
+  public byte getHour()
+  {
+    return hour;
+  }
+
+  public byte getMinute()
+  {
+    return minute;
+  }
+
+  public byte getMonth()
+  {
+    return month;
+  }
+
+  public byte getSecond()
+  {
+    return second;
+  }
+
+  public int getYear()
+  {
+    return year;
+  }
+
+  public void setDay(byte day)
+  {
+    this.day = day;
+  }
+
+  public void setHour(byte hour)
+  {
+    this.hour = hour;
+  }
+
+  public void setMinute(byte minute)
+  {
+    this.minute = minute;
+  }
+
+  public void setMonth(byte month)
+  {
+    this.month = month;
+  }
+
+  public void setSecond(byte second)
+  {
+    this.second = second;
+  }
+
+  public void setYear(int year)
+  {
+    this.year = year;
+  }
+
+  private byte day;
+  private byte hour;
+  private byte minute;
+  private byte month;
+  private byte second;
+  private int year;
+}

+ 13 - 0
src/main/java/com/lynarstudios/ls/std/time/systemtime/LocalDateTimeConverter.java

@@ -15,6 +15,19 @@ public class LocalDateTimeConverter
     this.zoneId = zoneId;
   }
 
+  public DateParameter toDateParameter(LocalDateTime localDateTime)
+  {
+    DateParameter dateParameter = new DateParameter();
+    dateParameter.setYear(localDateTime.getYear());
+    dateParameter.setMonth((byte) localDateTime.getMonth().getValue());
+    dateParameter.setDay((byte) localDateTime.getDayOfMonth());
+    dateParameter.setHour((byte) localDateTime.getHour());
+    dateParameter.setMinute((byte) localDateTime.getMinute());
+    dateParameter.setSecond((byte) localDateTime.getSecond());
+
+    return dateParameter;
+  }
+
   public long toUnixTimeStamp(LocalDateTime localDateTime)
   {
     return localDateTime.atZone(this.zoneId).toEpochSecond();

+ 87 - 0
src/test/java/com/lynarstudios/ls/std/time/systemtime/DateParameterTest.java

@@ -0,0 +1,87 @@
+package com.lynarstudios.ls.std.time.systemtime;
+
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+class DateParameterTest 
+{
+  private final DateParameter parameter = new DateParameter();
+
+  @Test
+  void getDay() 
+  {
+    Assertions.assertEquals(0, this.parameter.getDay());
+  }
+
+  @Test
+  void getHour() 
+  {
+    Assertions.assertEquals(0, this.parameter.getHour());
+  }
+
+  @Test
+  void getMinute() 
+  {
+    Assertions.assertEquals(0, this.parameter.getMinute());
+  }
+
+  @Test
+  void getMonth()
+  {
+    Assertions.assertEquals(0, this.parameter.getMonth());
+  }
+
+  @Test
+  void getSecond() 
+  {
+    Assertions.assertEquals(0, this.parameter.getSecond());
+  }
+
+  @Test
+  void getYear() 
+  {
+    Assertions.assertEquals(0, this.parameter.getYear());
+  }
+
+  @Test
+  void setDay()
+  {
+    this.parameter.setDay((byte) 1);
+    Assertions.assertEquals(1, this.parameter.getDay());
+  }
+
+  @Test
+  void setHour()
+  {
+    this.parameter.setHour((byte) 10);
+    Assertions.assertEquals(10, this.parameter.getHour());
+  }
+
+  @Test
+  void setMinute()
+  {
+    this.parameter.setMinute((byte) 52);
+    Assertions.assertEquals(52, this.parameter.getMinute());
+  }
+
+  @Test
+  void setMonth()
+  {
+    this.parameter.setMonth((byte) 6);
+    Assertions.assertEquals(6, this.parameter.getMonth());
+  }
+
+  @Test
+  void setSecond()
+  {
+    this.parameter.setSecond((byte) 22);
+    Assertions.assertEquals(22, this.parameter.getSecond());
+  }
+
+  @Test
+  void setYear()
+  {
+    this.parameter.setYear(1989);
+    Assertions.assertEquals(1989, this.parameter.getYear());
+  }
+}

+ 15 - 1
src/test/java/com/lynarstudios/ls/std/time/systemtime/LocalDateTimeConverterTest.java

@@ -5,7 +5,21 @@ import org.junit.jupiter.api.Test;
 
 import java.time.LocalDateTime;
 
-class LocalDateTimeConverterTest {
+class LocalDateTimeConverterTest
+{
+  @Test
+  void toDateParameter()
+  {
+    LocalDateTime localDateTime = LocalDateTime.of(2030, 6, 1, 10, 55, 13);
+    DateParameter parameter = new LocalDateTimeConverter().toDateParameter(localDateTime);
+
+    Assertions.assertEquals(2030, parameter.getYear());
+    Assertions.assertEquals(6, parameter.getMonth());
+    Assertions.assertEquals(1, parameter.getDay());
+    Assertions.assertEquals(10, parameter.getHour());
+    Assertions.assertEquals(55, parameter.getMinute());
+    Assertions.assertEquals(13, parameter.getSecond());
+  }
 
   @Test
   void toUnixTimeStamp()