public void GetNodesTest() { //Given IList <string> nodesList = DBCFileParser.GetNodes(DBCFileTest); //When Assert.Equal(3, nodesList.Count); //Then }
public void ParserMessageBlocksTest() { //Given var res = DBCFileParser.ParserMessageBlocks(DBCFileTest); //When Assert.Equal(7, res.Count); //Then }
public void GetSignalLineTextTest() { //Given IList <string> signalLines = null; //When signalLines = DBCFileParser.GetSignalLineText(DBCFileTest); //Then Assert.Equal(41, signalLines.Count); }
public void GetMessageBlockTextTest() { IList <string> messageBlocks = DBCFileParser.GetMessageBlockText(DBCFileTest); // foreach (var messageBlock in messageBlocks) // { // Console.WriteLine (messageBlock); // } Assert.Equal(7, messageBlocks.Count); }
public void MessageItemParserTextTest() { var res = DBCFileParser.MessageItemParser(DBCMessageBlock); Assert.Equal("Pt_Veh_1", res.MessageName); Assert.Equal(16u, res.MessageId); Assert.Equal(8u, res.MessageSize); Assert.Equal("EMS", res.Transmitter); Assert.Equal(7, res.SignalList.Count); }
public void ParserNodesTest() { //Given var res = DBCFileParser.ParserNodes(DBCFileTest); //When Assert.Equal(4, res.Where(node => node.NodeName.Equals("EMS")).First().TransimitMessages.Count); Assert.Equal(3, res.Where(node => node.NodeName.Equals("ED")).First().TransimitMessages.Count); Assert.Equal(3, res.Where(node => node.NodeName.Equals("EMS")).First().ReceiveMessages.Count); Assert.Equal(4, res.Where(node => node.NodeName.Equals("ED")).First().ReceiveMessages.Count); Assert.Equal(1, res.Where(node => node.NodeName.Equals("BMS")).First().ReceiveMessages.Count); //Then }
public void ParserSignalLineTextTest1() { //Given string signalLine = " SG_ Pt_tiEdrvShOff : 50|12@1+ (1,0) [0|4095] \"min\" ED"; //When SignalItem item = DBCFileParser.ParserSignalLineText(signalLine); //Then Assert.Equal("Pt_tiEdrvShOff", item.SignalName); Assert.Equal(50u, item.StartBit); Assert.Equal(12u, item.SignalSize); Assert.Equal(SignalItem.ByteOrderEnum.Intel, item.ByteOrder); Assert.Equal(SignalItem.ValueTypeEnum.Unsigned, item.ValueType); Assert.Equal(1f, item.Factor); Assert.Equal(0f, item.Offset); Assert.Equal(0u, item.Min); Assert.Equal(4095u, item.Max); Assert.Equal("min", item.Unit); Assert.Contains("ED", item.Receiver); }
public void ConfigureParametersByTemplateTest() { string projectDirPath = @"C:\Users\ITQ2CS\rtc_sandbox\rbd_briBk10_gly_sw_Development_RWS_Hansong_Dev\rbd"; var pathAll = ProjectFileFilter.SearchForDirectory(projectDirPath, false, new List <string> () { @"\\[\S]+\.arxml$" }, new List <string> () { @"\\generated\\", @"\\pf\\", }); List <AR_PackageBase> packageList = new List <AR_PackageBase> (); List <ElementBase> elementList = new List <ElementBase> (); // LoadElements var list = pathAll .Select(path => new { ELE = XElement.Parse(File.ReadAllText(path)), FilePath = path }) .SelectMany(ele => AR_PackageBase.ReadArxmlFileRoot(ele.ELE, ele.FilePath)) //.Where (ele => ele != null) .ToList(); //watching the change of xml StringBuilder changList = new StringBuilder(); changList.AppendJoin(',', "Package File", "Operation Target", "Operation Type", "Parameter Type", "Parameter Def", "Parameter Value", "\n"); foreach (var packageRoot in list) { packageRoot.AR_PackageArxml.Changed += (sender, e) => { packageRoot.IsChanged = true; var element = sender as XElement; //search element until find ECUC container var parent = element; var parameter = element; while (parent != null && parent.Name.LocalName != "ECUC-CONTAINER-VALUE") { parent = parent.Parent; } while (parameter != null && !parameter.Name.LocalName.Contains("PARAM-VALUE")) { if (parameter.Parent != null) { parameter = parameter.Parent; } else { parameter = null; break; } } changList.AppendJoin(',', packageRoot.FilePath.Split("\\").Last(), parent?.Element(XName.Get("SHORT-NAME", parent.Name.Namespace.NamespaceName))?.Value, e.ObjectChange.ToString(), parameter?.Name.LocalName, parent == null? "" : parameter?.Element(XName.Get("DEFINITION-REF", parameter.Name.NamespaceName))?.Value, parameter?.Element(XName.Get("VALUE", parameter.Name.NamespaceName))?.Value, "\n"); }; AR_PackageBase.GetAllARPackagesAndElements(packageRoot, packageList, elementList); } ComStackParametersDealer.ConfigureArxmlUsingDBCFiles(DBCFileParser.ParserNodes(DBCText).Where(elementList => elementList.NodeName.Equals("ED")).First(), elementList); //try to save and replace and backup files foreach (var packageRoot in list.Where(package => package.IsChanged)) { File.Copy(packageRoot.FilePath, packageRoot.FilePath + "." + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss") + "-BAK"); var xml = packageRoot.AR_PackageArxml; while (xml.Parent != null) { xml = xml.Parent; } xml.Save(packageRoot.FilePath); } //ComStackParametersDealer.ConfigureArxmlUsingDBCFiles() // Assert.Equal (10, pathAll.Length); // string logPath = FileSysHelper.GetCurrentAppLocationPath () + "\\ChangLists\\"; // // if (!Directory.Exists (logPath)) // { // Directory.CreateDirectory (logPath); // } // using (StreamWriter writer = new StreamWriter (logPath + DateTime.Now.ToString ("yyyy-MM-dd") + ".csv")) // { // writer.Write (changList.ToString ()); // } }