public void Compile_WithSourceFileWithErrors_ShouldError() { // Arrange ... var inputFiles = new List <string> { "haserrors.c" }; var project = new Cc65Project { TargetPlatform = "pet", OptimiseCode = true, WorkingDirectory = Path.Combine(Directory.GetCurrentDirectory(), @"Test Files"), InputFiles = inputFiles, OutputFile = "haserrors" }; // Act ... var result = Cc65Build.Compile(project).Result; // Assert ... result.ShouldNotBeNull(); result.ExitCode.ShouldBe(1); result.StandardError.ShouldNotBeNullOrEmpty(); result.StandardError.ShouldContain("Error"); }
public void NewProject_WithDefaultSetting_ShouldSucceed() { // Act ... var result = new Cc65Project(); // Assert ... result.ShouldNotBeNull(); result.WorkingDirectory.ShouldBeNullOrEmpty(); result.TargetPlatform.ShouldBe("pet"); result.InputFiles.Count.ShouldBe(0); result.OutputFile.ShouldBeNullOrEmpty(); result.OptimiseCode.ShouldBeFalse(); result.Version.ShouldBe(Cc65Project.VERSION); }
public void FullOutputFilePath_ShouldSucceed() { // Arrange ... var project = new Cc65Project(); project.WorkingDirectory = @"C:\TMP"; project.OutputFile = @"fred"; var expected = System.IO.Path.Combine(project.WorkingDirectory, project.OutputFile); // Act ... var result = project.FullOutputFilePath; // Assert ... result.ShouldNotBeNullOrEmpty(); result.ShouldBe(expected); }
public void AsJsonTest_WithUnpopulatedProject_ShouldSucceed() { // Arrange ... var project = new Cc65Project(); // Act ... var result = project.AsJson(); // Assert ... result.ShouldNotBeNullOrEmpty(); var fromResult = JsonConvert.DeserializeObject <Cc65Project>(result); fromResult.WorkingDirectory.ShouldBe(project.WorkingDirectory); fromResult.TargetPlatform.ShouldBe(project.TargetPlatform); fromResult.InputFiles.ShouldBe(project.InputFiles); fromResult.OutputFile.ShouldBe(project.OutputFile); fromResult.OptimiseCode.ShouldBe(project.OptimiseCode); fromResult.Version.ShouldBe(project.Version); }
static async System.Threading.Tasks.Task Main(string[] args) { var inputFiles = new List <string> { "inflate.c" }; // Define a new project with some source files and output file ... var project = new Cc65Project { TargetPlatform = "pet", OptimiseCode = true, WorkingDirectory = @"D:\commodore stuff\Pet Stuff\csource\inflate", InputFiles = inputFiles, OutputFile = "inflate" }; var result = await Cc65Build.Compile(project); }