Esempio n. 1
0
        public void GetActiveAlarms_Test()
        {
            //Set up a monitor with ID 1 and save in database
            Monitor monitor = new Monitor();

            monitor.Id     = 1;
            monitor.Active = true;
            monitor.Save();

            //Set up a module and save. Id is given by IDENTITY in database
            Module module = new Module();

            module.Name       = "Module name";
            module.Icon       = "icon";
            module.DefaultMin = 10F;
            module.DefaultMax = 20F;
            Nullable <int> insertedModuleId = module.Save();

            // Ensure that the ID is set by retrieving inserted record from DB
            module = new Module(insertedModuleId);


            //Set up a monitorModule and save
            MonitorModule monitorModule = new MonitorModule();

            monitorModule.Monitor     = monitor;
            monitorModule.Module      = module;
            monitorModule.AssignedMin = 11F;
            monitorModule.AssignedMax = 19F;
            Nullable <int> insertedMonitorModuleId = monitorModule.Save();

            // Ensure that the ID is set by retrieving inserted record from DB
            monitorModule = MonitorModule.GetOne((int)insertedMonitorModuleId);


            //Create an active alarm for monitor 1
            Alarm          activeAlarm           = new Alarm(monitorModule, 10F);
            Nullable <int> insertedActiveAlarmID = activeAlarm.Save();

            activeAlarm.Id = (int)insertedActiveAlarmID;


            //Create an inactive alarm for monitor 1
            Alarm          inactiveAlarm           = new Alarm(monitorModule, 20F);
            Nullable <int> insertedInactiveAlarmID = inactiveAlarm.Save();

            inactiveAlarm.Id = (int)insertedInactiveAlarmID;

            // update alarm to mark as inactive
            inactiveAlarm.EndDateTime = DateTime.Now.AddDays(-1);
            inactiveAlarm.Update();


            // At this stage we have two alarms for the monitor with ID 1.
            // One of the is inactive because EndDateTime is set to yesterday.

            List <Alarm> retrievedActiveAlarms = new List <Alarm>();

            // Retrieve all active alarms for monitor 1
            retrievedActiveAlarms = monitor.GetActiveAlarms();

            // The retrievedActiveAlarms list should contain 1 record, 1 less than
            // the 2 that the alarmFixtures contains.
            Assert.AreEqual(1, retrievedActiveAlarms.Count);
        }