public void deve_ser_capaz_de_carregar_assemblies_de_um_ou_mais_arquivos()
        {
            // Arrange, Given

            var loaderAssembly = new LoaderAssembly(Program.DependencyResolver.GetInstance <IDefinition>(),
                                                    Substitute.For <IDependencyResolver>());

            // Act, When

            var carregados = loaderAssembly.Load("*.dll").Count(a => a.Value != null);


            // Assert, Then

            carregados.Should().BeGreaterThan(1);
        }
        public void ao_carregar_assemblies_inválidos_deve_indicar_isso()
        {
            // Arrange, Given

            var loaderAssembly = new LoaderAssembly(
                Program.DependencyResolver.GetInstance <IDefinition>(),
                Substitute.For <IDependencyResolver>());

            // Act, When

            var carregados = loaderAssembly.Load("*.pdb").Count(a => a.Value == null);


            // Assert, Then

            carregados.Should().BeGreaterThan(0);
        }
        public void verifica_se_a_máscara_do_arquivo_está_capturando_os_arquivos_corretamente()
        {
            // Arrange, Given

            var loaderAssembly = new LoaderAssembly(
                Program.DependencyResolver.GetInstance <IDefinition>(),
                Substitute.For <IDependencyResolver>());

            // Act, When

            var carregados = loaderAssembly.Load("K*.dll").Where(a => a.Value != null)
                             .Select(a => new FileInfo(a.Key).Name).OrderBy(a => a).ToList();


            // Assert, Then

            carregados.Should().HaveCount(1);
            carregados[0].Should().Be("Kli.dll");
        }
        public void a_busca_por_arquivos_deve_ser_no_mesmo_diretório_que_o_executável()
        {
            // Arrange, Given

            var definition           = Substitute.For <IDefinition>();
            var loaderAssembly       = new LoaderAssembly(definition, Substitute.For <IDependencyResolver>());
            var leituraDePropriedade = 0;

            definition.DirectoryOfProgram.Returns(info =>
            {
                leituraDePropriedade++;
                return(Environment.GetEnvironmentVariable("TEMP"));
            });
            const string fileMaskParaNenhumArquivo = "no.found";

            // Act, When

            loaderAssembly.Load(fileMaskParaNenhumArquivo);

            // Assert, Then

            leituraDePropriedade.Should().Be(1);
        }