public void Can_load_metadata()
        {
            var metadataLoader = new CodeFirstMetadataLoader <CodeFirstSemanticLogGroup>();
            CodeFirstSemanticLogGroup metadata = metadataLoader.LoadFromString(logMetadataSource, logAttributeIdentifier);

            Assert.IsNotNull(metadata);
        }
        public void Can_get_super_simple_output()
        {
            var csharpCode = @"
namespace ExpansionFirstTemplateTests
{

      using System.ComponentModel;
      using System;
      #region _xf_MakeFileForEach(Over=asdf) 

      namespace _xf_Class_namespaceName
      {}
      #endregion
}
";
            var root       = RDom.CSharp.Load(csharpCode);
            var verify     = RDom.CSharp.GetSyntaxNode(root).ToFullString();

            Assert.AreEqual(csharpCode, verify);

            var xfTemplate     = ExpansionFirstCSharp.Load(csharpCode);
            var metadataLoader = new CodeFirstMetadataLoader <CodeFirstSemanticLogGroup>();
            CodeFirstSemanticLogGroup metadata = metadataLoader.LoadFromString(logMetadataSource, logAttributeIdentifier);
            var newRoots = xfTemplate.Run(metadata);

            var newRDomRoot  = newRoots.First() as RDomRoot;
            var outputSyntax = RDom.CSharp.GetSyntaxNode(newRDomRoot);
            var output       = outputSyntax.ToFullString();
            var expected     = "\r\nnamespace ExpansionFirstTemplateTests\r\n{\r\n\r\n      using System.ComponentModel;\r\n      using System;\r\n      #region _xf_MakeFileForEach(Over=asdf) \r\n\r\n      namespace _xf_Class_namespaceName\r\n      {}\r\n      #endregion\r\n}\r\n";

            Assert.AreEqual(expected, output);
        }
        public void Can_load_NotifyPropertyChanged_metadata()
        {
            var metadataLoader           = new CodeFirstMetadataLoader <CodeFirstClassGroup>();
            CodeFirstClassGroup metadata = metadataLoader.LoadFromString(propChangedMetadataSource, propChangedAttributeIdentifier);

            Assert.IsNotNull(metadata);
        }
        private void TestCodeFirstClassGroup(string templateFileName)
        {
            var xfTemplate               = ExpansionFirstCSharp.LoadFromFile(templateFileName);
            var metadataLoader           = new CodeFirstMetadataLoader <CodeFirstClassGroup>();
            CodeFirstClassGroup metadata = metadataLoader.LoadFromString(propChangedMetadataSource, propChangedAttributeIdentifier);
            var newRoots     = xfTemplate.Run(metadata);
            var newRDomRoot  = newRoots.First() as RDomRoot;
            var outputSyntax = RDom.CSharp.GetSyntaxNode(newRDomRoot);
            var output       = outputSyntax.ToFullString();

            output = CleanOutput(output);
            Assert.Inconclusive();
        }
        public void Can_get_simple_output()
        {
            var xfTemplate     = ExpansionFirstCSharp.Load(template);
            var metadataLoader = new CodeFirstMetadataLoader <CodeFirstSemanticLogGroup>();
            CodeFirstSemanticLogGroup metadata = metadataLoader.LoadFromString(logMetadataSource, logAttributeIdentifier);
            var newRoots     = xfTemplate.Run(metadata);
            var newRDomRoot  = newRoots.First() as RDomRoot;
            var outputSyntax = RDom.CSharp.GetSyntaxNode(newRDomRoot);
            var output       = outputSyntax.ToString();
            var expected     = "using System;\r\nnamespace _xf_class_namespaceName\r\n{\r\n   public class _xf_logClass_ClassName\r\n   { \r\n      public string FirstProperty {get; }    }\r\n}";

            Assert.AreEqual(expected, output);
        }