Exemple #1
0
        public void InvalidIdentifier()
        {
            var codeString = "class C { void F(int i) { sitch(i) {} } }";

            using (var code = new MemoryStream(Encoding.ASCII.GetBytes(codeString)))
            {
                Assert.Throws <SyntaxErrorException>(() => Cecilifier.Process(code, Utils.GetTrustedAssembliesPath()).GeneratedCode.ReadToEnd());
            }
        }
Exemple #2
0
        private static void AssertUnsupportedFeature(string codeString, string expectedMessage)
        {
            var code = new MemoryStream(Encoding.ASCII.GetBytes(codeString));

            using (var stream = Cecilifier.Process(code, Utils.GetTrustedAssembliesPath()).GeneratedCode)
            {
                var cecilifiedCode = stream.ReadToEnd();
                Assert.That(cecilifiedCode, Contains.Substring(expectedMessage));
            }
        }
Exemple #3
0
        public void EnumeratorBlocks(string statement)
        {
            var code = new MemoryStream(Encoding.ASCII.GetBytes($"class Test {{ System.Collections.IEnumerable Do() {{ {statement}; }} }} "));

            using (var stream = Cecilifier.Process(code, Utils.GetTrustedAssembliesPath()).GeneratedCode)
            {
                var cecilifiedCode = stream.ReadToEnd();
                Assert.That(cecilifiedCode, Does.Match("Syntax 'Yield(Return|Break)Statement' is not supported"));
            }
        }
Exemple #4
0
 private string Cecilfy(Stream stream)
 {
     stream.Position = 0;
     return(Cecilifier.Process(stream, Utils.GetTrustedAssembliesPath()).GeneratedCode.ReadToEnd());
 }