private static IEnumerable <string> ProcessCases(IEnumerable <List <string> > cases) { var currentCaseNumber = 0; foreach (var caseLines in cases) { currentCaseNumber++; //1-indexed. var parsedCase = new CaseInput(caseLines); var solver = new CaseSolver(parsedCase); var result = solver.Solve(); var resultText = result.ToString(); yield return($"Case #{currentCaseNumber}: {resultText}"); } }
public void Harder() { var inputString = @"3 3 10 -2 3 6 6 2 -2 2 1 -2 4 -1 2 12 -5 1"; var io = new TestIOStub(inputString); CaseSolver.Run(io); io.Output.Should().BeEquivalentTo( @"Case #1: 0 Case #2: -1 15 Case #3: 5 25".Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries) ); }
public void Square() { var inputString = @"4 2 1 -2 6 2 1 -10 10 1 1 0 3 1 2 -2 2"; var io = new TestIOStub(inputString); CaseSolver.Run(io); io.Output.Should().BeEquivalentTo( @"Case #1: 3 Case #2: IMPOSSIBLE Case #3: 0 Case #4: 2".Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries) ); }