public void Voltage_convert_between_int_and_decimal(int voltageInt, int val) { decimal voltage = voltageInt / 100m; Assert.Equal(voltage, SMUCommand.ToVoltageDecimal(val)); Assert.Equal(val, SMUCommand.ToVoltageInteger(voltage)); }
public SMUUnitTest() { mMockOls.Setup(mock => mock.WritePciConfigDwordEx( It.IsAny <uint>(), It.IsAny <uint>(), It.IsAny <uint>())) .Returns(1); mMockOls.Setup(mock => mock.ReadPciConfigDwordEx( It.IsAny <uint>(), It.IsAny <uint>(), ref It.Ref <uint> .IsAny)) .Callback((ReadPciConfigCallbackType)((uint _, uint __, ref uint value) => { value = kReadDword; })) .Returns(1); mSubject = new SMUCommand(mMockOls.Object, false, mMockLogger.Object); }
public MainForm() { InitializeComponent(); try { mSmuCmd = new SMUCommand(false, (string msg) => { SetStatus(msg); }); } catch (ApplicationException ex) { MessageBox.Show(ex.Message, @"Error"); Dispose(); Application.Exit(); } mSettings = new SettingManager(kSettingsFileName); mainFormBindingSource.DataSource = this; settingsBindingSource.DataSource = mSettings.OnGoingSettings; #if !DEBUG var CPUID = mSmuCmd.CPUID; if (CPUID != 0x00830F00 && CPUID != 0x00830F10) // EPYC Rome ES { MessageBox.Show(@"CPU not supported!", @"Error"); Dispose(); Application.Exit(); return; } #endif #if DEBUG var res = MessageBox.Show( @"This is an experimental version of this software. Keep in mind that it is possible to encounter bugs.", @"Warning", MessageBoxButtons.OKCancel); if (res != DialogResult.OK) { Dispose(); Application.Exit(); } #endif var mg = new ManagementObjectSearcher("Select * from Win32_Processor").Get() .Cast <ManagementBaseObject>(); _coreCount = Convert.ToUInt32(mg.Sum(item => int.Parse(item["NumberOfCores"].ToString()))); _cpuName = (string)mg.First()["Name"]; _cpuName = _cpuName.Replace("AMD Eng Sample: ", "").Trim(); InitDefaultForm(); FrequencyListItem findFreqItemByFreq(int freq) { return(AC_freqSelect.Items.Cast <FrequencyListItem>().SingleOrDefault(i => i.Frequency == freq)); } // TODO: refactoring preset list use data binding var settings = mSettings.OnGoingSettings; _presetFunctions = new Dictionary <string, Dictionary <string, Action> > { { "64", new Dictionary <string, Action> { { "High Multi-core", () => { settings.FreqLock = false; settings.VoltageReal = 1.05m; SelectedFrequencyItem = findFreqItemByFreq(3800); settings.EDC = 30; settings.TDC = 0; settings.PPT = 0; } }, { "Best of both", () => { settings.FreqLock = true; if (_cpuName.StartsWith("2S1")) { settings.VoltageReal = 1.05m; } else { settings.Voltage = -1; } SelectedFrequencyItem = findFreqItemByFreq(3200); settings.EDC = 600; settings.TDC = 0; settings.PPT = 0; } }, { "High Single-core", () => { settings.FreqLock = true; if (_cpuName.StartsWith("2S1")) { settings.VoltageReal = 1.1m; } else { settings.Voltage = -1; } SelectedFrequencyItem = findFreqItemByFreq(3400); settings.EDC = 700; settings.TDC = 700; settings.PPT = 1500; } } } }, { "48", new Dictionary <string, Action> { { "High Multi-core", () => { settings.FreqLock = true; settings.VoltageReal = 1.05m; SelectedFrequencyItem = findFreqItemByFreq(3800); settings.EDC = 45; settings.TDC = 0; settings.PPT = 0; } }, { "Best of both", () => { settings.FreqLock = false; if (_cpuName.StartsWith("2S1")) { settings.VoltageReal = 1.05m; } else { settings.Voltage = -1; } SelectedFrequencyItem = findFreqItemByFreq(3300); settings.EDC = 600; settings.TDC = 0; settings.PPT = 0; } }, { "High Single-core", () => { settings.FreqLock = false; if (_cpuName.StartsWith("2S1")) { settings.VoltageReal = 1.1m; } else { settings.Voltage = -1; } SelectedFrequencyItem = findFreqItemByFreq(3500); settings.EDC = 700; settings.TDC = 700; settings.PPT = 1500; } } } }, { "32", new Dictionary <string, Action> { { "High Multi-core", () => { settings.FreqLock = true; if (_cpuName.StartsWith("2S1")) { settings.VoltageReal = 1.05m; } else { settings.Voltage = -1; } SelectedFrequencyItem = findFreqItemByFreq(3450); settings.EDC = 600; settings.TDC = 600; settings.PPT = 1500; } }, { "Best of both", () => { settings.FreqLock = false; if (_cpuName.StartsWith("2S1")) { settings.VoltageReal = 1.05m; } else { settings.Voltage = -1; } SelectedFrequencyItem = findFreqItemByFreq(3300); settings.EDC = 600; settings.TDC = 0; settings.PPT = 0; } }, { "High Single-core", () => { settings.FreqLock = false; if (_cpuName.StartsWith("2S1")) { settings.VoltageReal = 1.1m; } else { settings.Voltage = -1; } SelectedFrequencyItem = findFreqItemByFreq(3500); settings.EDC = 700; settings.TDC = 700; settings.PPT = 1500; } } } } }; }