public void FindAndReturnAllLevelsInFolder(MockFileSystem mockFileSystem, string filepath, IEnumerable <Level> levelsToFind)
        {
            FileSystemLevelsProvider fileSystemLevelsProvider = new FileSystemLevelsProvider(mockFileSystem, filepath);

            var result = fileSystemLevelsProvider.GetLevels();

            Assert.Equal(levelsToFind, result, new LevelEqualityComparer());
        }
Exemple #2
0
        public void ReturnLevelOfSpecifiedId(MockFileSystem fileSystem, string levelId, Level level)
        {
            var provider = new FileSystemLevelsProvider(fileSystem, "c:");

            var result = provider.GetLevel(levelId);

            Assert.Equal(level, result, new LevelEqualityComparer());
        }
Exemple #3
0
        public void ThrowWhenLevelNotFound(MockFileSystem fileSystem, string levelId, string expectedMessage)
        {
            var provider = new FileSystemLevelsProvider(fileSystem, "c:");

            var result = Assert.Throws <LevelNotFoundException>(() => provider.GetLevel(levelId));

            Assert.Equal(expectedMessage, result.Message);
        }
Exemple #4
0
        public void ThrowWhenNoLevelIdProvided(string levelId)
        {
            var fileSystem      = new MockFileSystem();
            var expectedMessage = "No parameter for level ID was provided.";
            var provider        = new FileSystemLevelsProvider(fileSystem, "c:");

            var result = Assert.Throws <InvalidCommandArrayException>(() => provider.GetLevel(levelId));

            Assert.Equal(expectedMessage, result.Message);
        }
        public static IExecutable MakeApp(string rootPath = ".")
        {
            var main        = new RouterCommand();
            var fs          = new FileSystem();
            var provider    = new FileSystemLevelsProvider(fs, rootPath);
            var initializer = new MasterFolderLevelInitializer(
                new UserJsonLevelInitializationDeterminer(fs),
                new CopyDir(fs),
                provider,
                fs.Path);

            main.Register("levels", new GetLevelsCommand(provider));
            main.Register("open", new OpenLevelCommand(
                              initializer,
                              provider));
            main.Register("instructions", new GetInstructionsPathCommand(provider));
            main.Register("verify", new VerifyCommand(
                              provider,
                              new JarFileVerifier(new JarFileProcessFactory())
                              ));
            main.Register("reset", new ResetLevelCommand(initializer));

            return(main);
        }