]> iEval git - gruntmaster-data.git/blobdiff - lib/Gruntmaster/Data.pm
Write tests
[gruntmaster-data.git] / lib / Gruntmaster / Data.pm
index d8c7c310729fc0a9fe7107e7ed3e2a21dc3c2f16..ab0fe36de464f11906686b1134a8bd872db5b8e7 100644 (file)
@@ -51,7 +51,7 @@ sub purge;
 
 sub query {
        my ($stat, @extra) = @_;
-       $db->query($statements{$stat} // $stat, @extra)
+       $db->query($statements{$stat}, @extra)
 }
 
 my (%name_cache, %name_cache_time);
@@ -117,7 +117,7 @@ sub problem_list {
 
 sub problem_entry {
        my ($id, $contest) = @_;
-       $contest &&= contest_entry ($contest);
+       $contest = contest_entry ($contest) if $contest;
        my $ret = add_names query(problem_entry_sth => $id)->hash;
        my $limits = query(limits_sth => $id)->hashes;
        $ret->{limits} = $limits if @$limits;
@@ -188,7 +188,7 @@ sub job_list {
 sub job_entry {
        my ($id) = @_;
        my $ret = add_names query(job_entry_sth => $id)->hash;
-       $ret->{results} &&= decode_json $ret->{results};
+       $ret->{results} = decode_json $ret->{results} if $ret->{results};
        $ret
 }
 
@@ -207,8 +207,7 @@ sub create_job {
 sub calc_score {
        my ($mxscore, $time, $tries, $totaltime) = @_;
        my $score = $mxscore;
-       $time = 0 if $time < 0;
-       $time = 300 if $time > $totaltime;
+       $time = 300 if $time > $totaltime; # uncoverable branch true does not happen anymore (only possible if opens are broken)
        $score = ($totaltime - $time) / $totaltime * $score;
        $score -= $tries / 10 * $mxscore;
        $score = $mxscore * 3 / 10 if $score < $mxscore * 3 / 10;
@@ -234,7 +233,7 @@ sub standings {
        while (my $job = $jobs->hash) {
                my $open = $opens{$job->{problem}, $job->{owner}} // $ct->{start};
                my $time = $job->{date} - $open;
-               next if $time < 0;
+               next if $time < 0; # uncoverable branch true job sent before contest is deprecated
                my $value = $values{$job->{problem}};
                my $factor = $job->{result} ? 0 : 1;
                $factor = $1 / 100 if $job->{result_text} =~ /^(\d+ )/s;
This page took 0.023359 seconds and 4 git commands to generate.