Пример #1
0
        public void GetUnexecutedEvolutions()
        {
            var executedEvolutions = new IEvolution[]
            {
                new Data.Entity.Evolution()
                {
                    Name = "Evolution1", FileName = "Evolution1.evo.sql"
                },
                new Data.Entity.Evolution()
                {
                    Name = "Evolution2", FileName = "Evolution2.evo.sql"
                },
                new Data.Entity.Evolution()
                {
                    Name = "Evolution3", FileName = "Evolution3.evo.sql"
                }
            };

            var unexecutedEvolutionFiles = new string[]
            {
                "Evolution4.evo.sql",
                "Evolution5.evo.sql",
                "Evolution6.evo.sql"
            };

            var evolutionFileNames = new List <string>()
            {
                "Evolution1.evo.sql",
                "Evolution2.evo.sql",
                "Evolution3.evo.sql",
            };

            evolutionFileNames.AddRange(unexecutedEvolutionFiles);

            var mockBuilder = new FileContextBuilder().AddGetEvolutionFileNamesBehavior(evolutionFileNames.ToArray());

            var repo = new FileRepo(mockBuilder.Context);
            var unexecutedEvolutions = repo.GetUnexecutedEvolutionFiles(executedEvolutions.Select(e => e.FileName).ToArray());

            Assert.NotEmpty(unexecutedEvolutions);
            Assert.Equal(unexecutedEvolutionFiles.Length, unexecutedEvolutions.Count());
            Assert.Equal(unexecutedEvolutionFiles, unexecutedEvolutions.ToArray());
        }