예제 #1
0
        public void CompilationTarget()
        {
            var embedder = new Embedder();

            Asserts.ThrowsEmbeddinatorException(5, "The compilation target `invalid` is not valid.", () => Driver.Main2(new [] { "--target=invalid" }));
            Asserts.ThrowsEmbeddinatorException(5, "The compilation target `invalid` is not valid.", () => embedder.SetCompilationTarget("invalid"));

            foreach (var ct in new string [] { "library", "sharedlibrary", "dylib" })
            {
                embedder.SetCompilationTarget(ct);
                Assert.That(embedder.CompilationTarget, Is.EqualTo(global::Embeddinator.CompilationTarget.SharedLibrary), ct);
            }
            foreach (var ct in new string [] { "framework" })
            {
                embedder.SetCompilationTarget(ct);
                Assert.That(embedder.CompilationTarget, Is.EqualTo(global::Embeddinator.CompilationTarget.Framework), ct);
            }
            foreach (var ct in new string [] { "static", "staticlibrary" })
            {
                embedder.SetCompilationTarget(ct);
                Assert.That(embedder.CompilationTarget, Is.EqualTo(global::Embeddinator.CompilationTarget.StaticLibrary), ct);
            }
        }