Esempio n. 1
0
            public static void AppliesFanSpeedOverridesWhenTempIsCritical()
            {
                var ec = A.Fake <IEmbeddedController>();
                var fanSpeedOverride = new FanSpeedPercentageOverride()
                {
                    FanSpeedPercentage = 100,
                    FanSpeedValue      = 255,
                    TargetOperation    = OverrideTargetOperation.Write
                };

                var cfg = new FanConfiguration()
                {
                    WriteRegister = 123,
                    MinSpeedValue = 0,
                    MaxSpeedValue = 200,
                    FanSpeedPercentageOverrides = new List <FanSpeedPercentageOverride>()
                    {
                        fanSpeedOverride
                    }
                };

                int criticalTemperature = 70;

                var fan = new Fan(ec, cfg, criticalTemperature, false);

                fan.SetTargetSpeed(50, criticalTemperature + 1, false);

                A.CallTo(() => ec.WriteByte((byte)cfg.WriteRegister, (byte)fanSpeedOverride.FanSpeedValue))
                .MustHaveHappened();

                Assert.True(fan.CriticalModeEnabled, nameof(fan.CriticalModeEnabled));
                Assert.Equal(100, fan.TargetSpeed, 10);
            }
Esempio n. 2
0
            public static void AppliesFanSpeedOverrides()
            {
                var ec = A.Fake <IEmbeddedController>();
                var fanSpeedOverride = new FanSpeedPercentageOverride()
                {
                    FanSpeedPercentage = 0,
                    FanSpeedValue      = 255,
                    TargetOperation    = OverrideTargetOperation.Write
                };

                var cfg = new FanConfiguration()
                {
                    WriteRegister = 123,
                    MinSpeedValue = 0,
                    MaxSpeedValue = 200,
                    FanSpeedPercentageOverrides = new List <FanSpeedPercentageOverride>()
                    {
                        fanSpeedOverride
                    }
                };

                var fan = new Fan(ec, cfg, 100, false);

                fan.SetTargetSpeed(fanSpeedOverride.FanSpeedPercentage, 50, false);

                A.CallTo(() => ec.WriteByte((byte)cfg.WriteRegister, (byte)fanSpeedOverride.FanSpeedValue))
                .MustHaveHappened();

                Assert.Equal(fanSpeedOverride.FanSpeedPercentage, fan.TargetSpeed);
            }