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); }
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); }