private void DatabaseGetExtendedParameters(bool useXmlReader) { List <Parameter> expectedList = new List <Parameter>(); expectedList.Add(new SsmParameter( null, "E1", "IAM*", 0x20124, //0x20118, 4, new Conversion[] { Conversion.GetInstance("raw ecu value", "x", "0"), Conversion.GetInstance("multiplier", "x/16", "0.0000") })); expectedList.Add(new SsmParameter( null, "E2", "Engine Load*", 0x2009A, //0x21847, 4, new Conversion[] { Conversion.GetInstance("g/rev", "x*.00006103515625", "0.00"), })); SsmParameterSource database = new SsmParameterSource(EcuIdentifier, CompatibilityMap); using (Stream inputStream = File.OpenRead("logger.xml")) { if (useXmlReader) { XmlReader reader = XmlReader.Create(inputStream); database.LoadExtendedParameters(reader); } else { XPathDocument document = SsmParameterSource.CreateDocument(inputStream); database.LoadExtendedParameters(document); } } Assert.AreEqual(34, database.Parameters.Count, "Parameters.Count"); Console.WriteLine("Count: " + database.Parameters.Count); foreach (SsmParameter parameter in database.Parameters) { Console.WriteLine( string.Format( "Parameter: {0,50} ID {1,5} Address {2,10}", parameter.Name, parameter.Id, parameter.Address)); } SsmParameterSourceTest.CompareLists(expectedList, database.Parameters); }
private void DatabaseGetSwitches(bool useXmlReader) { List <Parameter> expectedList = new List <Parameter>(); expectedList.Add(new SsmParameter(null, "S20", "Defogger Switch", 0x64, 1, new Conversion[] { Conversion.GetInstance(Conversion.Boolean, "x&(2^5)", "") })); expectedList.Add(new SsmParameter(null, "S65", "Set/Coast Switch", 0x121, 1, new Conversion[] { Conversion.GetInstance(Conversion.Boolean, "x&(2^5)", "") })); expectedList.Add(new SsmParameter(null, "S66", "Resume/Accelerate Switch", 0x121, 1, new Conversion[] { Conversion.GetInstance(Conversion.Boolean, "x&(2^4)", "") })); SsmParameterSource database = new SsmParameterSource(EcuIdentifier, CompatibilityMap); using (Stream inputStream = File.OpenRead("logger.xml")) { if (useXmlReader) { XmlReader reader = XmlReader.Create(inputStream); database.LoadSwitches(reader); } else { XPathDocument document = SsmParameterSource.CreateDocument(inputStream); database.LoadSwitches(document); } } Assert.AreEqual(68, database.Parameters.Count, "Switches.Count"); Console.WriteLine("Count: " + database.Parameters.Count); foreach (SsmParameter parameter in database.Parameters) { Console.WriteLine( string.Format( "Parameter: {0,50} ID {1,5} Address {2,10} Conversion {3,10}", parameter.Name, parameter.Id, parameter.Address, parameter.Conversions[0])); } SsmParameterSourceTest.CompareLists(expectedList, database.Parameters); }
private void DatabaseGetStandardParameters(bool useXmlReader) { ReadOnlyCollection <Parameter> noDependencies = null; List <Parameter> expectedList = new List <Parameter>(); expectedList.Add(new SsmParameter( null, "P9", "Vehicle Speed", 0x000010, 1, new Conversion[] { Conversion.GetInstance("mph", "x*0.621371192", "0"), Conversion.GetInstance("kph", "x", "0") }, 9, 7, noDependencies)); expectedList.Add(new SsmParameter( null, "P2", "Coolant Temperature", 0x000008, 1, new Conversion[] { Conversion.GetInstance("F", "32+9*(x-40)/5", "0"), Conversion.GetInstance("C", "x-40", "0") }, 8, 6, noDependencies)); expectedList.Add(new SsmParameter( null, "P8", "Engine Speed", 0x00000E, 2, new Conversion[] { Conversion.GetInstance("rpm", "x/4", "0") }, 8, 0, noDependencies)); SsmParameterSource database = new SsmParameterSource(EcuIdentifier, CompatibilityMap); using (Stream inputStream = File.OpenRead("logger.xml")) { if (useXmlReader) { XmlReader reader = XmlReader.Create(inputStream); database.LoadStandardParameters(reader); } else { XPathDocument document = SsmParameterSource.CreateDocument(inputStream); database.LoadStandardParameters(document); } } int expectedCount = 53; // was 92 prior to compatibility filtering Assert.AreEqual(expectedCount, database.Parameters.Count, "Parameters.Count"); SsmParameterSourceTest.CompareLists(expectedList, database.Parameters); }