コード例 #1
0
ファイル: eq_matrix_test.py プロジェクト: parallel-p/pesto
 def setUp(self):
     self.matrix = EqMatrix()
コード例 #2
0
ファイル: eq_matrix_test.py プロジェクト: parallel-p/pesto
class PositiveTests(unittest.TestCase):
    def setUp(self):
        self.matrix = EqMatrix()

    def test_allsame(self):
        runs = []
        for i in range(4):
            runs.append(Run(0, 0, i, '100', '100', "OK"))

        submits = []
        for i in range(10):
            submits.append(Submit(i, (0, 0), 0, 0, runs, 0, 'ACM', 37))

        for submit in submits:
            self.matrix.visit(submit)

        sample = ("\t" + "".join("{:>9}".format(elem) for elem in [10, 10, 10, 10]) + "\n" +
                  "0\t" + "".join("{:>9}".format(elem) for elem in [1, 2, 3, 4]) + "\n" +
                  "1\t" + "".join("{:>9}".format(str(elem) + "%") for elem in [0.0, 0.0, 0.0, 0.0]) + "\n" +
                  "2\t" + "".join("{:>9}".format(str(elem) + "%") for elem in [0.0, 0.0, 0.0, 0.0]) + "\n" +
                  "3\t" + "".join("{:>9}".format(str(elem) + "%") for elem in [0.0, 0.0, 0.0, 0.0]) + "\n" +
                  "4\t" + "".join("{:>9}".format(str(elem) + "%") for elem in [0.0, 0.0, 0.0, 0.0]) + "\n")

        self.assertEqual(self.matrix.pretty_print(), sample)

    def test_mixed(self):
        runs = []
        runs.append(Run(0, 0, 0, '100', '100', "OK"))
        runs.append(Run(0, 0, 1, '100', '100', "WA"))
        runs.append(Run(0, 0, 2, '100', '100', "WA"))
        runs.append(Run(0, 0, 3, '100', '100', "WA"))

        submits = []
        for i in range(10):
            submits.append(Submit(i, (0, 0), 0, 0, runs, 0, 'ACM', 37))

        sample = ("\t" + "".join("{:>9}".format(elem) for elem in [10, 10, 10, 10]) + "\n" +
                  "0\t" + "".join("{:>9}".format(elem) for elem in [1, 2, 3, 4]) + "\n" +
                  "1\t" + "".join("{:>9}".format(str(elem) + "%") for elem in [0.0, 100.0, 100.0, 100.0]) + "\n" +
                  "2\t" + "".join("{:>9}".format(str(elem) + "%") for elem in [100.0, 0.0, 0.0, 0.0]) + "\n" +
                  "3\t" + "".join("{:>9}".format(str(elem) + "%") for elem in [100.0, 0.0, 0.0, 0.0]) + "\n" +
                  "4\t" + "".join("{:>9}".format(str(elem) + "%") for elem in [100.0, 0.0, 0.0, 0.0]) + "\n")

        for submit in submits:
            self.matrix.visit(submit)

        self.assertEqual(self.matrix.pretty_print(), sample)

    def test_different(self):
        runs = []
        runs.append(Run(0, 0, 0, '100', '100', "OK"))
        runs.append(Run(0, 0, 1, '100', '100', "WA"))
        runs.append(Run(0, 0, 2, '100', '100', "OK"))
        runs.append(Run(0, 0, 3, '100', '100', "WA"))

        submits = []
        for i in range(10):
            submits.append(Submit(i, (0, 0), 0, 0, runs, 0, 'ACM', 37))

        for submit in submits:
            self.matrix.visit(submit)

        sample = ("\t" + "".join("{:>9}".format(elem) for elem in [10, 10, 10, 10]) + "\n" +
                  "0\t" + "".join("{:>9}".format(elem) for elem in [1, 2, 3, 4]) + "\n" +
                  "1\t" + "".join("{:>9}".format(str(elem) + "%") for elem in [0.0, 100.0, 0.0, 100.0]) + "\n" +
                  "2\t" + "".join("{:>9}".format(str(elem) + "%") for elem in [100.0, 0.0, 100.0, 0.0]) + "\n" +
                  "3\t" + "".join("{:>9}".format(str(elem) + "%") for elem in [0.0, 100.0, 0.0, 100.0]) + "\n" +
                  "4\t" + "".join("{:>9}".format(str(elem) + "%") for elem in [100.0, 0.0, 100.0, 0.0]) + "\n")

        self.assertEqual(self.matrix.pretty_print(), sample)

    def test_zero_submits(self):
        self.assertEqual(self.matrix.pretty_print(), "No submits")

    def test_difruns(self):
        runs = []
        runs.append(Run(0, 0, 0, '100', '100', "OK"))
        runs.append(Run(0, 0, 1, '100', '100', "WA"))
        runs.append(Run(0, 0, 2, '100', '100', "OK"))
        runs.append(Run(0, 0, 3, '100', '100', "WA"))

        submits = []
        for i in range(4):
            submits.append(Submit(i, (0, 0), 0, 0, runs[:2], 0, 'ACM', 37))
            submits.append(Submit(i, (0, 0), 0, 0, runs, 0, 'ACM', 37))
        submits.append(Submit(i, (0, 0), 0, 0, runs[:1], 0, 'ACM', 37))
        submits.append(Submit(i, (0, 0), 0, 0, runs[:1], 0, 'ACM', 37))

        for submit in submits:
            self.matrix.visit(submit)

        sample = ("\t" + "".join("{:>9}".format(elem) for elem in [10, 8, 4, 4]) + "\n" +
                  "0\t" + "".join("{:>9}".format(elem) for elem in [1, 2, 3, 4]) + "\n" +
                  "1\t" + "".join("{:>9}".format(str(elem) + "%") for elem in [0.0, 100.0, 0.0, 100.0]) + "\n" +
                  "2\t" + "".join("{:>9}".format(str(elem) + "%") for elem in [100.0, 0.0, 100.0, 0.0]) + "\n" +
                  "3\t" + "".join("{:>9}".format(str(elem) + "%") for elem in [0.0, 100.0, 0.0, 100.0]) + "\n" +
                  "4\t" + "".join("{:>9}".format(str(elem) + "%") for elem in [100.0, 0.0, 100.0, 0.0]) + "\n")

        # sample = ("10 0 4 0\n" +
        # "0 8 0 4\n"  +
        #           "4 0 4 0\n"  +
        #           "0 4 0 4\n")

        self.assertEqual(self.matrix.pretty_print(), sample)

    def test_raw_data(self):
        runs = []
        runs.append(Run(0, 0, 0, '100', '100', "OK"))
        runs.append(Run(0, 0, 1, '100', '100', "WA"))
        runs.append(Run(0, 0, 2, '100', '100', "OK"))
        runs.append(Run(0, 0, 3, '100', '100', "WA"))

        submits = []
        for i in range(4):
            submits.append(Submit(i, (0, 0), 0, 0, runs[:2], 0, 'ACM', 37))
            submits.append(Submit(i, (0, 0), 0, 0, runs, 0, 'ACM', 37))
        submits.append(Submit(i, (0, 0), 0, 0, runs[:1], 0, 'ACM', 37))
        submits.append(Submit(i, (0, 0), 0, 0, runs[:1], 0, 'ACM', 37))

        for submit in submits:
            self.matrix.visit(submit)

        sample = [[10, 0, 4, 0],
                  [0, 8, 0, 4],
                  [4, 0, 4, 0],
                  [0, 4, 0, 4]]

        self.assertEqual(self.matrix.get_stat_data(), sample)