예제 #1
0
        static void Main(string[] args)

        {
            List <IBatterySensor> batterysensorsList = new List <IBatterySensor>();
            IBatterySensor        smoke = new SmokeSensor();
            IBatterySensor        co2   = new CO2Sensor("Boiler");

            batterysensorsList.Add(smoke);
            batterysensorsList.Add(co2);

            List <ISensor> batteryless = new List <ISensor>();
            ISensor        entry       = new MotionSensor("Entry");
            ISensor        garage      = new MotionSensor("Garage");

            batteryless.Add(entry);
            batteryless.Add(garage);


            ExtendedControlUnit controlUnit       = new ExtendedControlUnit(batterysensorsList);
            ExtendedControlUnit motioncontrolUnit = new ExtendedControlUnit(batteryless);

            controlUnit.SecurityControlUnit();
            string input = "poll";

            while (!(input.Equals("exit")))
            {
                Console.WriteLine("Type \"poll\" to poll all sensors once or \"exit\" to exit");
                input = Console.ReadLine();
                if (input.Equals("poll"))
                {
                    controlUnit.SecurityControlUnit();
                }
            }
        }
예제 #2
0
        public void TestThatEmptyControlAcceptsDifferentSensors()
        {
            IBatterySensor        fire    = new FireSensor();
            IBatterySensor        smoke   = new SmokeSensor();
            List <IBatterySensor> sensors = new List <IBatterySensor>();

            sensors.Add(fire);
            sensors.Add(smoke);
            ExtendedControlUnit controlUnit = new ExtendedControlUnit(sensors);

            Assert.AreEqual(2, sensors.Count);

            ISensor        door          = new MotionSensor();
            ISensor        garage        = new MotionSensor();
            List <ISensor> motionSensors = new List <ISensor>();

            motionSensors.Add(door);
            motionSensors.Add(garage);
            ExtendedControlUnit sensorControl = new ExtendedControlUnit(motionSensors);

            Assert.AreEqual(2, motionSensors.Count);
        }