Exemplo n.º 1
0
        public async Task Grade_CalculateTaxExample_PercentPass_Should_50()
        {
            var src  = @"
namespace Grader.Tests
{
    public static class TaxProgram
    {
        public static void Main(string[] args)
        {
            System.Console.WriteLine(""Enter the cost(ex 12.12)"");
            var cost = System.Console.ReadLine();

            var costNum = double.Parse(cost);

            System.Console.WriteLine(""Enter the tax percent (ex. 10)"");
            var tax = System.Console.ReadLine();

            var taxNum = double.Parse(tax)/100.0;

            System.Console.WriteLine($""Original Cost: "" + costNum);
            System.Console.WriteLine($""Tax Cost: "" + (costNum * taxNum));
            System.Console.WriteLine($""Final Cost: "" + (costNum + (costNum * taxNum)));

        }
    }
}
";
            var list = new List <GradeCase>();
            {
                var taxCase = new GradeCase(1);
                taxCase.Inputs.Add("10");
                taxCase.Inputs.Add("10");
                taxCase.ExpectedOutputs.Add("10");
                taxCase.ExpectedOutputs.Add("1");
                taxCase.ExpectedOutputs.Add("11");
                list.Add(taxCase);
            }
            {
                var taxCase = new GradeCase(2);
                taxCase.Inputs.Add("10");
                taxCase.Inputs.Add("12");
                taxCase.ExpectedOutputs.Add("10");
                taxCase.ExpectedOutputs.Add("1");
                taxCase.ExpectedOutputs.Add("11.123");
                list.Add(taxCase);
            }



            var result = await grader.Grade(src, list);

            result.PercentPassing.Should().Be(.5);
        }
Exemplo n.º 2
0
        public void Setup()
        {
            var fixture = new Fixture();

            fixture.Customize(new AutoMoqCustomization()
            {
                GenerateDelegates = true, ConfigureMembers = true
            });
            fixture.Inject <ICSharpGenerator>(fixture.Create <CSharpGenerator>());

            gradeCase = new GradeCase("", @"""Hello, World!""", 0);

            grader = fixture.Build <ConsoleAppGrader>().OmitAutoProperties().Create();
            Grader.Console.Outputs.Clear();
        }