Ejemplo n.º 1
0
    def test_file_start_length_list_04(self):
        args = ([('A', 100), ('B', 5), ('C', 7), ('D', 100)], 30, 10)
        expected = [(['A'], 0, 30), (['A'], 30, 30), (['A'], 60, 30),
                    (['A', 'B', 'C', 'D'], 90, 30), (['D'], 8, 30),
                    (['D'], 38, 30), (['D'], 68, 30), (['D'], 98, 2)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 100), ('B', 5), ('C', 7), ('D', 100)], 30, 3)
        expected = [(['A'], 0, 30), (['A'], 30, 30), (['A'], 60, 30),
                    (['A', 'B', 'C'], 90, 22), (['D'], 0, 30), (['D'], 30, 30),
                    (['D'], 60, 30), (['D'], 90, 10)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('C', 7), ('D', 100)], 30, 2)
        expected = [(['C', 'D'], 0, 30), (['D'], 23, 30), (['D'], 53, 30),
                    (['D'], 83, 17)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 100), ('B', 5), ('C', 7), ('D', 100)], 30, 2)
        expected = [(['A'], 0, 30), (['A'], 30, 30), (['A'], 60, 30),
                    (['A', 'B'], 90, 15), (['C', 'D'], 0, 30), (['D'], 23, 30),
                    (['D'], 53, 30), (['D'], 83, 17)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 100), ('B', 5), ('C', 7), ('D', 100)], 30, 1)
        expected = [(['A'], 0, 30), (['A'], 30, 30), (['A'], 60, 30),
                    (['A'], 90, 10), (['B'], 0, 5), (['C'], 0, 7),
                    (['D'], 0, 30), (['D'], 30, 30), (['D'], 60, 30),
                    (['D'], 90, 10)]
        self.assertEqual(expected, _file_start_length_list(*args))
Ejemplo n.º 2
0
    def test_file_start_length_list_onefile_01(self):
        args = ([('A', 20)], 30, 2)
        expected = [(['A'], 0, 20)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 20)], 20, 2)
        expected = [(['A'], 0, 20)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 20)], 10, 2)
        expected = [(['A'], 0, 10), (['A'], 10, 10)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 20)], 7, 2)
        expected = [(['A'], 0, 7), (['A'], 7, 7), (['A'], 14, 6)]
        self.assertEqual(expected, _file_start_length_list(*args))
Ejemplo n.º 3
0
    def test_file_start_length_list_06(self):

        args = ([('A', 100), ('B', 5), ('C', 7),
                 ('D', 100)], 30, 0)  # max_files_per_run = 0
        expected = []
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 100), ('B', 5), ('C', 7),
                 ('D', 100)], 0, 2)  # max_events_per_run = 0
        expected = []
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 100), ('B', 5), ('C', 7),
                 ('D', 100)], 0, 0)  # both are 0
        expected = []
        self.assertEqual(expected, _file_start_length_list(*args))
Ejemplo n.º 4
0
    def test_file_start_length_twofiles_02_maxfile1(self):

        args = ([('A', 20), ('B', 20)], 20, 1)  # exact
        expected = [(['A'], 0, 20), (['B'], 0, 20)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 20), ('B', 25)], 20, 1)  # exact fist file
        expected = [(['A'], 0, 20), (['B'], 0, 20), (['B'], 20, 5)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 100), ('B', 20)], 110, 1)  # short first file
        expected = [(['A'], 0, 100), (['B'], 0, 20)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 20), ('B', 25)], 30, 1)  # short first file
        expected = [(['A'], 0, 20), (['B'], 0, 25)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 20), ('B', 100)], 30, 1)  # short first file
        expected = [(['A'], 0, 20), (['B'], 0, 30), (['B'], 30, 30),
                    (['B'], 60, 30), (['B'], 90, 10)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 100), ('B', 30)], 30, 1)  # long first file
        expected = [(['A'], 0, 30), (['A'], 30, 30), (['A'], 60, 30),
                    (['A'], 90, 10), (['B'], 0, 30)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 90), ('B', 30)], 30, 1)  # long first file
        expected = [(['A'], 0, 30), (['A'], 30, 30), (['A'], 60, 30),
                    (['B'], 0, 30)]
        self.assertEqual(expected, _file_start_length_list(*args))
