mirror of
https://github.com/danieldemus/openhab-addons
synced 2026-07-29 12:34:21 +02:00
[astro] Simplify SunPhase handling (#20112)
* Removes SunPhaseName holder class SunPhase Renames SunPhaseName to SunPhase Signed-off-by: gael@lhopital.org <gael@lhopital.org>
This commit is contained in:
+2
-2
@@ -23,7 +23,7 @@ import org.openhab.binding.astro.internal.AstroBindingConstants;
|
||||
import org.openhab.binding.astro.internal.handler.AstroThingHandler;
|
||||
import org.openhab.binding.astro.internal.handler.SunHandler;
|
||||
import org.openhab.binding.astro.internal.model.Radiation;
|
||||
import org.openhab.binding.astro.internal.model.SunPhaseName;
|
||||
import org.openhab.binding.astro.internal.model.SunPhase;
|
||||
import org.openhab.core.automation.annotation.ActionInput;
|
||||
import org.openhab.core.automation.annotation.ActionOutput;
|
||||
import org.openhab.core.automation.annotation.RuleAction;
|
||||
@@ -139,7 +139,7 @@ public class AstroActions implements ThingActions {
|
||||
AstroThingHandler theHandler = this.handler;
|
||||
if (theHandler != null) {
|
||||
if (theHandler instanceof SunHandler sunHandler) {
|
||||
SunPhaseName phase = SunPhaseName.valueOf(phaseName.toUpperCase(Locale.ROOT));
|
||||
SunPhase phase = SunPhase.valueOf(phaseName.toUpperCase(Locale.ROOT));
|
||||
return sunHandler.getEventTime(phase,
|
||||
date != null ? date : ZonedDateTime.now(timeZoneProvider.getTimeZone()),
|
||||
moment == null || AstroBindingConstants.EVENT_START.equalsIgnoreCase(moment));
|
||||
|
||||
+30
-29
@@ -32,7 +32,7 @@ import org.openhab.binding.astro.internal.model.Position;
|
||||
import org.openhab.binding.astro.internal.model.Range;
|
||||
import org.openhab.binding.astro.internal.model.Season;
|
||||
import org.openhab.binding.astro.internal.model.Sun;
|
||||
import org.openhab.binding.astro.internal.model.SunPhaseName;
|
||||
import org.openhab.binding.astro.internal.model.SunPhase;
|
||||
import org.openhab.binding.astro.internal.util.AstroConstants;
|
||||
import org.openhab.binding.astro.internal.util.DateTimeUtils;
|
||||
import org.openhab.binding.astro.internal.util.MathUtils;
|
||||
@@ -160,30 +160,30 @@ public class SunCalc {
|
||||
double jastro2 = getSunriseJulianDate(jtransit, jdark);
|
||||
|
||||
Sun sun = new Sun();
|
||||
sun.setAstroDawn(new Range(DateTimeUtils.toCalendar(jastro2, zone, locale),
|
||||
sun.setRange(SunPhase.ASTRO_DAWN, new Range(DateTimeUtils.toCalendar(jastro2, zone, locale),
|
||||
DateTimeUtils.toCalendar(jnau2, zone, locale)));
|
||||
sun.setAstroDusk(new Range(DateTimeUtils.toCalendar(jastro, zone, locale),
|
||||
sun.setRange(SunPhase.ASTRO_DUSK, new Range(DateTimeUtils.toCalendar(jastro, zone, locale),
|
||||
DateTimeUtils.toCalendar(jdark, zone, locale)));
|
||||
|
||||
if (onlyAstro) {
|
||||
return sun;
|
||||
}
|
||||
|
||||
sun.setNoon(new Range(DateTimeUtils.toCalendar(jtransit, zone, locale),
|
||||
sun.setRange(SunPhase.NOON, new Range(DateTimeUtils.toCalendar(jtransit, zone, locale),
|
||||
DateTimeUtils.toCalendar(jtransit + DateTimeUtils.JD_ONE_MINUTE_FRACTION, zone, locale)));
|
||||
sun.setRise(new Range(DateTimeUtils.toCalendar(jrise, zone, locale),
|
||||
DateTimeUtils.toCalendar(jriseend, zone, locale)));
|
||||
sun.setSet(new Range(DateTimeUtils.toCalendar(jsetstart, zone, locale),
|
||||
DateTimeUtils.toCalendar(jset, zone, locale)));
|
||||
|
||||
sun.setCivilDawn(new Range(DateTimeUtils.toCalendar(jciv2, zone, locale),
|
||||
sun.setRange(SunPhase.CIVIL_DAWN, new Range(DateTimeUtils.toCalendar(jciv2, zone, locale),
|
||||
DateTimeUtils.toCalendar(jrise, zone, locale)));
|
||||
sun.setCivilDusk(
|
||||
sun.setRange(SunPhase.CIVIL_DUSK,
|
||||
new Range(DateTimeUtils.toCalendar(jset, zone, locale), DateTimeUtils.toCalendar(jnau, zone, locale)));
|
||||
|
||||
sun.setNauticDawn(new Range(DateTimeUtils.toCalendar(jnau2, zone, locale),
|
||||
sun.setRange(SunPhase.NAUTIC_DAWN, new Range(DateTimeUtils.toCalendar(jnau2, zone, locale),
|
||||
DateTimeUtils.toCalendar(jciv2, zone, locale)));
|
||||
sun.setNauticDusk(new Range(DateTimeUtils.toCalendar(jnau, zone, locale),
|
||||
sun.setRange(SunPhase.NAUTIC_DUSK, new Range(DateTimeUtils.toCalendar(jnau, zone, locale),
|
||||
DateTimeUtils.toCalendar(jastro, zone, locale)));
|
||||
|
||||
boolean isSunUpAllDay = isSunUpAllDay(calendar, latitude, longitude, altitude);
|
||||
@@ -198,44 +198,45 @@ public class SunCalc {
|
||||
} else {
|
||||
daylightRange = new Range(sun.getRise().getEnd(), sun.getSet().getStart());
|
||||
}
|
||||
sun.setDaylight(daylightRange);
|
||||
sun.setRange(SunPhase.DAYLIGHT, daylightRange);
|
||||
|
||||
// morning night
|
||||
Sun sunYesterday = getSunInfo(DateTimeUtils.addDays(calendar, -1), latitude, longitude, altitude, true,
|
||||
useMeteorologicalSeason, zone, locale);
|
||||
Range morningNightRange = null;
|
||||
Range range, range2;
|
||||
if ((range = sunYesterday.getAstroDusk()) != null && range.getEnd() != null
|
||||
if ((range = sunYesterday.getRange(SunPhase.ASTRO_DUSK)) != null && range.getEnd() != null
|
||||
&& DateTimeUtils.isSameDay(range.getEnd(), calendar)) {
|
||||
morningNightRange = new Range(range.getEnd(),
|
||||
(range2 = sun.getAstroDawn()) == null ? null : range2.getStart());
|
||||
} else if (isSunUpAllDay || (range2 = sun.getAstroDawn()) == null || range2.getStart() == null) {
|
||||
(range2 = sun.getRange(SunPhase.ASTRO_DAWN)) == null ? null : range2.getStart());
|
||||
} else if (isSunUpAllDay || (range2 = sun.getRange(SunPhase.ASTRO_DAWN)) == null || range2.getStart() == null) {
|
||||
morningNightRange = new Range();
|
||||
} else {
|
||||
morningNightRange = new Range(DateTimeUtils.truncateToMidnight(calendar),
|
||||
(range2 = sun.getAstroDawn()) == null ? null : range2.getStart());
|
||||
(range2 = sun.getRange(SunPhase.ASTRO_DAWN)) == null ? null : range2.getStart());
|
||||
}
|
||||
sun.setMorningNight(morningNightRange);
|
||||
sun.setRange(SunPhase.MORNING_NIGHT, morningNightRange);
|
||||
|
||||
// evening night
|
||||
Range eveningNightRange = null;
|
||||
if ((range = sun.getAstroDusk()) != null && range.getEnd() != null
|
||||
if ((range = sun.getRange(SunPhase.ASTRO_DUSK)) != null && range.getEnd() != null
|
||||
&& DateTimeUtils.isSameDay(range.getEnd(), calendar)) {
|
||||
eveningNightRange = new Range(range.getEnd(),
|
||||
DateTimeUtils.truncateToMidnight(DateTimeUtils.addDays(calendar, 1)));
|
||||
} else {
|
||||
eveningNightRange = new Range();
|
||||
}
|
||||
sun.setEveningNight(eveningNightRange);
|
||||
sun.setRange(SunPhase.EVENING_NIGHT, eveningNightRange);
|
||||
|
||||
// night
|
||||
if (isSunUpAllDay) {
|
||||
sun.setNight(new Range());
|
||||
sun.setRange(SunPhase.NIGHT, new Range());
|
||||
} else {
|
||||
Sun sunTomorrow = getSunInfo(DateTimeUtils.addDays(calendar, 1), latitude, longitude, altitude, true,
|
||||
useMeteorologicalSeason, zone, locale);
|
||||
sun.setNight(new Range((range = sun.getAstroDusk()) == null ? null : range.getEnd(),
|
||||
(range2 = sunTomorrow.getAstroDawn()) == null ? null : range2.getStart()));
|
||||
sun.setRange(SunPhase.NIGHT,
|
||||
new Range((range = sun.getRange(SunPhase.ASTRO_DUSK)) == null ? null : range.getEnd(),
|
||||
(range2 = sunTomorrow.getRange(SunPhase.ASTRO_DAWN)) == null ? null : range2.getStart()));
|
||||
}
|
||||
|
||||
// eclipse
|
||||
@@ -256,13 +257,13 @@ public class SunCalc {
|
||||
}
|
||||
|
||||
// phase
|
||||
for (Entry<SunPhaseName, Range> rangeEntry : sortByValue(sun.getAllRanges()).entrySet()) {
|
||||
SunPhaseName entryPhase = rangeEntry.getKey();
|
||||
for (Entry<SunPhase, Range> rangeEntry : sortByValue(sun.getAllRanges()).entrySet()) {
|
||||
SunPhase entryPhase = rangeEntry.getKey();
|
||||
if (rangeEntry.getValue().matches(calendar)) {
|
||||
if (entryPhase == SunPhaseName.MORNING_NIGHT || entryPhase == SunPhaseName.EVENING_NIGHT) {
|
||||
sun.getPhase().setName(SunPhaseName.NIGHT);
|
||||
if (entryPhase == SunPhase.MORNING_NIGHT || entryPhase == SunPhase.EVENING_NIGHT) {
|
||||
sun.setSunPhase(SunPhase.NIGHT);
|
||||
} else {
|
||||
sun.getPhase().setName(entryPhase);
|
||||
sun.setSunPhase(entryPhase);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -329,20 +330,20 @@ public class SunCalc {
|
||||
return jtransit - (jset - jtransit);
|
||||
}
|
||||
|
||||
public static Map<SunPhaseName, Range> sortByValue(Map<SunPhaseName, Range> map) {
|
||||
List<Entry<SunPhaseName, Range>> list = new ArrayList<>(map.entrySet());
|
||||
public static Map<SunPhase, Range> sortByValue(Map<SunPhase, Range> map) {
|
||||
List<Entry<SunPhase, Range>> list = new ArrayList<>(map.entrySet());
|
||||
|
||||
Collections.sort(list, new Comparator<>() {
|
||||
@Override
|
||||
public int compare(Entry<SunPhaseName, Range> p1, Entry<SunPhaseName, Range> p2) {
|
||||
public int compare(Entry<SunPhase, Range> p1, Entry<SunPhase, Range> p2) {
|
||||
Range p1Range = p1.getValue();
|
||||
Range p2Range = p2.getValue();
|
||||
return p1Range.compareTo(p2Range);
|
||||
}
|
||||
});
|
||||
|
||||
Map<SunPhaseName, Range> result = new LinkedHashMap<>();
|
||||
for (Entry<SunPhaseName, Range> entry : list) {
|
||||
Map<SunPhase, Range> result = new LinkedHashMap<>();
|
||||
for (Entry<SunPhase, Range> entry : list) {
|
||||
result.put(entry.getKey(), entry.getValue());
|
||||
}
|
||||
|
||||
|
||||
+37
-37
@@ -36,7 +36,7 @@ import org.openhab.binding.astro.internal.model.Radiation;
|
||||
import org.openhab.binding.astro.internal.model.Range;
|
||||
import org.openhab.binding.astro.internal.model.Season;
|
||||
import org.openhab.binding.astro.internal.model.Sun;
|
||||
import org.openhab.binding.astro.internal.model.SunPhaseName;
|
||||
import org.openhab.binding.astro.internal.model.SunPhase;
|
||||
import org.openhab.binding.astro.internal.util.DateTimeUtils;
|
||||
import org.openhab.core.i18n.LocaleProvider;
|
||||
import org.openhab.core.i18n.TimeZoneProvider;
|
||||
@@ -86,7 +86,7 @@ public class SunHandler extends AstroThingHandler {
|
||||
sunCalc.setPositionalInfo(calendar, latitude != null ? latitude : 0, longitude != null ? longitude : 0,
|
||||
altitude != null ? altitude : 0, sun);
|
||||
|
||||
sun.setCircadian(CircadianCalc.calculate(calendar, sun.getRise(), sun.getSet(), sun.getNoon()));
|
||||
sun.setCircadian(CircadianCalc.calculate(calendar, sun.getRise(), sun.getSet(), sun.getRange(SunPhase.NOON)));
|
||||
sun.setRadiation(RadiationCalc.calculate(now, sun.getPosition().getElevationAsDouble(), altitude));
|
||||
|
||||
this.sun = sun;
|
||||
@@ -127,103 +127,103 @@ public class SunHandler extends AstroThingHandler {
|
||||
case CHANNEL_ID_SUN_SET_DURATION:
|
||||
return toState(sun.getSet().getDuration(), channel);
|
||||
case CHANNEL_ID_SUN_NOON_START:
|
||||
r = sun.getNoon();
|
||||
r = sun.getRange(SunPhase.NOON);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getStart(), channel);
|
||||
case CHANNEL_ID_SUN_NOON_END:
|
||||
r = sun.getNoon();
|
||||
r = sun.getRange(SunPhase.NOON);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getEnd(), channel);
|
||||
case CHANNEL_ID_SUN_NOON_DURATION:
|
||||
r = sun.getNoon();
|
||||
r = sun.getRange(SunPhase.NOON);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getDuration(), channel);
|
||||
case CHANNEL_ID_SUN_NIGHT_START:
|
||||
r = sun.getNight();
|
||||
r = sun.getRange(SunPhase.NIGHT);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getStart(), channel);
|
||||
case CHANNEL_ID_SUN_NIGHT_END:
|
||||
r = sun.getNight();
|
||||
r = sun.getRange(SunPhase.NIGHT);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getEnd(), channel);
|
||||
case CHANNEL_ID_SUN_NIGHT_DURATION:
|
||||
r = sun.getNight();
|
||||
r = sun.getRange(SunPhase.NIGHT);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getDuration(), channel);
|
||||
case CHANNEL_ID_SUN_MORNING_NIGHT_START:
|
||||
r = sun.getMorningNight();
|
||||
r = sun.getRange(SunPhase.MORNING_NIGHT);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getStart(), channel);
|
||||
case CHANNEL_ID_SUN_MORNING_NIGHT_END:
|
||||
r = sun.getMorningNight();
|
||||
r = sun.getRange(SunPhase.MORNING_NIGHT);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getEnd(), channel);
|
||||
case CHANNEL_ID_SUN_MORNING_NIGHT_DURATION:
|
||||
r = sun.getMorningNight();
|
||||
r = sun.getRange(SunPhase.MORNING_NIGHT);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getDuration(), channel);
|
||||
case CHANNEL_ID_SUN_ASTRO_DAWN_START:
|
||||
r = sun.getAstroDawn();
|
||||
r = sun.getRange(SunPhase.ASTRO_DAWN);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getStart(), channel);
|
||||
case CHANNEL_ID_SUN_ASTRO_DAWN_END:
|
||||
r = sun.getAstroDawn();
|
||||
r = sun.getRange(SunPhase.ASTRO_DAWN);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getEnd(), channel);
|
||||
case CHANNEL_ID_SUN_ASTRO_DAWN_DURATION:
|
||||
r = sun.getAstroDawn();
|
||||
r = sun.getRange(SunPhase.ASTRO_DAWN);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getDuration(), channel);
|
||||
case CHANNEL_ID_SUN_NAUTIC_DAWN_START:
|
||||
r = sun.getNauticDawn();
|
||||
r = sun.getRange(SunPhase.NAUTIC_DAWN);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getStart(), channel);
|
||||
case CHANNEL_ID_SUN_NAUTIC_DAWN_END:
|
||||
r = sun.getNauticDawn();
|
||||
r = sun.getRange(SunPhase.NAUTIC_DAWN);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getEnd(), channel);
|
||||
case CHANNEL_ID_SUN_NAUTIC_DAWN_DURATION:
|
||||
r = sun.getNauticDawn();
|
||||
r = sun.getRange(SunPhase.NAUTIC_DAWN);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getDuration(), channel);
|
||||
case CHANNEL_ID_SUN_CIVIL_DAWN_START:
|
||||
r = sun.getCivilDawn();
|
||||
r = sun.getRange(SunPhase.CIVIL_DAWN);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getStart(), channel);
|
||||
case CHANNEL_ID_SUN_CIVIL_DAWN_END:
|
||||
r = sun.getCivilDawn();
|
||||
r = sun.getRange(SunPhase.CIVIL_DAWN);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getEnd(), channel);
|
||||
case CHANNEL_ID_SUN_CIVIL_DAWN_DURATION:
|
||||
r = sun.getCivilDawn();
|
||||
r = sun.getRange(SunPhase.CIVIL_DAWN);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getDuration(), channel);
|
||||
case CHANNEL_ID_SUN_ASTRO_DUSK_START:
|
||||
r = sun.getAstroDusk();
|
||||
r = sun.getRange(SunPhase.ASTRO_DUSK);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getStart(), channel);
|
||||
case CHANNEL_ID_SUN_ASTRO_DUSK_END:
|
||||
r = sun.getAstroDusk();
|
||||
r = sun.getRange(SunPhase.ASTRO_DUSK);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getEnd(), channel);
|
||||
case CHANNEL_ID_SUN_ASTRO_DUSK_DURATION:
|
||||
r = sun.getAstroDusk();
|
||||
r = sun.getRange(SunPhase.ASTRO_DUSK);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getDuration(), channel);
|
||||
case CHANNEL_ID_SUN_NAUTIC_DUSK_START:
|
||||
r = sun.getNauticDusk();
|
||||
r = sun.getRange(SunPhase.NAUTIC_DUSK);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getStart(), channel);
|
||||
case CHANNEL_ID_SUN_NAUTIC_DUSK_END:
|
||||
r = sun.getNauticDusk();
|
||||
r = sun.getRange(SunPhase.NAUTIC_DUSK);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getEnd(), channel);
|
||||
case CHANNEL_ID_SUN_NAUTIC_DUSK_DURATION:
|
||||
r = sun.getNauticDusk();
|
||||
r = sun.getRange(SunPhase.NAUTIC_DUSK);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getDuration(), channel);
|
||||
case CHANNEL_ID_SUN_CIVIL_DUSK_START:
|
||||
r = sun.getCivilDusk();
|
||||
r = sun.getRange(SunPhase.CIVIL_DUSK);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getStart(), channel);
|
||||
case CHANNEL_ID_SUN_CIVIL_DUSK_END:
|
||||
r = sun.getCivilDusk();
|
||||
r = sun.getRange(SunPhase.CIVIL_DUSK);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getEnd(), channel);
|
||||
case CHANNEL_ID_SUN_CIVIL_DUSK_DURATION:
|
||||
r = sun.getCivilDusk();
|
||||
r = sun.getRange(SunPhase.CIVIL_DUSK);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getDuration(), channel);
|
||||
case CHANNEL_ID_SUN_EVENING_NIGHT_START:
|
||||
r = sun.getEveningNight();
|
||||
r = sun.getRange(SunPhase.EVENING_NIGHT);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getStart(), channel);
|
||||
case CHANNEL_ID_SUN_EVENING_NIGHT_END:
|
||||
r = sun.getEveningNight();
|
||||
r = sun.getRange(SunPhase.EVENING_NIGHT);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getEnd(), channel);
|
||||
case CHANNEL_ID_SUN_EVENING_NIGHT_DURATION:
|
||||
r = sun.getEveningNight();
|
||||
r = sun.getRange(SunPhase.EVENING_NIGHT);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getDuration(), channel);
|
||||
case CHANNEL_ID_SUN_DAYLIGHT_START:
|
||||
r = sun.getDaylight();
|
||||
r = sun.getRange(SunPhase.DAYLIGHT);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getStart(), channel);
|
||||
case CHANNEL_ID_SUN_DAYLIGHT_END:
|
||||
r = sun.getDaylight();
|
||||
r = sun.getRange(SunPhase.DAYLIGHT);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getEnd(), channel);
|
||||
case CHANNEL_ID_SUN_DAYLIGHT_DURATION:
|
||||
r = sun.getDaylight();
|
||||
r = sun.getRange(SunPhase.DAYLIGHT);
|
||||
return r == null ? UnDefType.UNDEF : toState(r.getDuration(), channel);
|
||||
case CHANNEL_ID_SUN_POSITION_AZIMUTH:
|
||||
return toState(sun.getPosition().getAzimuth(), channel);
|
||||
@@ -277,7 +277,7 @@ public class SunHandler extends AstroThingHandler {
|
||||
case CHANNEL_ID_SUN_ECLIPSE_RING_ELEVATION:
|
||||
return toState(sun.getEclipseSet().getElevation(EclipseKind.RING), channel);
|
||||
case CHANNEL_ID_SUN_PHASE_NAME:
|
||||
return toState(sun.getPhase().getName(), channel);
|
||||
return toState(sun.getSunPhase(), channel);
|
||||
case CHANNEL_ID_SUN_CIRCADIAN_BRIGHTNESS:
|
||||
return toState(sun.getCircadian().getBrightness(), channel);
|
||||
case CHANNEL_ID_SUN_CIRCADIAN_TEMPERATURE:
|
||||
@@ -318,7 +318,7 @@ public class SunHandler extends AstroThingHandler {
|
||||
return localSun;
|
||||
}
|
||||
|
||||
public @Nullable ZonedDateTime getEventTime(SunPhaseName sunPhase, ZonedDateTime date, boolean begin) {
|
||||
public @Nullable ZonedDateTime getEventTime(SunPhase sunPhase, ZonedDateTime date, boolean begin) {
|
||||
Range eventRange = getSunAt(date).getAllRanges().get(sunPhase);
|
||||
if (eventRange != null) {
|
||||
Calendar cal = begin ? eventRange.getStart() : eventRange.getEnd();
|
||||
|
||||
+22
-21
@@ -14,7 +14,7 @@ package org.openhab.binding.astro.internal.job;
|
||||
|
||||
import static org.openhab.binding.astro.internal.AstroBindingConstants.*;
|
||||
import static org.openhab.binding.astro.internal.job.Job.*;
|
||||
import static org.openhab.binding.astro.internal.model.SunPhaseName.*;
|
||||
import static org.openhab.binding.astro.internal.model.SunPhase.*;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.InstantSource;
|
||||
@@ -28,6 +28,7 @@ import org.openhab.binding.astro.internal.model.Planet;
|
||||
import org.openhab.binding.astro.internal.model.Range;
|
||||
import org.openhab.binding.astro.internal.model.Season;
|
||||
import org.openhab.binding.astro.internal.model.Sun;
|
||||
import org.openhab.binding.astro.internal.model.SunPhase;
|
||||
import org.openhab.binding.astro.internal.util.DateTimeUtils;
|
||||
|
||||
/**
|
||||
@@ -79,13 +80,13 @@ public final class DailyJobSun extends AbstractJob {
|
||||
scheduleRange(handler, sun.getSet(), EVENT_CHANNEL_ID_SET, zone, locale, instantSource);
|
||||
|
||||
Calendar cal;
|
||||
Range range = sun.getNight();
|
||||
Range range = sun.getRange(SunPhase.NIGHT);
|
||||
if (range != null) {
|
||||
cal = range.getStart();
|
||||
if (cal != null) {
|
||||
scheduleEvent(handler, cal, EVENT_START, EVENT_CHANNEL_ID_NIGHT, false, zone, locale);
|
||||
}
|
||||
Range range2 = sun.getAstroDawn();
|
||||
Range range2 = sun.getRange(SunPhase.ASTRO_DAWN);
|
||||
if (range2 == null || (cal = range2.getStart()) == null
|
||||
|| cal.before(DateTimeUtils.calFromInstantSource(instantSource, zone, locale))) {
|
||||
cal = range.getEnd();
|
||||
@@ -94,43 +95,43 @@ public final class DailyJobSun extends AbstractJob {
|
||||
scheduleEvent(handler, cal, EVENT_END, EVENT_CHANNEL_ID_NIGHT, false, zone, locale);
|
||||
}
|
||||
}
|
||||
range = sun.getNoon();
|
||||
range = sun.getRange(SunPhase.NOON);
|
||||
if (range != null) {
|
||||
scheduleRange(handler, range, EVENT_CHANNEL_ID_NOON, zone, locale, instantSource);
|
||||
}
|
||||
range = sun.getMorningNight();
|
||||
range = sun.getRange(SunPhase.MORNING_NIGHT);
|
||||
if (range != null) {
|
||||
scheduleRange(handler, range, EVENT_CHANNEL_ID_MORNING_NIGHT, zone, locale, instantSource);
|
||||
}
|
||||
range = sun.getAstroDawn();
|
||||
range = sun.getRange(SunPhase.ASTRO_DAWN);
|
||||
if (range != null) {
|
||||
scheduleRange(handler, range, EVENT_CHANNEL_ID_ASTRO_DAWN, zone, locale, instantSource);
|
||||
}
|
||||
range = sun.getNauticDawn();
|
||||
range = sun.getRange(SunPhase.NAUTIC_DAWN);
|
||||
if (range != null) {
|
||||
scheduleRange(handler, range, EVENT_CHANNEL_ID_NAUTIC_DAWN, zone, locale, instantSource);
|
||||
}
|
||||
range = sun.getCivilDawn();
|
||||
range = sun.getRange(SunPhase.CIVIL_DAWN);
|
||||
if (range != null) {
|
||||
scheduleRange(handler, range, EVENT_CHANNEL_ID_CIVIL_DAWN, zone, locale, instantSource);
|
||||
}
|
||||
range = sun.getAstroDusk();
|
||||
range = sun.getRange(SunPhase.ASTRO_DUSK);
|
||||
if (range != null) {
|
||||
scheduleRange(handler, range, EVENT_CHANNEL_ID_ASTRO_DUSK, zone, locale, instantSource);
|
||||
}
|
||||
range = sun.getNauticDusk();
|
||||
range = sun.getRange(SunPhase.NAUTIC_DUSK);
|
||||
if (range != null) {
|
||||
scheduleRange(handler, range, EVENT_CHANNEL_ID_NAUTIC_DUSK, zone, locale, instantSource);
|
||||
}
|
||||
range = sun.getCivilDusk();
|
||||
range = sun.getRange(SunPhase.CIVIL_DUSK);
|
||||
if (range != null) {
|
||||
scheduleRange(handler, range, EVENT_CHANNEL_ID_CIVIL_DUSK, zone, locale, instantSource);
|
||||
}
|
||||
range = sun.getEveningNight();
|
||||
range = sun.getRange(SunPhase.EVENING_NIGHT);
|
||||
if (range != null) {
|
||||
scheduleRange(handler, range, EVENT_CHANNEL_ID_EVENING_NIGHT, zone, locale, instantSource);
|
||||
}
|
||||
range = sun.getDaylight();
|
||||
range = sun.getRange(SunPhase.DAYLIGHT);
|
||||
if (range != null) {
|
||||
scheduleRange(handler, range, EVENT_CHANNEL_ID_DAYLIGHT, zone, locale, instantSource);
|
||||
}
|
||||
@@ -158,35 +159,35 @@ public final class DailyJobSun extends AbstractJob {
|
||||
if (cal != null) {
|
||||
scheduleSunPhase(handler, SUN_SET.name(), SUN_SET, cal, zone, locale);
|
||||
}
|
||||
cal = (range = sun.getNight()) == null ? null : range.getStart();
|
||||
cal = (range = sun.getRange(SunPhase.NIGHT)) == null ? null : range.getStart();
|
||||
if (cal != null) {
|
||||
scheduleSunPhase(handler, NIGHT.name(), NIGHT, cal, zone, locale);
|
||||
}
|
||||
cal = (range = sun.getDaylight()) == null ? null : range.getStart();
|
||||
cal = (range = sun.getRange(SunPhase.DAYLIGHT)) == null ? null : range.getStart();
|
||||
if (cal != null) {
|
||||
scheduleSunPhase(handler, DAYLIGHT.name(), DAYLIGHT, cal, zone, locale);
|
||||
}
|
||||
cal = (range = sun.getAstroDawn()) == null ? null : range.getStart();
|
||||
cal = (range = sun.getRange(SunPhase.ASTRO_DAWN)) == null ? null : range.getStart();
|
||||
if (cal != null) {
|
||||
scheduleSunPhase(handler, ASTRO_DAWN.name(), ASTRO_DAWN, cal, zone, locale);
|
||||
}
|
||||
cal = (range = sun.getNauticDawn()) == null ? null : range.getStart();
|
||||
cal = (range = sun.getRange(SunPhase.NAUTIC_DAWN)) == null ? null : range.getStart();
|
||||
if (cal != null) {
|
||||
scheduleSunPhase(handler, NAUTIC_DAWN.name(), NAUTIC_DAWN, cal, zone, locale);
|
||||
}
|
||||
cal = (range = sun.getCivilDawn()) == null ? null : range.getStart();
|
||||
cal = (range = sun.getRange(SunPhase.CIVIL_DAWN)) == null ? null : range.getStart();
|
||||
if (cal != null) {
|
||||
scheduleSunPhase(handler, CIVIL_DAWN.name(), CIVIL_DAWN, cal, zone, locale);
|
||||
}
|
||||
cal = (range = sun.getAstroDusk()) == null ? null : range.getStart();
|
||||
cal = (range = sun.getRange(SunPhase.ASTRO_DUSK)) == null ? null : range.getStart();
|
||||
if (cal != null) {
|
||||
scheduleSunPhase(handler, ASTRO_DUSK.name(), ASTRO_DUSK, cal, zone, locale);
|
||||
}
|
||||
cal = (range = sun.getNauticDusk()) == null ? null : range.getStart();
|
||||
cal = (range = sun.getRange(SunPhase.NAUTIC_DUSK)) == null ? null : range.getStart();
|
||||
if (cal != null) {
|
||||
scheduleSunPhase(handler, NAUTIC_DUSK.name(), NAUTIC_DUSK, cal, zone, locale);
|
||||
}
|
||||
cal = (range = sun.getCivilDusk()) == null ? null : range.getStart();
|
||||
cal = (range = sun.getRange(SunPhase.CIVIL_DUSK)) == null ? null : range.getStart();
|
||||
if (cal != null) {
|
||||
scheduleSunPhase(handler, CIVIL_DUSK.name(), CIVIL_DUSK, cal, zone, locale);
|
||||
}
|
||||
|
||||
+5
-5
@@ -29,7 +29,7 @@ import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.openhab.binding.astro.internal.config.AstroChannelConfig;
|
||||
import org.openhab.binding.astro.internal.handler.AstroThingHandler;
|
||||
import org.openhab.binding.astro.internal.model.Range;
|
||||
import org.openhab.binding.astro.internal.model.SunPhaseName;
|
||||
import org.openhab.binding.astro.internal.model.SunPhase;
|
||||
import org.openhab.binding.astro.internal.util.DateTimeUtils;
|
||||
import org.openhab.core.scheduler.SchedulerRunnable;
|
||||
import org.openhab.core.thing.Channel;
|
||||
@@ -248,12 +248,12 @@ public interface Job extends SchedulerRunnable, Runnable {
|
||||
* Schedules {@link SunPhaseJob}
|
||||
*
|
||||
* @param astroHandler the {@link AstroThingHandler} instance
|
||||
* @param sunPhaseName {@link SunPhaseName} instance
|
||||
* @param sunPhase {@link SunPhase} instance
|
||||
* @param eventAt the {@link Calendar} instance denoting scheduled instant
|
||||
*/
|
||||
static void scheduleSunPhase(AstroThingHandler astroHandler, String identifier, SunPhaseName sunPhaseName,
|
||||
Calendar eventAt, TimeZone zone, Locale locale) {
|
||||
Job sunPhaseJob = new SunPhaseJob(astroHandler, sunPhaseName);
|
||||
static void scheduleSunPhase(AstroThingHandler astroHandler, String identifier, SunPhase sunPhase, Calendar eventAt,
|
||||
TimeZone zone, Locale locale) {
|
||||
Job sunPhaseJob = new SunPhaseJob(astroHandler, sunPhase);
|
||||
schedule(astroHandler, identifier, sunPhaseJob, eventAt, zone, locale);
|
||||
}
|
||||
|
||||
|
||||
+7
-7
@@ -17,7 +17,7 @@ import static org.openhab.binding.astro.internal.AstroBindingConstants.CHANNEL_I
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.openhab.binding.astro.internal.handler.AstroThingHandler;
|
||||
import org.openhab.binding.astro.internal.model.Sun;
|
||||
import org.openhab.binding.astro.internal.model.SunPhaseName;
|
||||
import org.openhab.binding.astro.internal.model.SunPhase;
|
||||
import org.openhab.core.thing.Channel;
|
||||
|
||||
/**
|
||||
@@ -29,19 +29,19 @@ import org.openhab.core.thing.Channel;
|
||||
@NonNullByDefault
|
||||
public final class SunPhaseJob extends AbstractJob {
|
||||
|
||||
private final SunPhaseName sunPhaseName;
|
||||
private final SunPhase sunPhase;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param handler the thing handler
|
||||
* @param sunPhaseName {@link SunPhaseName} name
|
||||
* @param sunPhase {@link SunPhase} enum value
|
||||
* @throws IllegalArgumentException
|
||||
* if any of the arguments is {@code null}
|
||||
*/
|
||||
public SunPhaseJob(AstroThingHandler handler, SunPhaseName sunPhaseName) {
|
||||
public SunPhaseJob(AstroThingHandler handler, SunPhase sunPhase) {
|
||||
super(handler);
|
||||
this.sunPhaseName = sunPhaseName;
|
||||
this.sunPhase = sunPhase;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -50,7 +50,7 @@ public final class SunPhaseJob extends AbstractJob {
|
||||
Channel phaseNameChannel = handler.getThing().getChannel(CHANNEL_ID_SUN_PHASE_NAME);
|
||||
if (phaseNameChannel != null) {
|
||||
if (handler.getPlanet() instanceof Sun theSun) {
|
||||
theSun.getPhase().setName(sunPhaseName);
|
||||
theSun.setSunPhase(sunPhase);
|
||||
handler.publishChannelIfLinked(phaseNameChannel.getUID());
|
||||
}
|
||||
} else {
|
||||
@@ -65,6 +65,6 @@ public final class SunPhaseJob extends AbstractJob {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Sun phase job " + handler.getThing().getUID() + "/" + sunPhaseName;
|
||||
return "Sun phase job " + handler.getThing().getUID() + "/" + sunPhase;
|
||||
}
|
||||
}
|
||||
|
||||
+16
-165
@@ -26,7 +26,7 @@ import org.eclipse.jdt.annotation.Nullable;
|
||||
@NonNullByDefault
|
||||
public class Sun extends RiseSet implements Planet {
|
||||
|
||||
private Map<SunPhaseName, Range> ranges = new HashMap<>();
|
||||
private Map<SunPhase, Range> ranges = new HashMap<>();
|
||||
|
||||
private Position position = Position.NONE;
|
||||
private Zodiac zodiac = Zodiac.NONE;
|
||||
@@ -35,173 +35,23 @@ public class Sun extends RiseSet implements Planet {
|
||||
|
||||
private @Nullable Season season = null;
|
||||
|
||||
private SunPhase phase = new SunPhase();
|
||||
private @Nullable SunPhase sunPhase;
|
||||
|
||||
private Circadian circadian = Circadian.NONE;
|
||||
|
||||
/**
|
||||
* Returns the astro dawn range.
|
||||
* Returns the requested range.
|
||||
*/
|
||||
@Nullable
|
||||
public Range getAstroDawn() {
|
||||
return ranges.get(SunPhaseName.ASTRO_DAWN);
|
||||
public Range getRange(SunPhase sunPhase) {
|
||||
return ranges.get(sunPhase);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the astro dawn range.
|
||||
* Sets the given range.
|
||||
*/
|
||||
public void setAstroDawn(Range astroDawn) {
|
||||
ranges.put(SunPhaseName.ASTRO_DAWN, astroDawn);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the nautic dawn range.
|
||||
*/
|
||||
@Nullable
|
||||
public Range getNauticDawn() {
|
||||
return ranges.get(SunPhaseName.NAUTIC_DAWN);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the nautic dawn range.
|
||||
*/
|
||||
public void setNauticDawn(Range nauticDawn) {
|
||||
ranges.put(SunPhaseName.NAUTIC_DAWN, nauticDawn);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the civil dawn range.
|
||||
*/
|
||||
@Nullable
|
||||
public Range getCivilDawn() {
|
||||
return ranges.get(SunPhaseName.CIVIL_DAWN);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the civil dawn range.
|
||||
*/
|
||||
public void setCivilDawn(Range civilDawn) {
|
||||
ranges.put(SunPhaseName.CIVIL_DAWN, civilDawn);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the civil dusk range.
|
||||
*/
|
||||
@Nullable
|
||||
public Range getCivilDusk() {
|
||||
return ranges.get(SunPhaseName.CIVIL_DUSK);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the civil dusk range.
|
||||
*/
|
||||
public void setCivilDusk(Range civilDusk) {
|
||||
ranges.put(SunPhaseName.CIVIL_DUSK, civilDusk);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the nautic dusk range.
|
||||
*/
|
||||
@Nullable
|
||||
public Range getNauticDusk() {
|
||||
return ranges.get(SunPhaseName.NAUTIC_DUSK);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the nautic dusk range.
|
||||
*/
|
||||
public void setNauticDusk(Range nauticDusk) {
|
||||
ranges.put(SunPhaseName.NAUTIC_DUSK, nauticDusk);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the astro dusk range.
|
||||
*/
|
||||
@Nullable
|
||||
public Range getAstroDusk() {
|
||||
return ranges.get(SunPhaseName.ASTRO_DUSK);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the astro dusk range.
|
||||
*/
|
||||
public void setAstroDusk(Range astroDusk) {
|
||||
ranges.put(SunPhaseName.ASTRO_DUSK, astroDusk);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the noon range, start and end is always equal.
|
||||
*/
|
||||
@Nullable
|
||||
public Range getNoon() {
|
||||
return ranges.get(SunPhaseName.NOON);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the noon range.
|
||||
*/
|
||||
public void setNoon(Range noon) {
|
||||
ranges.put(SunPhaseName.NOON, noon);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the daylight range.
|
||||
*/
|
||||
@Nullable
|
||||
public Range getDaylight() {
|
||||
return ranges.get(SunPhaseName.DAYLIGHT);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the daylight range.
|
||||
*/
|
||||
public void setDaylight(Range daylight) {
|
||||
ranges.put(SunPhaseName.DAYLIGHT, daylight);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the morning night range.
|
||||
*/
|
||||
@Nullable
|
||||
public Range getMorningNight() {
|
||||
return ranges.get(SunPhaseName.MORNING_NIGHT);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the morning night range.
|
||||
*/
|
||||
public void setMorningNight(Range morningNight) {
|
||||
ranges.put(SunPhaseName.MORNING_NIGHT, morningNight);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the evening night range.
|
||||
*/
|
||||
@Nullable
|
||||
public Range getEveningNight() {
|
||||
return ranges.get(SunPhaseName.EVENING_NIGHT);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the evening night range.
|
||||
*/
|
||||
public void setEveningNight(Range eveningNight) {
|
||||
ranges.put(SunPhaseName.EVENING_NIGHT, eveningNight);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the night range.
|
||||
*/
|
||||
@Nullable
|
||||
public Range getNight() {
|
||||
return ranges.get(SunPhaseName.NIGHT);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the night range.
|
||||
*/
|
||||
public void setNight(Range night) {
|
||||
ranges.put(SunPhaseName.NIGHT, night);
|
||||
public void setRange(SunPhase sunPhase, Range range) {
|
||||
ranges.put(sunPhase, range);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -210,7 +60,7 @@ public class Sun extends RiseSet implements Planet {
|
||||
@Override
|
||||
public void setRise(Range rise) {
|
||||
super.setRise(rise);
|
||||
ranges.put(SunPhaseName.SUN_RISE, rise);
|
||||
ranges.put(SunPhase.SUN_RISE, rise);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -219,7 +69,7 @@ public class Sun extends RiseSet implements Planet {
|
||||
@Override
|
||||
public void setSet(Range set) {
|
||||
super.setSet(set);
|
||||
ranges.put(SunPhaseName.SUN_SET, set);
|
||||
ranges.put(SunPhase.SUN_SET, set);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -290,21 +140,22 @@ public class Sun extends RiseSet implements Planet {
|
||||
/**
|
||||
* Returns the sun phase.
|
||||
*/
|
||||
public SunPhase getPhase() {
|
||||
return phase;
|
||||
@Nullable
|
||||
public SunPhase getSunPhase() {
|
||||
return sunPhase;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the sun phase.
|
||||
*/
|
||||
public void setPhase(SunPhase phase) {
|
||||
this.phase = phase;
|
||||
public void setSunPhase(@Nullable SunPhase sunPhase) {
|
||||
this.sunPhase = sunPhase;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all ranges of the sun.
|
||||
*/
|
||||
public Map<SunPhaseName, Range> getAllRanges() {
|
||||
public Map<SunPhase, Range> getAllRanges() {
|
||||
return ranges;
|
||||
}
|
||||
|
||||
|
||||
+15
-19
@@ -13,29 +13,25 @@
|
||||
package org.openhab.binding.astro.internal.model;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.eclipse.jdt.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* Holds the calculated sun phase informations.
|
||||
* All sun phases.
|
||||
*
|
||||
* @author Gerhard Riegler - Initial contribution
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public class SunPhase {
|
||||
private @Nullable SunPhaseName name;
|
||||
|
||||
/**
|
||||
* Returns the sun phase.
|
||||
*/
|
||||
@Nullable
|
||||
public SunPhaseName getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the sun phase.
|
||||
*/
|
||||
public void setName(@Nullable SunPhaseName name) {
|
||||
this.name = name;
|
||||
}
|
||||
public enum SunPhase {
|
||||
SUN_RISE,
|
||||
ASTRO_DAWN,
|
||||
NAUTIC_DAWN,
|
||||
CIVIL_DAWN,
|
||||
CIVIL_DUSK,
|
||||
NAUTIC_DUSK,
|
||||
ASTRO_DUSK,
|
||||
SUN_SET,
|
||||
DAYLIGHT,
|
||||
NOON,
|
||||
NIGHT,
|
||||
MORNING_NIGHT,
|
||||
EVENING_NIGHT
|
||||
}
|
||||
|
||||
-37
@@ -1,37 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2010-2026 Contributors to the openHAB project
|
||||
*
|
||||
* See the NOTICE file(s) distributed with this work for additional
|
||||
* information.
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the Eclipse Public License 2.0 which is available at
|
||||
* http://www.eclipse.org/legal/epl-2.0
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*/
|
||||
package org.openhab.binding.astro.internal.model;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
|
||||
/**
|
||||
* All sun phases.
|
||||
*
|
||||
* @author Gerhard Riegler - Initial contribution
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public enum SunPhaseName {
|
||||
SUN_RISE,
|
||||
ASTRO_DAWN,
|
||||
NAUTIC_DAWN,
|
||||
CIVIL_DAWN,
|
||||
CIVIL_DUSK,
|
||||
NAUTIC_DUSK,
|
||||
ASTRO_DUSK,
|
||||
SUN_SET,
|
||||
DAYLIGHT,
|
||||
NOON,
|
||||
NIGHT,
|
||||
MORNING_NIGHT,
|
||||
EVENING_NIGHT
|
||||
}
|
||||
+48
-48
@@ -29,7 +29,7 @@ import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.openhab.binding.astro.internal.model.Range;
|
||||
import org.openhab.binding.astro.internal.model.Sun;
|
||||
import org.openhab.binding.astro.internal.model.SunPhaseName;
|
||||
import org.openhab.binding.astro.internal.model.SunPhase;
|
||||
import org.openhab.binding.astro.internal.util.DateTimeUtils;
|
||||
|
||||
/***
|
||||
@@ -71,28 +71,28 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
assertNotNull(sun.getNight());
|
||||
assertNotNull(sun.getRange(SunPhase.NIGHT));
|
||||
|
||||
assertNotNull(sun.getAstroDawn());
|
||||
assertNotNull(sun.getNauticDawn());
|
||||
assertNotNull(sun.getCivilDawn());
|
||||
assertNotNull(sun.getRange(SunPhase.ASTRO_DAWN));
|
||||
assertNotNull(sun.getRange(SunPhase.NAUTIC_DAWN));
|
||||
assertNotNull(sun.getRange(SunPhase.CIVIL_DAWN));
|
||||
|
||||
assertNotNull(sun.getRise());
|
||||
|
||||
assertNotNull(sun.getDaylight());
|
||||
assertNotNull(sun.getNoon());
|
||||
assertNotNull(sun.getRange(SunPhase.DAYLIGHT));
|
||||
assertNotNull(sun.getRange(SunPhase.NOON));
|
||||
assertNotNull(sun.getSet());
|
||||
|
||||
assertNotNull(sun.getCivilDusk());
|
||||
assertNotNull(sun.getNauticDusk());
|
||||
assertNotNull(sun.getAstroDusk());
|
||||
assertNotNull(sun.getNight());
|
||||
assertNotNull(sun.getRange(SunPhase.CIVIL_DUSK));
|
||||
assertNotNull(sun.getRange(SunPhase.NAUTIC_DUSK));
|
||||
assertNotNull(sun.getRange(SunPhase.ASTRO_DUSK));
|
||||
assertNotNull(sun.getRange(SunPhase.NIGHT));
|
||||
|
||||
assertNotNull(sun.getMorningNight());
|
||||
assertNotNull(sun.getEveningNight());
|
||||
assertNotNull(sun.getRange(SunPhase.MORNING_NIGHT));
|
||||
assertNotNull(sun.getRange(SunPhase.EVENING_NIGHT));
|
||||
|
||||
// for an old date the phase should also be calculated
|
||||
assertNotNull(sun.getPhase().getName());
|
||||
assertNotNull(sun.getSunPhase());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -100,7 +100,7 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getAstroDawn();
|
||||
Range range = sun.getRange(SunPhase.ASTRO_DAWN);
|
||||
assertNotNull(range);
|
||||
Calendar cal = range.getStart();
|
||||
assertNotNull(cal);
|
||||
@@ -118,7 +118,7 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getNauticDawn();
|
||||
Range range = sun.getRange(SunPhase.NAUTIC_DAWN);
|
||||
assertNotNull(range);
|
||||
Calendar cal = range.getStart();
|
||||
assertNotNull(cal);
|
||||
@@ -136,7 +136,7 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getCivilDawn();
|
||||
Range range = sun.getRange(SunPhase.CIVIL_DAWN);
|
||||
assertNotNull(range);
|
||||
Calendar cal = range.getStart();
|
||||
assertNotNull(cal);
|
||||
@@ -168,7 +168,7 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getNoon();
|
||||
Range range = sun.getRange(SunPhase.NOON);
|
||||
assertNotNull(range);
|
||||
Calendar cal = range.getStart();
|
||||
assertNotNull(cal);
|
||||
@@ -198,7 +198,7 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getCivilDusk();
|
||||
Range range = sun.getRange(SunPhase.CIVIL_DUSK);
|
||||
assertNotNull(range);
|
||||
Calendar cal = range.getStart();
|
||||
assertNotNull(cal);
|
||||
@@ -218,7 +218,7 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getNauticDusk();
|
||||
Range range = sun.getRange(SunPhase.NAUTIC_DUSK);
|
||||
assertNotNull(range);
|
||||
Calendar cal = range.getStart();
|
||||
assertNotNull(cal);
|
||||
@@ -238,7 +238,7 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getAstroDusk();
|
||||
Range range = sun.getRange(SunPhase.ASTRO_DUSK);
|
||||
assertNotNull(range);
|
||||
Calendar cal = range.getStart();
|
||||
assertNotNull(cal);
|
||||
@@ -258,9 +258,9 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getAllRanges().get(SunPhaseName.NIGHT);
|
||||
Range range = sun.getAllRanges().get(SunPhase.NIGHT);
|
||||
assertNotNull(range);
|
||||
Range range2 = sun.getAllRanges().get(SunPhaseName.ASTRO_DAWN);
|
||||
Range range2 = sun.getAllRanges().get(SunPhase.ASTRO_DAWN);
|
||||
assertNotNull(range2);
|
||||
assertEquals(range.getEnd(), range2.getStart());
|
||||
}
|
||||
@@ -270,9 +270,9 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getAllRanges().get(SunPhaseName.MORNING_NIGHT);
|
||||
Range range = sun.getAllRanges().get(SunPhase.MORNING_NIGHT);
|
||||
assertNotNull(range);
|
||||
Range range2 = sun.getAllRanges().get(SunPhaseName.ASTRO_DAWN);
|
||||
Range range2 = sun.getAllRanges().get(SunPhase.ASTRO_DAWN);
|
||||
assertNotNull(range2);
|
||||
assertEquals(range.getEnd(), range2.getStart());
|
||||
}
|
||||
@@ -282,9 +282,9 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getAllRanges().get(SunPhaseName.ASTRO_DAWN);
|
||||
Range range = sun.getAllRanges().get(SunPhase.ASTRO_DAWN);
|
||||
assertNotNull(range);
|
||||
Range range2 = sun.getAllRanges().get(SunPhaseName.NAUTIC_DAWN);
|
||||
Range range2 = sun.getAllRanges().get(SunPhase.NAUTIC_DAWN);
|
||||
assertNotNull(range2);
|
||||
assertEquals(range.getEnd(), range2.getStart());
|
||||
}
|
||||
@@ -294,9 +294,9 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getAllRanges().get(SunPhaseName.NAUTIC_DAWN);
|
||||
Range range = sun.getAllRanges().get(SunPhase.NAUTIC_DAWN);
|
||||
assertNotNull(range);
|
||||
Range range2 = sun.getAllRanges().get(SunPhaseName.CIVIL_DAWN);
|
||||
Range range2 = sun.getAllRanges().get(SunPhase.CIVIL_DAWN);
|
||||
assertNotNull(range2);
|
||||
assertEquals(range.getEnd(), range2.getStart());
|
||||
}
|
||||
@@ -306,9 +306,9 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getAllRanges().get(SunPhaseName.CIVIL_DAWN);
|
||||
Range range = sun.getAllRanges().get(SunPhase.CIVIL_DAWN);
|
||||
assertNotNull(range);
|
||||
Range range2 = sun.getAllRanges().get(SunPhaseName.SUN_RISE);
|
||||
Range range2 = sun.getAllRanges().get(SunPhase.SUN_RISE);
|
||||
assertNotNull(range2);
|
||||
assertEquals(range.getEnd(), range2.getStart());
|
||||
}
|
||||
@@ -318,9 +318,9 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getAllRanges().get(SunPhaseName.SUN_RISE);
|
||||
Range range = sun.getAllRanges().get(SunPhase.SUN_RISE);
|
||||
assertNotNull(range);
|
||||
Range range2 = sun.getAllRanges().get(SunPhaseName.DAYLIGHT);
|
||||
Range range2 = sun.getAllRanges().get(SunPhase.DAYLIGHT);
|
||||
assertNotNull(range2);
|
||||
assertEquals(range.getEnd(), range2.getStart());
|
||||
}
|
||||
@@ -330,9 +330,9 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getAllRanges().get(SunPhaseName.DAYLIGHT);
|
||||
Range range = sun.getAllRanges().get(SunPhase.DAYLIGHT);
|
||||
assertNotNull(range);
|
||||
Range range2 = sun.getAllRanges().get(SunPhaseName.SUN_SET);
|
||||
Range range2 = sun.getAllRanges().get(SunPhase.SUN_SET);
|
||||
assertNotNull(range2);
|
||||
assertEquals(range.getEnd(), range2.getStart());
|
||||
}
|
||||
@@ -342,9 +342,9 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getAllRanges().get(SunPhaseName.SUN_SET);
|
||||
Range range = sun.getAllRanges().get(SunPhase.SUN_SET);
|
||||
assertNotNull(range);
|
||||
Range range2 = sun.getAllRanges().get(SunPhaseName.CIVIL_DUSK);
|
||||
Range range2 = sun.getAllRanges().get(SunPhase.CIVIL_DUSK);
|
||||
assertNotNull(range2);
|
||||
assertEquals(range.getEnd(), range2.getStart());
|
||||
}
|
||||
@@ -354,9 +354,9 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getAllRanges().get(SunPhaseName.CIVIL_DUSK);
|
||||
Range range = sun.getAllRanges().get(SunPhase.CIVIL_DUSK);
|
||||
assertNotNull(range);
|
||||
Range range2 = sun.getAllRanges().get(SunPhaseName.NAUTIC_DUSK);
|
||||
Range range2 = sun.getAllRanges().get(SunPhase.NAUTIC_DUSK);
|
||||
assertNotNull(range2);
|
||||
assertEquals(range.getEnd(), range2.getStart());
|
||||
}
|
||||
@@ -366,9 +366,9 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getAllRanges().get(SunPhaseName.NAUTIC_DUSK);
|
||||
Range range = sun.getAllRanges().get(SunPhase.NAUTIC_DUSK);
|
||||
assertNotNull(range);
|
||||
Range range2 = sun.getAllRanges().get(SunPhaseName.ASTRO_DUSK);
|
||||
Range range2 = sun.getAllRanges().get(SunPhase.ASTRO_DUSK);
|
||||
assertNotNull(range2);
|
||||
assertEquals(range.getEnd(), range2.getStart());
|
||||
}
|
||||
@@ -378,9 +378,9 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getAllRanges().get(SunPhaseName.ASTRO_DUSK);
|
||||
Range range = sun.getAllRanges().get(SunPhase.ASTRO_DUSK);
|
||||
assertNotNull(range);
|
||||
Range range2 = sun.getAllRanges().get(SunPhaseName.NIGHT);
|
||||
Range range2 = sun.getAllRanges().get(SunPhase.NIGHT);
|
||||
assertNotNull(range2);
|
||||
assertEquals(range.getEnd(), range2.getStart());
|
||||
}
|
||||
@@ -390,9 +390,9 @@ public class SunCalcTest {
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE,
|
||||
AMSTERDAM_ALTITUDE, false, AMSTERDAM_TIME_ZONE, Locale.ROOT);
|
||||
|
||||
Range range = sun.getAllRanges().get(SunPhaseName.ASTRO_DUSK);
|
||||
Range range = sun.getAllRanges().get(SunPhase.ASTRO_DUSK);
|
||||
assertNotNull(range);
|
||||
Range range2 = sun.getAllRanges().get(SunPhaseName.EVENING_NIGHT);
|
||||
Range range2 = sun.getAllRanges().get(SunPhase.EVENING_NIGHT);
|
||||
assertNotNull(range2);
|
||||
assertEquals(range.getEnd(), range2.getStart());
|
||||
}
|
||||
@@ -404,7 +404,7 @@ public class SunCalcTest {
|
||||
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(tDate, 53.524695, -2.4, 0.0, true, AMSTERDAM_TIME_ZONE,
|
||||
Locale.ROOT);
|
||||
assertEquals(SunPhaseName.CIVIL_DAWN, sun.getPhase().getName());
|
||||
assertEquals(SunPhase.CIVIL_DAWN, sun.getSunPhase());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -416,7 +416,7 @@ public class SunCalcTest {
|
||||
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(tDate, 53.524695, -2.4, 0.0, true, AMSTERDAM_TIME_ZONE,
|
||||
Locale.ROOT);
|
||||
assertEquals(SunPhaseName.SUN_RISE, sun.getPhase().getName());
|
||||
assertEquals(SunPhase.SUN_RISE, sun.getSunPhase());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -426,7 +426,7 @@ public class SunCalcTest {
|
||||
|
||||
Sun sun = Objects.requireNonNull(sunCalc).getSunInfo(tDate, 53.524695, -2.4, 0.0, true, AMSTERDAM_TIME_ZONE,
|
||||
Locale.ROOT);
|
||||
assertEquals(SunPhaseName.DAYLIGHT, sun.getPhase().getName());
|
||||
assertEquals(SunPhase.DAYLIGHT, sun.getSunPhase());
|
||||
}
|
||||
|
||||
/***
|
||||
|
||||
+27
-28
@@ -32,7 +32,7 @@ import org.mockito.junit.jupiter.MockitoSettings;
|
||||
import org.mockito.quality.Strictness;
|
||||
import org.openhab.binding.astro.internal.model.Range;
|
||||
import org.openhab.binding.astro.internal.model.Sun;
|
||||
import org.openhab.binding.astro.internal.model.SunPhaseName;
|
||||
import org.openhab.binding.astro.internal.model.SunPhase;
|
||||
import org.openhab.core.i18n.LocaleProvider;
|
||||
import org.openhab.core.i18n.TimeZoneProvider;
|
||||
import org.openhab.core.library.types.StringType;
|
||||
@@ -44,7 +44,7 @@ import org.openhab.core.types.UnDefType;
|
||||
|
||||
/***
|
||||
* A set of standard unit test of {@link Sun} class. In particular it checks if
|
||||
* {@link Sun#getAllRanges()} contains a correct {@link SunPhaseName}.
|
||||
* {@link Sun#getAllRanges()} contains a correct {@link SunPhase}.
|
||||
*
|
||||
* @author Witold Markowski - Initial contribution
|
||||
* @see <a href="https://github.com/openhab/openhab-addons/issues/5006">[astro]
|
||||
@@ -85,7 +85,6 @@ public class SunTest {
|
||||
public void testConstructor() throws Exception {
|
||||
Sun sun = this.sun;
|
||||
assertNotNull(sun);
|
||||
assertNotNull(sun.getPhase());
|
||||
|
||||
when(channel.getUID()).thenReturn(new ChannelUID("astro:sun:home:phase#name"));
|
||||
assertEquals(UnDefType.UNDEF, handler.getState(channel));
|
||||
@@ -96,7 +95,7 @@ public class SunTest {
|
||||
handler.publishDailyInfo();
|
||||
Sun sun = handler.sun;
|
||||
assertNotNull(sun);
|
||||
sun.getPhase().setName(null);
|
||||
sun.setSunPhase(null);
|
||||
|
||||
when(channel.getUID()).thenReturn(new ChannelUID("astro:sun:home:phase#name"));
|
||||
assertEquals(UnDefType.UNDEF, handler.getState(channel));
|
||||
@@ -113,45 +112,45 @@ public class SunTest {
|
||||
public void testGetAllRangesForNight() {
|
||||
Sun sun = this.sun;
|
||||
assertNotNull(sun);
|
||||
sun.setNight(new Range());
|
||||
sun.setRange(SunPhase.NIGHT, new Range());
|
||||
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhaseName.NIGHT));
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhase.NIGHT));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetAllRangesForMorningNight() {
|
||||
Sun sun = this.sun;
|
||||
assertNotNull(sun);
|
||||
sun.setMorningNight(new Range());
|
||||
sun.setRange(SunPhase.MORNING_NIGHT, new Range());
|
||||
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhaseName.MORNING_NIGHT));
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhase.MORNING_NIGHT));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetAllRangesForAstroDawn() {
|
||||
Sun sun = this.sun;
|
||||
assertNotNull(sun);
|
||||
sun.setAstroDawn(new Range());
|
||||
sun.setRange(SunPhase.ASTRO_DAWN, new Range());
|
||||
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhaseName.ASTRO_DAWN));
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhase.ASTRO_DAWN));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetAllRangesForNauticDawn() {
|
||||
Sun sun = this.sun;
|
||||
assertNotNull(sun);
|
||||
sun.setNauticDawn(new Range());
|
||||
sun.setRange(SunPhase.NAUTIC_DAWN, new Range());
|
||||
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhaseName.NAUTIC_DAWN));
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhase.NAUTIC_DAWN));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetAllRangesForCivilDawn() {
|
||||
Sun sun = this.sun;
|
||||
assertNotNull(sun);
|
||||
sun.setCivilDawn(new Range());
|
||||
sun.setRange(SunPhase.CIVIL_DAWN, new Range());
|
||||
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhaseName.CIVIL_DAWN));
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhase.CIVIL_DAWN));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -160,25 +159,25 @@ public class SunTest {
|
||||
assertNotNull(sun);
|
||||
sun.setRise(new Range());
|
||||
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhaseName.SUN_RISE));
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhase.SUN_RISE));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetAllRangesForDaylight() {
|
||||
Sun sun = this.sun;
|
||||
assertNotNull(sun);
|
||||
sun.setDaylight(new Range());
|
||||
sun.setRange(SunPhase.DAYLIGHT, new Range());
|
||||
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhaseName.DAYLIGHT));
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhase.DAYLIGHT));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetAllRangesForNoon() {
|
||||
Sun sun = this.sun;
|
||||
assertNotNull(sun);
|
||||
sun.setNoon(new Range());
|
||||
sun.setRange(SunPhase.NOON, new Range());
|
||||
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhaseName.NOON));
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhase.NOON));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -187,42 +186,42 @@ public class SunTest {
|
||||
assertNotNull(sun);
|
||||
sun.setSet(new Range());
|
||||
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhaseName.SUN_SET));
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhase.SUN_SET));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetAllRangesForCivilDusk() {
|
||||
Sun sun = this.sun;
|
||||
assertNotNull(sun);
|
||||
sun.setCivilDusk(new Range());
|
||||
sun.setRange(SunPhase.CIVIL_DUSK, new Range());
|
||||
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhaseName.CIVIL_DUSK));
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhase.CIVIL_DUSK));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetAllRangesForNauticDusk() {
|
||||
Sun sun = this.sun;
|
||||
assertNotNull(sun);
|
||||
sun.setNauticDusk(new Range());
|
||||
sun.setRange(SunPhase.NAUTIC_DUSK, new Range());
|
||||
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhaseName.NAUTIC_DUSK));
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhase.NAUTIC_DUSK));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetAllRangesForAstroDusk() {
|
||||
Sun sun = this.sun;
|
||||
assertNotNull(sun);
|
||||
sun.setAstroDusk(new Range());
|
||||
sun.setRange(SunPhase.ASTRO_DUSK, new Range());
|
||||
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhaseName.ASTRO_DUSK));
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhase.ASTRO_DUSK));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetAllRangesForEveningNight() {
|
||||
Sun sun = this.sun;
|
||||
assertNotNull(sun);
|
||||
sun.setEveningNight(new Range());
|
||||
sun.setRange(SunPhase.EVENING_NIGHT, new Range());
|
||||
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhaseName.EVENING_NIGHT));
|
||||
assertTrue(sun.getAllRanges().containsKey(SunPhase.EVENING_NIGHT));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user