SeasonManager extends Observable { public void seasonSwitch(SeasonName season) { switch (season) { case SUMMER: currentSeason = new Summer(); break; case AUTUMN: currentSeason = new Autumn(); break; case WINTER: currentSeason = new Winter(); break; case SPRING: currentSeason = new Spring(); break; } startDay = WorldManager.getInstance().getWorld().getTimeManager() .getDays(); setChanged(); notifyObservers(getSeason()); } SeasonManager(); void seasonStart(); String getSeason(); Season getSeasonObject(); void seasonSwitch(SeasonName season); void seasonSwitch(); String getIconStyle(SeasonName season, Boolean large); String getIconPath(); int getSeasonEndDay(); void registerMonthlyTask();  }
@Test public void testObserver() { clearObserverUpdated(); SeasonManager manager = new SeasonManager(); TestObserver observer = new TestObserver(); manager.addObserver(observer); manager.seasonSwitch(); Assert.assertTrue(checkObserverUpdated()); }