예제 #1
0
        /// <summary>
        /// Handle the click event of Refresh button
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void _btn_Refresh_Click(object sender, EventArgs e)
        {
            try
            {
                double          oldReading = Model.CurrentTemperature;
                TemperatureUnit oldUnit    = Model.CurrentTempUnit;

                Model.GetLatestTemperature();

                if (oldUnit != Model.CurrentTempUnit)
                {
                    oldReading = new TemperatureUnitConvertor().ConvertToNewReading(oldReading, from: oldUnit, to: Model.CurrentTempUnit);
                }

                // Handle UI
                this._lbl_TempReading.Text = Model.CurrentTempDisplay;

                // Handle Threshold
                if (Model.ThresholdsModel.TriggerThresholdAlert(prev: oldReading, curr: Model.CurrentTemperature))
                {
                    MessageBox.Show("Threshold Alert", "Thermometer", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Model.Triggered = true;
                }
            }
            catch (ThermometerUnknownUnitException)
            {
                MessageBox.Show("Unknown temperature unit from source found", "Thermometer", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
예제 #2
0
        public void Test_F_To_C_MinFInput()
        {
            TemperatureUnitConvertor tool = new TemperatureUnitConvertor();

            var result = tool.ConvertToNewReading(double.MinValue, TemperatureUnit.Fahrenheit, TemperatureUnit.Celsius);

            Assert.IsFalse(double.IsInfinity((double)result));
        }
예제 #3
0
        public void Test_C_To_F_MaxCInput()
        {
            TemperatureUnitConvertor tool = new TemperatureUnitConvertor();

            var result = tool.ConvertToNewReading(double.MaxValue, TemperatureUnit.Celsius, TemperatureUnit.Fahrenheit);

            Assert.IsTrue(double.IsInfinity((double)result));
        }
예제 #4
0
        public void Test_F_To_C()
        {
            TemperatureUnitConvertor tool = new TemperatureUnitConvertor();

            var result = tool.ConvertToNewReading(10.0, TemperatureUnit.Fahrenheit, TemperatureUnit.Celsius);

            Assert.AreEqual(-12.2, result);
        }
예제 #5
0
        public void Test_Convertor_Properties()
        {
            TemperatureUnitConvertor tool = new TemperatureUnitConvertor(5);

            Assert.AreEqual(5, tool.Decimal);

            tool = new TemperatureUnitConvertor();
            Assert.AreEqual(1, tool.Decimal);
        }
예제 #6
0
        public void Test_C_To_F()
        {
            // arrange
            TemperatureUnitConvertor tool = new TemperatureUnitConvertor();

            // act
            var result = tool.ConvertToNewReading(10.0, TemperatureUnit.Celsius, TemperatureUnit.Fahrenheit);

            // assert
            Assert.AreEqual(50.0, result);
        }