Add timetable to Wulkanowy (#38)

* Add timetable entities, synchronization and UI
* Add better code hub config
* Update SDK tools
* Change activity to ui

* [API] fix lesson room, when division into groups
* [API] Rewrite lesson parser
* [API] Add support for new lesson type
* [API] Fix for substitutions in the timetable
This commit is contained in:
Rafał Borcz
2017-12-11 19:45:28 +01:00
committed by Mikołaj Pich
parent 647ed08460
commit c111e43f18
77 changed files with 3125 additions and 471 deletions

View File

@ -1,4 +1,4 @@
package io.github.wulkanowy.activity.dashboard.grades;
package io.github.wulkanowy.ui.main.grades;
import org.junit.Assert;
@ -6,7 +6,7 @@ import org.junit.Test;
import io.github.wulkanowy.R;
import static io.github.wulkanowy.activity.dashboard.grades.GradesDialogFragment.colorHexToColorName;
import static io.github.wulkanowy.ui.main.grades.GradesDialogFragment.colorHexToColorName;
public class GradesDialogFragmentTest {

View File

@ -1,4 +1,4 @@
package io.github.wulkanowy.activity.dashboard.grades;
package io.github.wulkanowy.ui.main.grades;
import org.junit.Assert;
import org.junit.Before;

View File

@ -8,6 +8,8 @@ import java.util.List;
import io.github.wulkanowy.api.grades.Grade;
import io.github.wulkanowy.api.grades.Subject;
import io.github.wulkanowy.api.timetable.Day;
import io.github.wulkanowy.api.timetable.Lesson;
public class ConversionVulcanObjectTest {
@ -42,4 +44,36 @@ public class ConversionVulcanObjectTest {
Assert.assertEquals(new ArrayList<>(),
ConversionVulcanObject.gradesToGradeEntities(new ArrayList<Grade>()));
}
@Test
public void dayConversionEmptyTest() {
Assert.assertEquals(new ArrayList<>(),
ConversionVulcanObject.daysToDaysEntities(new ArrayList<Day>()));
}
@Test
public void dayConversionTest() {
List<Day> dayList = new ArrayList<>();
dayList.add(new Day().setDate("20.12.2012"));
List<io.github.wulkanowy.dao.entities.Day> dayEntityList =
ConversionVulcanObject.daysToDaysEntities(dayList);
Assert.assertEquals("20.12.2012", dayEntityList.get(0).getDate());
}
@Test
public void lessonConversionEmptyTest() {
Assert.assertEquals(new ArrayList<>(),
ConversionVulcanObject.lessonsToLessonsEntities(new ArrayList<Lesson>()));
}
@Test
public void lessonConversionTest() {
List<Lesson> lessonList = new ArrayList<>();
lessonList.add(new Lesson().setRoom("20"));
List<io.github.wulkanowy.dao.entities.Lesson> lessonEntityList =
ConversionVulcanObject.lessonsToLessonsEntities(lessonList);
Assert.assertEquals("20", lessonEntityList.get(0).getRoom());
}
}

View File

@ -11,7 +11,7 @@ import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
public class DateHelperTest {
public class TimeUtilitiesTest {
@Test
public void getTicksDateObjectTest() throws Exception {
@ -19,32 +19,32 @@ public class DateHelperTest {
format.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = format.parse("31.07.2017");
Assert.assertEquals(636370560000000000L, DateHelper.getTicks(date));
Assert.assertEquals(636370560000000000L, TimeUtilities.getNetTicks(date));
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_YEAR, -14);
Date dateTwoWeekBefore = calendar.getTime();
Assert.assertEquals(636358464000000000L, DateHelper.getTicks(dateTwoWeekBefore));
Assert.assertEquals(636358464000000000L, TimeUtilities.getNetTicks(dateTwoWeekBefore));
}
@Test(expected = ParseException.class)
public void getTicsStringInvalidFormatTest() throws Exception {
Assert.assertEquals(636370560000000000L, DateHelper.getTics("31.07.2017", "dd.MMM.yyyy"));
Assert.assertEquals(636370560000000000L, TimeUtilities.getNetTicks("31.07.2017", "dd.MMM.yyyy"));
}
@Test
public void getTicsStringFormatTest() throws Exception {
Assert.assertEquals(636370560000000000L, DateHelper.getTics("31.07.2017", "dd.MM.yyyy"));
Assert.assertEquals(636370560000000000L, TimeUtilities.getNetTicks("31.07.2017", "dd.MM.yyyy"));
}
@Test
public void getTicsStringTest() throws Exception {
Assert.assertEquals(636370560000000000L, DateHelper.getTics("31.07.2017"));
Assert.assertEquals(636334272000000000L, DateHelper.getTics("19.06.2017"));
Assert.assertEquals(636189120000000000L, DateHelper.getTics("02.01.2017"));
Assert.assertEquals(636080256000000000L, DateHelper.getTics("29.08.2016"));
Assert.assertEquals(636370560000000000L, TimeUtilities.getNetTicks("31.07.2017"));
Assert.assertEquals(636334272000000000L, TimeUtilities.getNetTicks("19.06.2017"));
Assert.assertEquals(636189120000000000L, TimeUtilities.getNetTicks("02.01.2017"));
Assert.assertEquals(636080256000000000L, TimeUtilities.getNetTicks("29.08.2016"));
}
@Test
@ -53,6 +53,6 @@ public class DateHelperTest {
format.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = format.parse("31.07.2017");
Assert.assertEquals(date, DateHelper.getDate(636370560000000000L));
Assert.assertEquals(date, TimeUtilities.getDate(636370560000000000L));
}
}