Ejemplo n.º 5
0
    def test_file_start_length_list_05(self):

        args = ([('A', 100), ('B', 5), ('C', 7),
                 ('D', 100)], 30, -1)  # max_files_per_run = -1
        expected = [(['A'], 0, 30), (['A'], 30, 30), (['A'], 60, 30),
                    (['A', 'B', 'C', 'D'], 90, 30), (['D'], 8, 30),
                    (['D'], 38, 30), (['D'], 68, 30), (['D'], 98, 2)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 100), ('B', 5), ('C', 7),
                 ('D', 100)], -1, 2)  # max_events_per_run = -1
        expected = [(['A', 'B'], 0, 105), (['C', 'D'], 0, 107)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 100), ('B', 5), ('C', 7),
                 ('D', 100)], -1, -1)  # both are -1
        expected = [(['A', 'B', 'C', 'D'], 0, 212)]
        self.assertEqual(expected, _file_start_length_list(*args))
Ejemplo n.º 6
0
    def test_file_start_length_list_empty_01(self):
        args = ([], 20, 2)  # empty file list
        expected = []
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 0)], 20, 2)  # no events
        expected = []
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 0), ('B', 0), ('C', 0)], 20, 2)  # no events
        expected = []
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 0), ('B', 10),
                 ('C', 0)], 20, 2)  # no events in some files
        expected = [(['B'], 0, 10)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 0), ('B', 20),
                 ('C', 0)], 20, 2)  # the last file has no events
        # the 2nd last has max_events_per_run
        expected = [(['B'], 0, 20)
                    ]  # shouldn't be [(['B'], 0, 20), ([ ], 0, 0)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 20), ('B', 0), ('C', 0)], 20, 2)
        expected = [(['A'], 0, 20)]
        self.assertEqual(expected, _file_start_length_list(*args))
Ejemplo n.º 7
0
    def test_file_start_length_twofiles_01(self):

        args = ([('A', 20), ('B', 20)], 20, 2)  # exact
        expected = [(['A'], 0, 20), (['B'], 0, 20)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 20), ('B', 25)], 20, 2)  # exact first file
        expected = [(['A'], 0, 20), (['B'], 0, 20), (['B'], 20, 5)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 40), ('B', 25)], 20, 2)  # twice the exact first file
        expected = [(['A'], 0, 20), (['A'], 20, 20), (['B'], 0, 20),
                    (['B'], 20, 5)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 60),
                 ('B', 25)], 20, 2)  # three times the exact first file
        expected = [(['A'], 0, 20), (['A'], 20, 20), (['A'], 40, 20),
                    (['B'], 0, 20), (['B'], 20, 5)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 100), ('B', 20)], 110, 2)  # short first file
        expected = [(['A', 'B'], 0, 110), (['B'], 10, 10)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 20), ('B', 25)], 30, 2)  # short first file
        expected = [(['A', 'B'], 0, 30), (['B'], 10, 15)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 20), ('B', 100)], 30, 2)  # short first file
        expected = [(['A', 'B'], 0, 30), (['B'], 10, 30), (['B'], 40, 30),
                    (['B'], 70, 30)]
        self.assertEqual(expected, _file_start_length_list(*args))

        args = ([('A', 100), ('B', 30)], 30, 2)  # long first file
        expected = [(['A'], 0, 30), (['A'], 30, 30), (['A'], 60, 30),
                    (['A', 'B'], 90, 30), (['B'], 20, 10)]
        self.assertEqual(expected, _file_start_length_list(*args))
Ejemplo n.º 8
0
 def test_file_start_length_list_03(self):
     args = ([('A', 100), ('B', 5), ('C', 7), ('D', 30)], 30, 10)
     expected = [(['A'], 0, 30), (['A'], 30, 30), (['A'], 60, 30),
                 (['A', 'B', 'C', 'D'], 90, 30), (['D'], 8, 22)]
     self.assertEqual(expected, _file_start_length_list(*args))