public void Should_Create_new_Config_File() { var defaultEntrypointDetector = new MockedDefaultEntrypointDetector(); var fileSystem = new FakeFileSystem("--", "{ 'name':'MyTest' }"); var resolver = new ConfigFileResolver(fileSystem); var parser = new ScriptsFileParser(defaultEntrypointDetector); var executor = new FakeExecutor(); var app = new Application(fileSystem, resolver, parser, executor); var result = app.Run(new string[] { "config-init" }); Assert.Equal(0, result); Assert.Equal(fileSystem.fileName, "./.dotnetexec.json"); // should be parsable var stream = fileSystem.OpenText("./.dotnetexec.json"); var pkg = parser.Parse(stream); Assert.Equal("app", pkg.Name); Assert.Equal("/bin/bash", pkg.Entrypoint); Assert.Equal(0, (int)pkg.Variables.Length); Assert.Equal(2, (int)pkg.Commands.Length); Assert.Equal("build", pkg.Commands[0].Name); Assert.Equal("dotnet build", pkg.Commands[0].Scripts[0]); Assert.Equal("test", pkg.Commands[1].Name); Assert.Equal("dotnet test", pkg.Commands[1].Scripts[0]); }