Skip to content

Commit 5b66cd7

Browse files
committed
Added test cases for special non-square matrices.
1 parent 0acab86 commit 5b66cd7

1 file changed

Lines changed: 62 additions & 0 deletions

File tree

tests/munkrestest.cpp

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,68 @@ TEST_F (MunkresTest, solve_4x6_NonObviousSolutionCase004_Success)
579579

580580

581581

582+
TEST_F (MunkresTest, DISABLED_solve_7x5_NonObviousSolutionCase005_Success)
583+
{
584+
// Arrange.
585+
Matrix<double> etalon_matrix{
586+
{-1.0, -1.0, -1.0, -1.0, -1.0},
587+
{ 0.0, -1.0, -1.0, -1.0, -1.0},
588+
{-1.0, 0.0, -1.0, -1.0, -1.0},
589+
{-1.0, -1.0, -1.0, -1.0, -1.0},
590+
{-1.0, -1.0, -1.0, 0.0, -1.0},
591+
{-1.0, -1.0, -1.0, -1.0, 0.0},
592+
{-1.0, -1.0, 0.0, -1.0, -1.0}
593+
};
594+
Matrix<double> test_matrix{
595+
{1.79769e+308, 7.33184e+08, 9.41561e+08, 2.79247e+08, 1.79769e+308},
596+
{3.06449e+08, 1.79769e+308, 3.3464e+08, 7.06878e+08, 1.79769e+308},
597+
{9.93296e+08, 1.9414e+08, 1.79769e+308, 1.14174e+08, 1.79769e+308},
598+
{3.51623e+08, 2.48635e+08, 7.81242e+08, 1.79769e+308, 1.79769e+308},
599+
{7.02639e+08, 8.51663e+08, 9.37382e+08, 4.96945e+07, 1.79769e+308},
600+
{1.79769e+308, 1.79769e+308, 1.79769e+308, 1.79769e+308, 1.79769e+308},
601+
{7.58851e+08, 8.58445e+08, 8.7235e+07, 5.47076e+08, 1.79769e+308}
602+
};
603+
604+
Munkres<double> munkres;
605+
606+
// Act.
607+
munkres.solve(test_matrix);
608+
609+
// Assert.
610+
EXPECT_EQ (etalon_matrix, test_matrix);
611+
}
612+
613+
614+
615+
TEST_F (MunkresTest, DISABLED_solve_5x7_NonObviousSolutionCase006_Success)
616+
{
617+
// Arrange.
618+
Matrix<double> etalon_matrix{
619+
{-1.0, 0.0, -1.0, -1.0, -1.0, -1.0, -1.0},
620+
{-1.0, -1.0, 0.0, -1.0, -1.0, -1.0, -1.0},
621+
{-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 0.0},
622+
{-1.0, -1.0, -1.0, -1.0, 0.0, -1.0, -1.0},
623+
{-1.0, -1.0, -1.0, -1.0, -1.0, 0.0, -1.0}
624+
};
625+
Matrix<double> test_matrix{
626+
{1.79769e+308, 3.06449e+08, 9.93296e+08, 3.51623e+08, 7.02639e+08, 1.79769e+308, 7.58851e+08},
627+
{7.33184e+08, 1.79769e+308, 1.9414e+08, 2.48635e+08, 8.51663e+08, 1.79769e+308, 8.58445e+08},
628+
{9.41561e+08, 3.3464e+08, 1.79769e+308, 7.81242e+08, 9.37382e+08, 1.79769e+308, 8.7235e+07},
629+
{2.79247e+08, 7.06878e+08, 1.14174e+08, 1.79769e+308, 4.96945e+07, 1.79769e+308, 5.47076e+08},
630+
{1.79769e+308, 1.79769e+308, 1.79769e+308, 1.79769e+308, 1.79769e+308, 1.79769e+308, 1.79769e+308}
631+
};
632+
633+
Munkres<double> munkres;
634+
635+
// Act.
636+
munkres.solve(test_matrix);
637+
638+
// Assert.
639+
EXPECT_EQ (etalon_matrix, test_matrix);
640+
}
641+
642+
643+
582644
TEST_F (MunkresTest, solve_3x3_IsValide_Fail)
583645
{
584646
// Arrange.

0 commit comments

Comments
 (0)