Example #1
0
    def test_hypothetical_operations_loop(self):

        def callback(percent, message):
            return percent, message

        n = [0, 1, 2]
        for n_subsettables, n_geometries, n_calculations in itertools.product(n, n, n):
            try:
                prog = ProgressOcgOperations(callback,
                                             n_subsettables=n_subsettables,
                                             n_geometries=n_geometries,
                                             n_calculations=n_calculations)
            except AssertionError:
                if n_geometries == 0 or n_subsettables == 0:
                    continue
                else:
                    raise

            for ns in range(n_subsettables):
                for ng in range(n_geometries):
                    for nc in range(n_calculations):
                        prog.mark()
                    if n_calculations == 0:
                        prog.mark()
            self.assertEqual(prog(), (100.0, None))
Example #2
0
    def test_hypothetical_operations_loop(self):

        def callback(percent, message):
            return percent, message

        n = [0, 1, 2]
        for n_subsettables, n_geometries, n_calculations in itertools.product(n, n, n):
            try:
                prog = ProgressOcgOperations(callback,
                                             n_subsettables=n_subsettables,
                                             n_geometries=n_geometries,
                                             n_calculations=n_calculations)
            except AssertionError:
                if n_geometries == 0 or n_subsettables == 0:
                    continue
                else:
                    raise

            for ns in range(n_subsettables):
                for ng in range(n_geometries):
                    for nc in range(n_calculations):
                        prog.mark()
                    if n_calculations == 0:
                        prog.mark()
            self.assertEqual(prog(), (100.0, None))
Example #3
0
    def test_simple(self):
        n_geometries = 3
        n_calculations = 3

        def callback(percent, message):
            return percent, message

        for cb in [callback, None]:
            prog = ProgressOcgOperations(callback=cb,
                                         n_geometries=n_geometries,
                                         n_calculations=n_calculations)
            n_operations = 9
            self.assertEqual(prog.n_operations, n_operations)
            prog.mark()
            if cb is None:
                self.assertEqual(prog.percent_complete,
                                 100 * (1 / float(n_operations)))
                self.assertEqual(prog(), None)
            else:
                self.assertEqual(prog(),
                                 (100 * (1 / float(n_operations)), None))
            prog.mark()
            if cb is None:
                self.assertEqual(prog.percent_complete,
                                 (100 * (2 / float(n_operations))))
            else:
                self.assertEqual(prog(message='hi'),
                                 (100 * (2 / float(n_operations)), 'hi'))
Example #4
0
    def test_simple(self):
        n_geometries = 3
        n_calculations = 3

        def callback(percent, message):
            return percent, message

        for cb in [callback, None]:
            prog = ProgressOcgOperations(callback=cb, n_geometries=n_geometries, n_calculations=n_calculations)
            n_operations = 9
            self.assertEqual(prog.n_operations, n_operations)
            prog.mark()
            if cb is None:
                self.assertEqual(prog.percent_complete, 100 * (1 / float(n_operations)))
                self.assertEqual(prog(), None)
            else:
                self.assertEqual(prog(), (100 * (1 / float(n_operations)), None))
            prog.mark()
            if cb is None:
                self.assertEqual(prog.percent_complete, (100 * (2 / float(n_operations))))
            else:
                self.assertEqual(prog(message='hi'), (100 * (2 / float(n_operations)), 'hi'))