Library | NuGet |
---|---|
CompetitiveVerifierCsResolver | |
CompetitiveVerifierProblem | |
CompetitiveVerifierProblem.Generator | |
CompetitiveVerifierResolverTestLogger |
See Examples.
Use in GitHub Actions.
Sample
- name: Build
run: dotnet build ${{ env.WORKFLOW_BUILD_SLN }} -c Release
- name: setup CompetitiveVerifierCsResolver
run: dotnet tool install -g CompetitiveVerifierCsResolver
- name: Unit test
run: dotnet test ${{ env.UNITTEST_CSPROJ }} --logger "CompetitiveVerifier;OutDirectory=${{runner.temp}}/VerifierUnitTest" --no-build -c Release
- name: Resolve
run: dotnet run --project ${{ env.VERIFY_CSPROJ }} --no-build -c Release | tee ${{runner.temp}}/problems.json
- name: cs-resolve
uses: competitive-verifier/actions/cs-resolve@v1
with:
solution: ${{ env.WORKFLOW_BUILD_SLN }}
output-path: verify_files.json
# Specify patterns
include: |
Examples/**
# exclude: your-own-exclude/
unittest-result: ${{runner.temp}}/VerifierUnitTest/*.csv
problems: ${{runner.temp}}/problems.json
# Install
dotnet tool install -g CompetitiveVerifierCsResolver
dotnet add {{YourUnittest.csproj}} package CompetitiveVerifierResolverTestLogger
dotnet add {{YourProblemApp.csproj}} package CompetitiveVerifierProblem
# Run
dotnet test {{YourUnittest.csproj}} --logger "CompetitiveVerifier;OutFile=$pwd/VerifierUnitTest"
dotnet run --project {{YourProblemApp.csproj}} > problems.json
CompetitiveVerifierCsResolver YourSolution.sln -u VerifierUnitTest/*.csv -p problems.json
Resolve solution dependency and verifications.
dotnet tool install -g CompetitiveVerifierCsResolver
Subclasses of CompetitiveVerifier.ProblemSolver
are treated as verification.
The library assume for console application.
See Examples/VerifyApp.
using ClassLibrary;
using System;
namespace VerifyApp;
// competitive-verifier: document_title Hello World! test
internal class CircleAizu : CompetitiveVerifier.ProblemSolver
{
public override string Url => "http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_4_B";
public override double? Error => 1e-5;
public override void Solve()
{
var r = double.Parse(Console.ReadLine()!);
var circle = new Circle(r);
Console.WriteLine($"{circle.Area} {circle.Circumference}");
}
}
Implicit usings.
Add unit test project. Run with OutFile parameter.
dotnet test --logger "CompetitiveVerifier;OutFile=$pwd/out.csv"