Exemplo n.º 1
0
        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");
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }