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()); }
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()); }
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); }
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); }