public void UsesPrecompiledTypesIfDiscovered()
            {
                // Pregenerate the types
                Builder.WithSourceAssembly(GetType().Assembly);
                var result = Builder.Build(OutputDirectory);

                var searchPattern = $"*{result}*.dll";

                NativeLibraryBuilder.DiscoverCompiledTypes(OutputDirectory, searchPattern);

                var library = LibraryBuilder.ActivateInterface <IAOTLibrary>("AOTTests");

                var libraryAssembly = library.GetType().Assembly;

                Assert.False(libraryAssembly.GetCustomAttribute <AOTAssemblyAttribute>() is null);
            }
            public void UsesPrecompiledTypesIfDiscoveredFromStream()
            {
                // Pregenerate the types
                Builder.WithSourceAssembly(GetType().Assembly);
                var result = Builder.Build(OutputDirectory);

                foreach (var asm in Directory.GetFiles(OutputDirectory, $"*{result}*.dll"))
                {
                    NativeLibraryBuilder.DiscoverCompiledTypes(File.OpenRead(asm));
                }

                var library = LibraryBuilder.ActivateInterface <IAOTLibrary>("AOTTests");

                var libraryAssembly = library.GetType().Assembly;

                Assert.False(libraryAssembly.GetCustomAttribute <AOTAssemblyAttribute>() is null);
            }
            public void UsesPrecompiledTypesIfDiscoveredFromStream()
            {
                // Pregenerate the types
                Builder.WithSourceAssembly(GetType().Assembly);
                var result        = Builder.Build(OutputDirectory);
                var searchPattern = $"*{Path.GetFileNameWithoutExtension(result)}*.dll";

                searchPattern = Path.Combine(Path.GetDirectoryName(result), searchPattern);
                foreach (var asm in Directory.GetFiles(OutputDirectory, searchPattern))
                {
                    NativeLibraryBuilder.DiscoverCompiledTypes(File.OpenRead(asm));
                }

                var library = LibraryBuilder.ActivateInterface <IAOTLibrary>("AOTTests");

                var libraryAssembly = library.GetType().Assembly;

                Assert.False(libraryAssembly.GetCustomAttribute <AOTAssemblyAttribute>() is null);
            }