package de.westnordost.streetcomplete.quests.opening_hours;
import junit.framework.TestCase;
import java.util.Locale;
public class OpeningMonthsTest extends TestCase
{
private final boolean l = true;
private final boolean o = false;
private final TimeRange nineToFive = new TimeRange(540,1020, false);
private final TimeRange eightOpenEnd = new TimeRange(1200,1200, true);
private final Weekdays monday = new Weekdays(new boolean[]{l});
private final Weekdays wednesday = new Weekdays(new boolean[]{o,o,l});
/*yyo:..:ss+/:/yhddmydmNNNNNNNNNNNNNNNMMNNMMMMMMMMMMMMMMMMMMMMMMNNNmdddhs:..-::-
+o+:--.-:ssoooshdmmmmmmNNNNNNNNNNNNNMMMMNMMMNNMMMMMMMMMMMMMMMMMMMMMNNNmhs/---::-
sdhs/-..:so+osyydhdmmNNNNNNNNNNNNNMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMNNNNNmmddy+:/:-
smmh+-..:soohdddmmmmmNNNMMMMMMMMNNNNNNmmmNmmNNNNNNMMMMMMMMMMMMMMMNNNNNmmdho::::-
oddy/-..:sooddmddmNNNNNMMMMMMMMmhysyysoo+//+syhyyhddmNNNMMMMMMMMMMNMMNNNdo/:://:
+hdy/-..:so+shddmNNNNNMMMMMMMMNho+//:---------::---:+shdmNMMMMMMMMMMMMNNNmso+//:
+hhy/-..:so/shddmNNNMMMMMMMMMNmyyhyyyso/:...........--//+smMMMMMMMMMMMMNNNmy://:
+hhys:..:so/yyhmmNNNNMMMMMMMMMNmys+/+syys/-....-/oyyssso+odMMMMMMMMMNNNNNNNy///-
+hhys:..:so/+shdmNNNNMMMMMMMMmdhhyyo++++yy/-..:/+/+///+sdhdMMMMMMMMMMMNNNNNNy/:-
+soo+-..:ss+osyhmNNNNNNNMMMMNhdmdhddy+o/os:--://oyyyo+++oyNMMMMMMMMMMNNNNNNNdo:-
/+/--...:ssoossyhmmNNNNMMMMNho+/++++///oo:----/:+oydddhhyomMMMMMMMMMMNNNNNms+/:-
::--....:yysoosyhddmNNNMMMMho/-------://.....-::-:////+oo+dMMMMMMMMMMNNNNNms/:--
:--.....:syyysssyhdmmNNNMMNo:---....-////:...-:-...-----:/hMMMNNMMMNNNNNmmh+::::
/:-.....:syysssyyhhdmmNNMMNs+/::----/hhymdyooyo:-.......-:sNMMNMMMMNNNNNmdo::/:-
o/-.....-/+++++yhddmdmmNNNdsso+/:-:://++/:/::/+:.-.....--:yNMMMMMMNNNNNmmd+-://:
s+:.....-::::::/ydddmmmmNNdyo+/:-:+/:::::-----:--.-...-::+hNMMMMMMNNNNNdhs:.-::-
::-......------:yhdmmmdmNNNmds:::++:oyyysssoo+::------:/+omNMMMMMNNNNmdy+-..-:-.
:---....-::::::/+odmmdmNNNNNmh+://+yh/--./..:+yo:----:/+oyNNNNNMMNNhyho/:--.-:--
sso+/:-:/osooo+oyhmmmmmNNNNNNms//:/dmmNNdmhhhosh::--:/+oymNMNNMMMNmhs+///:---:-.
ddhhhyysyhdhyo+ymNmNNmmNNNNMNNh//::hdysosyhyyhNm:---/oshdNMNNNMMNNNmdysso:..---.
/::::::::::::/+dmmmNNmmNNNNMMNmso/+++:..-----/s/-:-/sdhmNNMMNNNNMNNNmhss+-..-:-.
.............:+hyhdmNmmNNNNMMNNmh+oso+/:::::://:-:+ymNNNNMMMMNNNNNNNmdys:...-::-
..............-:odmNNmmNNNNNNNNNms++++oooo++//::+hdNNMMMMMNNNMMMNNNNNdo:-...-::-
---------------:ymmNNNNmNNNNNNMMNmo//::::---::/omNNMMMMMMMMNNNNNNNmdh+-.....-:-.
--------...--.--/ooyNNNNNNNNMMMMMmho+/:::--::/omMMMMMMMMMMMMMNNNNNNs-..``...-:-.
...............-.../hshNMhymNMMMMNmdyo////://+yNMMMMMMMMMNMMNNNNhhy-``..```.-:-.
..---....-::-.--..../dMMMo-/ymNMMMMNNdhysyyyhdNMMMMMMMNddsNhh::----.```.```.-:-.
---:--..-:///::-..-sNMMMMm/:+dNMMMMMMNNNNNNNNNMMMMNmdhssmy/+:.......```````..-..
------.---::-:/+osmNNMMMMMNyshNNNNMMMNNNNNNNNNmdyo++++ohNmdho:..................
------:/+ssydmNmNNNNNMMMMMNdhyyyhhhhdhs+//+oso///////+smNmhmmmho-....----.......
https://www.youtube.com/watch?v=wvUQcnfwUUM */
private final CircularSection inTheSummerTime = new CircularSection(5,8);
@Override public void setUp()
{
Locale.setDefault(Locale.US);
}
public void testEmptyConstructor()
{
assertEquals("", new OpeningMonths().toString());
assertEquals("January–December: ", new OpeningMonths().getLocalizedMonthsString());
}
public void testMonthsComposition()
{
assertEquals("Mo 09:00-17:00", new OpeningMonths(
new CircularSection(0,11), new OpeningWeekdays( monday, nineToFive)).toString());
assertEquals("Jun-Sep: Mo 09:00-17:00", new OpeningMonths(
inTheSummerTime, new OpeningWeekdays( monday, nineToFive)).toString());
OpeningMonths om = new OpeningMonths();
om.months = inTheSummerTime;
om.weekdaysList.add(new OpeningWeekdays(monday, nineToFive));
om.weekdaysList.add(new OpeningWeekdays(wednesday, nineToFive));
assertEquals("Jun-Sep: Mo 09:00-17:00, Jun-Sep: We 09:00-17:00", om.toString());
}
public void testMergeTimes()
{
OpeningMonths om = new OpeningMonths();
om.months = inTheSummerTime;
om.weekdaysList.add(new OpeningWeekdays(monday, nineToFive));
om.weekdaysList.add(new OpeningWeekdays(monday, eightOpenEnd));
assertEquals("Jun-Sep: Mo 09:00-17:00,20:00+", om.toString());
}
}