public void Can_load_srv_file(TestMessage file) { var parser = new ServiceParser(file.Content.Value); var actual = parser.Parse(); Assert.NotNull(actual); }
private void ParseMessagesInternal() { var packageDependencyCollector = new PackageDependencyCollector(new [] { Package.Name }); var typeDependencyCollector = new TypeDependencyCollector(new [] { Package.Name }); var collectors = new RosMessageVisitorListenerCollection(new IRosMessageVisitorListener[] { packageDependencyCollector, typeDependencyCollector }); var messages = new List <KeyValuePair <RosTypeInfo, MessageDescriptor> >(); var actions = new List <KeyValuePair <RosTypeInfo, ActionDescriptor> >(); var services = new List <KeyValuePair <RosTypeInfo, ServiceDescriptor> >(); foreach (var messageFile in Package.Messages) { using (var fileStream = File.OpenRead(messageFile.FullName)) { var rosType = RosTypeInfo.CreateRosType(Package.Name, messageFile.NameWithoutExtension()); switch (messageFile.GetRosMessageType()) { case RosMessageType.Message: var messageParser = new RobSharper.Ros.MessageParser.MessageParser(fileStream); var messageDescriptor = messageParser.Parse(collectors); messages.Add( new KeyValuePair <RosTypeInfo, MessageDescriptor>(rosType, messageDescriptor)); break; case RosMessageType.Service: var serviceParser = new ServiceParser(fileStream); var serviceDescriptor = serviceParser.Parse(collectors); services.Add( new KeyValuePair <RosTypeInfo, ServiceDescriptor>(rosType, serviceDescriptor)); break; case RosMessageType.Action: var actionParser = new ActionParser(fileStream); var actionDescriptor = actionParser.Parse(collectors); actions.Add( new KeyValuePair <RosTypeInfo, ActionDescriptor>(rosType, actionDescriptor)); break; } } } // Add actionlib dependency if (actions.Any() && !packageDependencyCollector.Dependencies.Contains("actionlib_msgs")) { packageDependencyCollector.Dependencies.Add("actionlib_msgs"); } _packageDependencies = packageDependencyCollector.Dependencies; _externalTypeDependencies = typeDependencyCollector.Dependencies; _messages = messages; _actions = actions; _services = services; }
public void ParseFileStream(string filePath) { ServiceDescriptor descriptor; using (var file = File.OpenRead(filePath)) { var parser = new ServiceParser(file); descriptor = parser.Parse(); } }
public void Can_parse_empty_service() { var message = "---"; var parser = new ServiceParser(message); var actual = parser.Parse(); Assert.NotNull(actual); Assert.NotNull(actual.Request); Assert.NotNull(actual.Response); Assert.True(actual.Request.IsEmpty); Assert.True(actual.Response.IsEmpty); }
public void ParseFileFContent(string filePath) { var parser = new ServiceParser(File.ReadAllText(filePath)); var descriptor = parser.Parse(); }