@@ -274,6 +274,21 @@ func TestIOIGenerator(t *testing.T) {
274274 },
275275 TestsNumber : 1 ,
276276 },
277+ // type Complete, but Score is nil
278+ {
279+ ProblemType : models .ProblemTypeIOI ,
280+ TestGroups : []models.TestGroup {
281+ {
282+ Name : "name" ,
283+ FirstTest : 1 ,
284+ LastTest : 1 ,
285+ Score : nil ,
286+ ScoringType : models .TestGroupScoringTypeComplete ,
287+ RequiredGroupNames : make ([]string , 0 ),
288+ },
289+ },
290+ TestsNumber : 1 ,
291+ },
277292 // cyclic groups
278293 {
279294 ProblemType : models .ProblemTypeIOI ,
@@ -435,6 +450,13 @@ func TestIOIGenerator(t *testing.T) {
435450 require .Equal (t , verdict .OK , result .Verdict )
436451 require .Equal (t , uint64 (i )+ 1 , result .TestNumber )
437452 }
453+ require .Equal (t , sub .GroupResults , models.GroupResults {
454+ {
455+ GroupName : "group1" ,
456+ Points : 100. ,
457+ Passed : true ,
458+ },
459+ })
438460
439461 require .Equal (t , wasProblem , problemWithOneGroup )
440462 })
@@ -495,6 +517,18 @@ func TestIOIGenerator(t *testing.T) {
495517 require .Equal (t , 0. , sub .Score )
496518 require .Equal (t , verdict .WA , sub .TestResults [0 ].Verdict )
497519 require .Equal (t , verdict .SK , sub .TestResults [1 ].Verdict )
520+ require .Equal (t , sub .GroupResults , models.GroupResults {
521+ {
522+ GroupName : "group1" ,
523+ Points : 0. ,
524+ Passed : false ,
525+ },
526+ {
527+ GroupName : "group2" ,
528+ Points : 0. ,
529+ Passed : false ,
530+ },
531+ })
498532 })
499533
500534 t .Run ("OK 2nd, WA 1st" , func (t * testing.T ) {
@@ -515,6 +549,18 @@ func TestIOIGenerator(t *testing.T) {
515549 require .Equal (t , 0. , sub .Score )
516550 require .Equal (t , verdict .WA , sub .TestResults [0 ].Verdict )
517551 require .Equal (t , verdict .SK , sub .TestResults [1 ].Verdict )
552+ require .Equal (t , sub .GroupResults , models.GroupResults {
553+ {
554+ GroupName : "group1" ,
555+ Points : 0. ,
556+ Passed : false ,
557+ },
558+ {
559+ GroupName : "group2" ,
560+ Points : 0. ,
561+ Passed : false ,
562+ },
563+ })
518564 })
519565
520566 t .Run ("OK 1st, WA 2nd" , func (t * testing.T ) {
@@ -535,6 +581,18 @@ func TestIOIGenerator(t *testing.T) {
535581 require .Equal (t , 50. , sub .Score )
536582 require .Equal (t , verdict .OK , sub .TestResults [0 ].Verdict )
537583 require .Equal (t , verdict .WA , sub .TestResults [1 ].Verdict )
584+ require .Equal (t , sub .GroupResults , models.GroupResults {
585+ {
586+ GroupName : "group1" ,
587+ Points : 50. ,
588+ Passed : true ,
589+ },
590+ {
591+ GroupName : "group2" ,
592+ Points : 0. ,
593+ Passed : false ,
594+ },
595+ })
538596 })
539597
540598 t .Run ("WA 2nd, OK 1st" , func (t * testing.T ) {
@@ -555,6 +613,18 @@ func TestIOIGenerator(t *testing.T) {
555613 require .Equal (t , 50. , sub .Score )
556614 require .Equal (t , verdict .OK , sub .TestResults [0 ].Verdict )
557615 require .Equal (t , verdict .WA , sub .TestResults [1 ].Verdict )
616+ require .Equal (t , sub .GroupResults , models.GroupResults {
617+ {
618+ GroupName : "group1" ,
619+ Points : 50. ,
620+ Passed : true ,
621+ },
622+ {
623+ GroupName : "group2" ,
624+ Points : 0. ,
625+ Passed : false ,
626+ },
627+ })
558628 })
559629
560630 t .Run ("WA 1st, then take 2nd" , func (t * testing.T ) {
@@ -572,6 +642,18 @@ func TestIOIGenerator(t *testing.T) {
572642 require .Equal (t , 0. , sub .Score )
573643 require .Equal (t , verdict .WA , sub .TestResults [0 ].Verdict )
574644 require .Equal (t , verdict .SK , sub .TestResults [1 ].Verdict )
645+ require .Equal (t , sub .GroupResults , models.GroupResults {
646+ {
647+ GroupName : "group1" ,
648+ Points : 0. ,
649+ Passed : false ,
650+ },
651+ {
652+ GroupName : "group2" ,
653+ Points : 0. ,
654+ Passed : false ,
655+ },
656+ })
575657 })
576658
577659 t .Run ("Fail in group with >1 tests" , func (t * testing.T ) {
@@ -612,6 +694,13 @@ func TestIOIGenerator(t *testing.T) {
612694 require .Equal (t , 0. , sub .Score )
613695 require .Equal (t , verdict .WA , sub .TestResults [0 ].Verdict )
614696 require .Equal (t , verdict .SK , sub .TestResults [1 ].Verdict )
697+ require .Equal (t , sub .GroupResults , models.GroupResults {
698+ {
699+ GroupName : "group1" ,
700+ Points : 0. ,
701+ Passed : false ,
702+ },
703+ })
615704 })
616705 })
617706}
0 commit comments