public IntegreationFixture()
        {
            var converter = new TemperatureConverter(new ConverterFactory(new List <IUnitConverter> {
                new CelsiusConverter(), new FahrenheitConverter()
            }));

            var alerters = new List <IAlerter>
            {
                new DropAlert("Alert 1", 0.0m, 0.5m, () => numberOfAlert1++),
                new RaiseAlert("Alert 2", 100, 0.5m, () => numberOfAlert2++),
                new BidirectionalAlert("Alert 3", 28.0m, 1m, () => numberOfAlert3++)
            };

            thermometer = new AlerterThermometer(Unit.Celsius, converter, alerters);
        }
        public ThermometerReader(IThermometer thermometer, Settings?settings, PrinterCallback callback)
        {
            mId              = Guid.NewGuid(); //reader id
            mThermometer     = thermometer;
            mSettings        = settings.GetValueOrDefault();
            mPrinterCallback = callback;

            if (settings.HasValue && mSettings.threshold != null && mSettings.threshold.Count > 0)
            {
                mThermometer.TemperatureThresholdChanged += OnTemperatureThresholdChange;
            }
            else
            {
                mThermometer.TemperatureChanged += OnTemperatureChange;
            }
        }
Example #3
0
        public void Regulate(IThermometer thermometer, IHeater heater, double minTemp, double maxTemp)
        {
            while (true)
            {
                while (thermometer.Read() > minTemp)
                {
                    FakeUtils.Wait(1);
                }
                heater.Engage();

                while (thermometer.Read() < maxTemp)
                {
                    FakeUtils.Wait(1);
                }
                heater.Disengage();
            }
        }
Example #4
0
        static void Main(string[] args)
        {
            var converter = new TemperatureConverter(new ConverterFactory(
                                                         new List <IUnitConverter>
            {
                new CelsiusConverter(),
                new FahrenheitConverter()
            }));

            var alerters = new List <IAlerter>
            {
                new DropAlert("Freezing alert", 0.0m, 0.5m, () => Console.WriteLine("----Freezing Alert------s")),
                new RaiseAlert("Boiling alert", 100, 0.5m, () => Console.WriteLine("----Boiling Alert----")),
                new BidirectionalAlert("Nice temperature alert", 28.0m, 1m, async() =>
                {
                    Console.WriteLine("----Really nice temperature starting a long process to notify everyone-------");
                    await Task.Delay(3000);
                    Console.WriteLine("----end of the really nice notification process-------");
                })
            };

            thermometer = new AlerterThermometer(Unit.Celsius, converter, alerters);


            for (var i = 0; i < 2; i++)
            {
                foreach (var temperature in temperatures)
                {
                    Console.Write("new temp received {0}", temperature);
                    try
                    {
                        thermometer.UpdateTemperature(temperature);
                        Console.WriteLine(" -- >temp in Thermometer {0}", thermometer.Temperature);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine();
                        Console.WriteLine(ex.Message);
                    }

                    Thread.Sleep(1000);
                }
            }
        }
Example #5
0
        public static void Main(string[] args)
        {
            var converter = new TemperatureConverter(new ConverterFactory(
                                                         new List <IUnitConverter>
            {
                new CelsiusConverter(),
                new FahrenheitConverter()
            }));

            var alerters = new List <IAlerter>
            {
                new DropAlert("Freezing alert", 0.0m, 0.5m, () => Console.WriteLine("----Freezing Alert------s")),
                new RaiseAlert("Boiling alert", 100m, 0.5m, () => Console.WriteLine("----Boiling Alert----")),
                new BidirectionalAlert("28 Degree", 28m, 1m, async() =>
                {
                    Console.WriteLine("---- long process to notify everyone-------");
                    await Task.Delay(3000);
                    Console.WriteLine("----end of long notification process-------");
                })
            };

            Thermometer = new AlerterThermometer(ThermometerLibrary.Unit.Celsius, converter, alerters);


            var server = new Server
            {
                Services = { Pb.Thermometer.BindService(new ThermometerImpl()) },
                Ports    = { new ServerPort("localhost", Port, ServerCredentials.Insecure) }
            };

            server.Start();

            Console.WriteLine("Thermometer server listening on port " + Port);
            Console.WriteLine("Press any key to stop the server...");
            Console.ReadKey();


            server.ShutdownAsync().Wait();
        }
        public Regulate(IThermometer thermometer, IHeater heater, double minTemp, double maxTemp)
        {
            Thermometer = thermometer;
            Heater      = heater;
            MinTemp     = minTemp;
            MaxTemp     = maxTemp;

            for (; ;)
            {
                while (Thermometer.Read() > MinTemp)
                {
                    Wait();
                }
                Heater.Engage();
                TemperatureDirection = TemperatureDirection.Rising;

                while (Thermometer.Read() < MaxTemp)
                {
                    Wait();
                }
                Heater.Disengage();
                TemperatureDirection = TemperatureDirection.Falling;
            }
        }
Example #7
0
 public TemperatureEventBase(IThermometer thermometer)
 {
     _thermometer = thermometer;
     _thermometer.OnNewReadingReceived += _thermometer_OnNewReadingReceived;
 }
Example #8
0
 public void TestInitialize()
 {
     _thermometer = new ThermometerAggregate(TemperatureScale.Celsius);
 }
Example #9
0
 public TemperatureRose(IThermometer thermometer)
     : base(thermometer)
 {
 }
Example #10
0
 public FurnaceImprovedByInterfaceAndDIBase(IThermometer thermometer, IHeater heater)
 {
     _thermometer = thermometer;
     _heater      = heater;
 }
 public void Teardown()
 {
     thermometer = null;
     sensor      = null;
 }
 public void Setup()
 {
     thermometer = new Thermometer();
     sensor      = new Sensor();
 }
Example #13
0
 public Detector(IThermometer thermometer)
 {
     _thermometer = thermometer;
 }
Example #14
0
 public Monitor(IThermometer thermometer, ContainerType containerType)
 {
     _thermometer   = thermometer;
     _containerType = containerType;
 }
Example #15
0
 public TemperatureDropped(IThermometer thermometer)
     : base(thermometer)
 {
 }