static void Main(string[] args) { //var ttt = CSharpSyntaxTree.ParseText("this.TestowaFunkcja(this.Ala * 2, 2)"); var ttt = CSharpSyntaxTree.ParseText(@" public class Pracownik { public string Nazwisko { get; set; } public string Imie { get; set; } public int RokUrodzenia { get; set; } public int RozmiarButa { get; set; } public string GenerujRaport() { var ret = Imie + ' ' + Nazwisko + ' : '; int i = 1; i = i + RozmiarButa + RokUrodzenia; var d = 1.4 * RozmiarButa + i; for (int j = i; j < RozmiarButa; j++) { ret += j; } return ret; } }".Replace("'", "\"")); var root = ttt.GetRoot() as Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax; var importer = new CSharpImporter(); var com = importer.Import(root); //var md = root.Members[0] as Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax; }
public void Importer_Returns_Valid_Classes() { // Arrange var assembly = Assembly.GetExecutingAssembly().Location; var root = Path.GetFullPath(Path.Combine(assembly, @"..\..\..\..\")); var project = Path.GetFullPath(Path.Combine(root, @"core\")); var importer = new CSharpImporter(); // Act var classes = importer.RetrieveClasses(project); // Assert Assert.IsTrue(classes.Any()); }
public void Importer_Convert_Returns_Valid_Class() { // Arrange var importer = new CSharpImporter(); var source = CreateClassSourceCode(); // Act var @class = importer.Convert(source); // Assert Assert.IsNotNull(@class); Assert.AreEqual(5, @class.Usings.Count()); Assert.AreEqual("Microsoft.CodeAnalysis", @class.Usings.First().Text); Assert.AreEqual("rosinator.core", @class.Namespace); Assert.IsNotNull(@class.Methods.FirstOrDefault(m => m.Name == "Convert")); }