Beispiel #1
0
        public void Can_change_variable_to_non_aliased()
        {
            string   csharpCode = @"
public class Bar
{
   private string lastName;
   public void Foo()
   {
      var ret = lastName;
   }
}";
            RDomRoot root       = RDom.CSharp.Load(csharpCode) as RDomRoot;
            string   output     = RDom.CSharp.GetSyntaxNode(root).ToFullString();

            Assert.AreEqual(csharpCode, output, "Inital");

            IDeclarationStatement statement = root.RootClasses.First().Methods.First().Statements.First() as IDeclarationStatement;

            statement.IsImplicitlyTyped = false;
            statement.Type.DisplayAlias = true;
            output = RDom.CSharp.GetSyntaxNode(root).ToFullString();
            string newCode = csharpCode.Replace("var", "string");

            Assert.AreEqual(newCode, output, "After change");
        }
Beispiel #2
0
        public void Can_build_syntax_for_multi_member_root()
        {
            string     csharpCode = @"
            using System;
            using System.Data;
            public class Bar{}           
            public struct Bar2{}           
            public enum Bar3{}           
            public interface Bar4{}";
            RDomRoot   rDomRoot   = RDom.CSharp.Load(csharpCode) as RDomRoot;
            SyntaxNode output     = RDom.CSharp.GetSyntaxNode(rDomRoot);

            Assert.AreEqual(csharpCode, output.ToFullString());
        }
Beispiel #3
0
        public void Can_clear_stem_members_from_root()
        {
            string   csharpCode = @"
            using System;
            public class Bar{}           
            public struct Bar2{}             ";
            RDomRoot root       = RDom.CSharp.Load(csharpCode) as RDomRoot;

            Assert.AreEqual(3, root.StemMembers.Count());
            IClass class1 = root.Classes.First();

            root.ClearStemMembers();
            Assert.AreEqual(0, root.StemMembers.Count());
        }
Beispiel #4
0
        public void Can_copy_multi_member_root()
        {
            string    csharpCode = @"
            using System;
            public class Bar{}           
            public struct Bar2{}           
            public enum Bar3{}           
            public interface Bar4{}           
            ";
            RDomRoot  rDomRoot   = RDom.CSharp.Load(csharpCode) as RDomRoot;
            IRoot     rDomRoot2  = rDomRoot.Copy();
            RDomClass class1     = rDomRoot.RootClasses.First() as RDomClass;

            Assert.IsTrue(rDomRoot.SameIntent(rDomRoot2));
        }
Beispiel #5
0
        public void Can_add_copied_class_to_root()
        {
            string     csharpCode = @"
            [Foo(""Fred"", bar:3, bar2:""George"")] 
            public class Bar{}           
            ";
            RDomRoot   rDomRoot   = RDom.CSharp.Load(csharpCode) as RDomRoot;
            IClass     class1     = rDomRoot.RootClasses.First();
            IAttribute attribute  = class1.Attributes.Attributes.First();
            IClass     class2     = class1.Copy();

            rDomRoot.StemMembersAll.AddOrMove(class2);
            IClass[] classes = rDomRoot.Classes.ToArray();
            Assert.AreEqual(2, classes.Count());
            Assert.IsFalse(classes[0] == classes[1]); // reference equality fails
            Assert.IsTrue(classes[0].SameIntent(classes[1]));
        }