public void isFunctionActiveTodayTest3() { IZoneServer zoneServer = null; // (1) Empty day list List <DayOfWeek> _dayOfWeeks1 = new List <DayOfWeek>(); AlarmFunction function1 = new AlarmFunction( SimpleId.NewGuid(), new Address(100, 1), new Address(100, 1), 50, new TimeSpan(6, 0, 0), new TimeSpan(0, 45, 0), _dayOfWeeks1); Dictionary <int, IAudioDriver> audioDrivers = null; ConcreteAlarmFunction target1 = new ConcreteAlarmFunction(function1, zoneServer, audioDrivers); // (2) Full day list List <DayOfWeek> _dayOfWeeks2 = new List <DayOfWeek>(); _dayOfWeeks2.Add(DayOfWeek.Monday); _dayOfWeeks2.Add(DayOfWeek.Tuesday); _dayOfWeeks2.Add(DayOfWeek.Wednesday); _dayOfWeeks2.Add(DayOfWeek.Thursday); _dayOfWeeks2.Add(DayOfWeek.Friday); _dayOfWeeks2.Add(DayOfWeek.Saturday); _dayOfWeeks2.Add(DayOfWeek.Sunday); AlarmFunction function2 = new AlarmFunction( SimpleId.NewGuid(), new Address(100, 1), new Address(100, 1), 50, new TimeSpan(6, 0, 0), new TimeSpan(0, 45, 0), _dayOfWeeks2); ConcreteAlarmFunction target2 = new ConcreteAlarmFunction(function2, zoneServer, audioDrivers); // Monday Assert.AreEqual(false, target1.isFunctionActiveToday(new DateTime(2009, 9, 7, 12, 0, 0))); Assert.AreEqual(true, target2.isFunctionActiveToday(new DateTime(2009, 9, 7, 12, 0, 0))); // Tuesday Assert.AreEqual(false, target1.isFunctionActiveToday(new DateTime(2009, 9, 8, 12, 0, 0))); Assert.AreEqual(true, target2.isFunctionActiveToday(new DateTime(2009, 9, 8, 12, 0, 0))); // Wednesday Assert.AreEqual(false, target1.isFunctionActiveToday(new DateTime(2009, 9, 9, 12, 0, 0))); Assert.AreEqual(true, target2.isFunctionActiveToday(new DateTime(2009, 9, 9, 12, 0, 0))); // Thursday Assert.AreEqual(false, target1.isFunctionActiveToday(new DateTime(2009, 9, 10, 12, 0, 0))); Assert.AreEqual(true, target2.isFunctionActiveToday(new DateTime(2009, 9, 10, 12, 0, 0))); // Friday Assert.AreEqual(false, target1.isFunctionActiveToday(new DateTime(2009, 9, 11, 12, 0, 0))); Assert.AreEqual(true, target2.isFunctionActiveToday(new DateTime(2009, 9, 11, 12, 0, 0))); // Saturday Assert.AreEqual(false, target1.isFunctionActiveToday(new DateTime(2009, 9, 12, 12, 0, 0))); Assert.AreEqual(true, target2.isFunctionActiveToday(new DateTime(2009, 9, 12, 12, 0, 0))); // Sunday Assert.AreEqual(false, target1.isFunctionActiveToday(new DateTime(2009, 9, 13, 12, 0, 0))); Assert.AreEqual(true, target2.isFunctionActiveToday(new DateTime(2009, 9, 13, 12, 0, 0))); }
public void ConcreteAlarmFunctionConstructorTest2() { List <DayOfWeek> _dayOfWeeks = new List <DayOfWeek>(); AlarmFunction function = new AlarmFunction( SimpleId.NewGuid(), new Address(100, 1), new Address(100, 1), 50, new TimeSpan(6, 0, 0), new TimeSpan(0, 45, 0), _dayOfWeeks); IZoneServer zoneServer = null; Dictionary <int, IAudioDriver> audioDrivers = null; ConcreteAlarmFunction target = new ConcreteAlarmFunction(function, zoneServer, audioDrivers); }
public void ConcreteAlarmFunctionConstructorTest1() { try { AlarmFunction function = null; IZoneServer zoneServer = null; Dictionary <int, IAudioDriver> audioDrivers = null; ConcreteAlarmFunction target = new ConcreteAlarmFunction(function, zoneServer, audioDrivers); } catch (FunctionServerException) { return; } Assert.Fail("'FunctionServerException' Exception expected!"); }
public void isFunctionActiveTodayTest1() { List <DayOfWeek> _dayOfWeeks = new List <DayOfWeek>(); AlarmFunction function = new AlarmFunction( SimpleId.NewGuid(), new Address(100, 1), new Address(100, 1), 50, new TimeSpan(6, 0, 0), new TimeSpan(0, 45, 0), _dayOfWeeks); IZoneServer zoneServer = null; Dictionary <int, IAudioDriver> audioDrivers = null; ConcreteAlarmFunction target = new ConcreteAlarmFunction(function, zoneServer, audioDrivers); DateTime aktTime = DateTime.Now; bool actual = target.isFunctionActiveToday(aktTime); Assert.AreEqual(false, actual); }
public void calculateFunctionTest4() { // (1) Day list: Monday, Wednesday, Friday, Sunday // (1) Function: AlarmTime=10:00, AlarmDuration=01:45 #region Function1 List <DayOfWeek> _dayOfWeeks1 = new List <DayOfWeek>(); _dayOfWeeks1.Add(DayOfWeek.Monday); _dayOfWeeks1.Add(DayOfWeek.Wednesday); _dayOfWeeks1.Add(DayOfWeek.Friday); _dayOfWeeks1.Add(DayOfWeek.Sunday); AlarmFunction function1 = new AlarmFunction( SimpleId.NewGuid(), new Address(100, 1), new Address(100, 3), 50, new TimeSpan(10, 0, 0), new TimeSpan(1, 45, 0), _dayOfWeeks1); ZoneServerMock zoneServer1 = new ZoneServerMock(); Dictionary <int, IAudioDriver> audioDrivers = null; ConcreteAlarmFunction target1 = new ConcreteAlarmFunction(function1, zoneServer1, audioDrivers); #endregion // (2) Day list: Tuesday, Thursday, Saturday, Sunday // (2) Function: AlarmTime=10:00, AlarmDuration=01:45 #region Function2 List <DayOfWeek> _dayOfWeeks2 = new List <DayOfWeek>(); _dayOfWeeks2.Add(DayOfWeek.Tuesday); _dayOfWeeks2.Add(DayOfWeek.Thursday); _dayOfWeeks2.Add(DayOfWeek.Saturday); _dayOfWeeks2.Add(DayOfWeek.Sunday); AlarmFunction function2 = new AlarmFunction( SimpleId.NewGuid(), new Address(100, 1), new Address(100, 6), 50, new TimeSpan(10, 0, 0), new TimeSpan(1, 45, 0), _dayOfWeeks2); ZoneServerMock zoneServer2 = new ZoneServerMock(); ConcreteAlarmFunction target2 = new ConcreteAlarmFunction(function2, zoneServer2, audioDrivers); #endregion ZoneState zoneStateOff1 = new ZoneState(new Address(100, 2), false, 20, ZoneQuality.Online); zoneStateOff1.LastUpdate = new DateTime(2009, 9, 12, 23, 0, 0); ZoneState zoneStateOn = new ZoneState(new Address(100, 2), true, 20, ZoneQuality.Online); zoneStateOn.LastUpdate = new DateTime(2009, 9, 12, 23, 5, 0); ZoneState zoneStateOff2 = new ZoneState(new Address(100, 2), false, 20, ZoneQuality.Online); zoneStateOff2.LastUpdate = new DateTime(2009, 9, 12, 23, 10, 0); // Sunday (13.9.2009 11:00) zoneServer1.distributeZoneState(zoneStateOff1); zoneServer1.distributeZoneState(zoneStateOn); // sets the member LastChangeToON zoneServer1.distributeZoneState(zoneStateOff2); target1.calculateFunction(new DateTime(2009, 9, 13, 11, 0, 0)); zoneServer2.distributeZoneState(zoneStateOff1); zoneServer2.distributeZoneState(zoneStateOn); // sets the member LastChangeToON zoneServer2.distributeZoneState(zoneStateOff2); target2.calculateFunction(new DateTime(2009, 9, 13, 11, 44, 59)); // last change before functions ends Assert.AreEqual(1, zoneServer1._monitoredZones.Count); Assert.AreEqual(1, zoneServer2._monitoredZones.Count); Assert.AreEqual(1, zoneServer1.ZoneStates.Count); // 1 command has been sent Assert.AreEqual(true, zoneServer1.ZoneStates[new Address(100, 1)].PowerStatus); Assert.AreEqual(new Address(100, 3), zoneServer1.ZoneStates[new Address(100, 1)].Source); Assert.AreEqual(1, zoneServer2.ZoneStates.Count); // 1 command has been sent Assert.AreEqual(true, zoneServer2.ZoneStates[new Address(100, 1)].PowerStatus); Assert.AreEqual(new Address(100, 6), zoneServer2.ZoneStates[new Address(100, 1)].Source); zoneServer1.ClearZoneStateList(); zoneServer2.ClearZoneStateList(); }