public void ImportString(string str) { //DCSBiosOutput{AAP_EGIPWR|Equals|0} var value = str; if (string.IsNullOrEmpty(str)) { throw new Exception("DCSBiosOutput cannot import null string."); } if (!str.StartsWith("DCSBiosOutput{") || !str.EndsWith("}")) { throw new Exception("DCSBiosOutput cannot import string : " + str); } value = value.Replace("DCSBiosOutput{", "").Replace("}", ""); //AAP_EGIPWR|Equals|0 var entries = value.Split(new[] { "|" }, StringSplitOptions.RemoveEmptyEntries); _controlId = entries[0]; var dcsBIOSControl = DCSBIOSControlLocator.GetControl(_controlId); Consume(dcsBIOSControl); _dcsBiosOutputComparison = (DCSBiosOutputComparison)Enum.Parse(typeof(DCSBiosOutputComparison), entries[1]); if (DCSBiosOutputType == DCSBiosOutputType.INTEGER_TYPE) { _specifiedValueInt = (uint)int.Parse(entries[2]); } else if (DCSBiosOutputType == DCSBiosOutputType.STRING_TYPE) { _specifiedValueString = entries[2]; } }
public void CheckForValueMatch_WithUint(uint valueToCompare, DCSBiosOutputComparison comparisonType, uint OriginalValue, bool expectedResult) { DCSBIOSOutput dcsOutput = new() { DCSBiosOutputType = DCSBiosOutputType.IntegerType, Mask = valueToCompare, SpecifiedValueInt = OriginalValue, DCSBiosOutputComparison = comparisonType, }; Assert.Equal(expectedResult, dcsOutput.CheckForValueMatch(valueToCompare)); }
public void CheckForValueMatchAndChange_WithUint_LastIntValue_Is_Random(uint valueToCompare, DCSBiosOutputComparison comparisonType, uint OriginalValue, uint lastIntValue, bool expectedResult) { DCSBIOSOutput dcsOutput = new() { DCSBiosOutputType = DCSBiosOutputType.IntegerType, Mask = valueToCompare, SpecifiedValueInt = OriginalValue, DCSBiosOutputComparison = comparisonType, LastIntValue = lastIntValue, //<-- != compared to CheckForValueMatch_WithUint }; Assert.Equal(expectedResult, dcsOutput.CheckForValueMatchAndChange(valueToCompare)); Assert.Equal(valueToCompare, dcsOutput.LastIntValue); }
public void CheckForValueMatchAndChange_WithUint_LastIntValue_Is_ValueToCompare(uint valueToCompare, DCSBiosOutputComparison comparisonType, uint OriginalValue) { DCSBIOSOutput dcsOutput = new() { DCSBiosOutputType = DCSBiosOutputType.IntegerType, Mask = valueToCompare, SpecifiedValueInt = OriginalValue, DCSBiosOutputComparison = comparisonType, LastIntValue = valueToCompare, //<-- != compared to CheckForValueMatch_WithUint }; //always returns false Assert.False(dcsOutput.CheckForValueMatchAndChange(valueToCompare)); Assert.Equal(valueToCompare, dcsOutput.LastIntValue); }