def test_quantizationtools_QGrid_pickle_01(): q_grid = quantizationtools.QGrid( root_node=quantizationtools.QGridContainer( preprolated_duration=1, children=[ quantizationtools.QGridLeaf( preprolated_duration=1, q_event_proxies=[ quantizationtools.QEventProxy( quantizationtools.SilentQEvent(100), 0.5, ), ], ), ], ), next_downbeat=quantizationtools.QGridLeaf( preprolated_duration=1, q_event_proxies=[ quantizationtools.QEventProxy( quantizationtools.TerminalQEvent(200), 0.9, ), ], ), ) pickled = pickle.loads(pickle.dumps(q_grid)) assert format(pickled) == format(q_grid) assert pickled is not q_grid assert pickled != q_grid, \ systemtools.TestManager.diff(pickled, q_grid, 'Diff:')
def test_quantizationtools_QGrid___eq___02(): a = quantizationtools.QGrid( root_node=quantizationtools.QGridContainer( preprolated_duration=1, children=[ quantizationtools.QGridLeaf( preprolated_duration=1, q_event_proxies=[ quantizationtools.QEventProxy( quantizationtools.SilentQEvent(100), 0.5, ), ], ), ], ), next_downbeat=quantizationtools.QGridLeaf( preprolated_duration=1, q_event_proxies=[ quantizationtools.QEventProxy( quantizationtools.TerminalQEvent(200), 0.9, ), ], ), ) b = quantizationtools.QGrid( root_node=quantizationtools.QGridContainer( preprolated_duration=1, children=[ quantizationtools.QGridLeaf( preprolated_duration=1, q_event_proxies=[ quantizationtools.QEventProxy( quantizationtools.SilentQEvent(100), 0.5, ), ], ), ], ), next_downbeat=quantizationtools.QGridLeaf( preprolated_duration=1, q_event_proxies=[ quantizationtools.QEventProxy( quantizationtools.TerminalQEvent(200), 0.9, ), ], ), ) assert format(a) == format(b) assert a != b
def test_quantizationtools_QGrid___eq___03(): a = quantizationtools.QGrid() b = quantizationtools.QGrid(root_node=quantizationtools.QGridContainer( preprolated_duration=1, children=[ quantizationtools.QGridLeaf( preprolated_duration=1, q_event_proxies=[ quantizationtools.QEventProxy( quantizationtools.SilentQEvent(100), 0.5) ], ), ], ), ) c = quantizationtools.QGrid(next_downbeat=quantizationtools.QGridLeaf( preprolated_duration=1, q_event_proxies=[ quantizationtools.QEventProxy( quantizationtools.TerminalQEvent(200), 0.9), ], ), ) d = quantizationtools.QGrid( root_node=quantizationtools.QGridContainer( preprolated_duration=1, children=[ quantizationtools.QGridLeaf( preprolated_duration=1, q_event_proxies=[ quantizationtools.QEventProxy( quantizationtools.SilentQEvent(100), 0.5), ], ), ], ), next_downbeat=quantizationtools.QGridLeaf( preprolated_duration=1, q_event_proxies=[ quantizationtools.QEventProxy( quantizationtools.TerminalQEvent(200), 0.9, ), ], ), ), assert a != b assert a != c assert a != d assert b != c assert b != d assert c != d
def test_quantizationtools_QGridLeaf___eq___02(): a = quantizationtools.QGridLeaf(1, []) b = quantizationtools.QGridLeaf(1, [ quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1000), 0.5) ]) c = quantizationtools.QGridLeaf(2, []) d = quantizationtools.QGridLeaf(2, [ quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1000), 0.5) ]) assert a != b assert a != c assert a != d assert b != c assert b != d assert c != d
def test_quantizationtools_QGridLeaf___copy___02(): leaf = quantizationtools.QGridLeaf(2, [ quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1000), 0.5) ]) copied = copy.copy(leaf) assert format(leaf) == format(copied) assert leaf != copied assert leaf is not copied
def test_quantizationtools_QGrid___call___01(): q_grid = quantizationtools.QGrid() a = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(0, ['A']), 0) b = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 20), ['B']), (1, 20)) c = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((9, 20), ['C']), (9, 20)) d = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 2), ['D']), (1, 2)) e = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((11, 20), ['E']), (11, 20)) f = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((19, 20), ['F']), (19, 20)) g = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1, ['G']), 1) q_grid.fit_q_events([a, b, c, d, e, f, g]) result = q_grid((1, 4)) assert len(result) == 1 assert format(result[0]) == "c'4" annotation = abjad.inspect(result[0]).get_indicator(dict) q_events = annotation['q_events'] assert isinstance(q_events, tuple) and len(q_events) == 4 assert q_events[0].attachments == ('A', ) assert q_events[1].attachments == ('B', ) assert q_events[2].attachments == ('C', ) assert q_events[3].attachments == ('D', )
def test_quantizationtools_QGrid___call___03(): r'''Non-binary works too. ''' q_grid = quantizationtools.QGrid() q_grid.subdivide_leaves([(0, (1, 1))]) a = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(0, ['A']), 0) b = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 20), ['B']), (1, 20)) c = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((9, 20), ['C']), (9, 20)) d = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 2), ['D']), (1, 2)) e = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((11, 20), ['E']), (11, 20)) f = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((19, 20), ['F']), (19, 20)) g = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1, ['G']), 1) q_grid.fit_q_events([a, b, c, d, e, f, g]) result = q_grid((1, 3)) assert isinstance(result, list) and len(result) == 1 assert format(result[0]) == abjad.String.normalize(r''' \tweak edge-height #'(0.7 . 0) \times 2/3 { c'4 c'4 } ''')
def test_quantizationtools_QGrid_fit_q_events_01(): q_grid = quantizationtools.QGrid() a = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(0, ['A']), 0) b = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 20), ['B']), (1, 20)) c = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((9, 20), ['C']), (9, 20)) d = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 2), ['D']), (1, 2)) e = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((11, 20), ['E']), (11, 20)) f = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((19, 20), ['F']), (19, 20)) g = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1, ['G']), 1) q_grid.fit_q_events([a, b, c, d, e, f, g]) assert q_grid.leaves[0].q_event_proxies == [a, b, c, d] assert q_grid.leaves[1].q_event_proxies == [e, f, g] q_events = q_grid.subdivide_leaves([(0, (1, 1))]) q_grid.fit_q_events(q_events) assert q_grid.leaves[0].q_event_proxies == [a, b] assert q_grid.leaves[1].q_event_proxies == [c, d, e] assert q_grid.leaves[2].q_event_proxies == [g, f]
def test_quantizationtools_QGrid___call___02(): q_grid = quantizationtools.QGrid() q_grid.subdivide_leaves([(0, (1, 1, 1))]) q_grid.subdivide_leaves([(1, (1, 1))]) q_grid.subdivide_leaves([(-2, (1, 1, 1))]) a = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(0, ['A']), 0) b = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 20), ['B']), (1, 20)) c = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((9, 20), ['C']), (9, 20)) d = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 2), ['D']), (1, 2)) e = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((11, 20), ['E']), (11, 20)) f = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((19, 20), ['F']), (19, 20)) g = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1, ['G']), 1) q_grid.fit_q_events([a, b, c, d, e, f, g]) result = q_grid((1, 4)) assert isinstance(result, list) and len(result) == 1 assert format(result[0]) == abjad.String.normalize(r''' \times 2/3 { c'8 c'16 c'16 \times 2/3 { c'16 c'16 c'16 } } ''') leaves = abjad.select(result[0]).leaves() leaf = leaves[0] annotation = abjad.inspect(leaf).get_indicator(dict) q_events = annotation['q_events'] assert isinstance(q_events, tuple) and len(q_events) == 2 assert q_events[0].attachments == ('A', ) assert q_events[1].attachments == ('B', ) leaf = leaves[1] assert not abjad.inspect(leaf).get_indicator(dict) leaf = leaves[2] annotation = abjad.inspect(leaf).get_indicator(dict) q_events = annotation['q_events'] assert isinstance(q_events, tuple) and len(q_events) == 3 assert q_events[0].attachments == ('C', ) assert q_events[1].attachments == ('D', ) assert q_events[2].attachments == ('E', ) for leaf in leaves[3:6]: assert not abjad.inspect(leaf).get_indicators(dict)
def test_quantizationtools_QGrid_subdivide_leaf_01(): q_grid = quantizationtools.QGrid() a = quantizationtools.QEventProxy(quantizationtools.PitchedQEvent(0, [0]), 0) b = quantizationtools.QEventProxy(quantizationtools.PitchedQEvent((9, 20), [1]), (9, 20)) c = quantizationtools.QEventProxy(quantizationtools.PitchedQEvent((1, 2), [2]), (1, 2)) d = quantizationtools.QEventProxy(quantizationtools.PitchedQEvent((11, 20), [3]), (11, 20)) e = quantizationtools.QEventProxy(quantizationtools.PitchedQEvent(1, [4]), 1) q_grid.leaves[0].q_event_proxies.extend([a, b, c, d]) q_grid.leaves[1].q_event_proxies.append(e) result = q_grid.subdivide_leaf(q_grid.leaves[0], (2, 3)) assert result == [a, b, c, d] root_node = quantizationtools.QGridContainer( children=[ quantizationtools.QGridLeaf(preprolated_duration=2, q_event_proxies=[]), quantizationtools.QGridLeaf(preprolated_duration=3, q_event_proxies=[]), ], preprolated_duration=1 ) assert format(q_grid.root_node) == format(root_node)
def __call__(self, job_id): r'''Calls q-target beat. Returns quantization job. ''' from abjad.tools import quantizationtools if not self.q_events: return None assert all( isinstance(x, quantizationtools.QEvent) for x in self.q_events) q_event_proxies = [] for q_event in self.q_events: q_event_proxy = quantizationtools.QEventProxy( q_event, self.offset_in_ms, self.offset_in_ms + self.duration_in_ms, ) q_event_proxies.append(q_event_proxy) return quantizationtools.QuantizationJob(job_id, self.search_tree, q_event_proxies)
def test_quantizationtools_QGrid_distance_01(): q_grid = quantizationtools.QGrid() assert q_grid.distance is None a = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(0, ['A']), 0) q_grid.fit_q_events([a]) assert q_grid.distance == abjad.Offset(0) b = quantizationtools.QEventProxy(quantizationtools.SilentQEvent((1, 20), ['B']), (1, 20)) q_grid.fit_q_events([b]) assert q_grid.distance == abjad.Offset(1, 40) c = quantizationtools.QEventProxy(quantizationtools.SilentQEvent((9, 20), ['C']), (9, 20)) q_grid.fit_q_events([c]) assert q_grid.distance == abjad.Offset(1, 6) d = quantizationtools.QEventProxy(quantizationtools.SilentQEvent((1, 2), ['D']), (1, 2)) q_grid.fit_q_events([d]) assert q_grid.distance == abjad.Offset(1, 4) e = quantizationtools.QEventProxy(quantizationtools.SilentQEvent((11, 20), ['E']), (11, 20)) q_grid.fit_q_events([e]) assert q_grid.distance == abjad.Offset(29, 100) f = quantizationtools.QEventProxy(quantizationtools.SilentQEvent((19, 20), ['F']), (19, 20)) q_grid.fit_q_events([f]) assert q_grid.distance == abjad.Offset(1, 4) g = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1, ['G']), 1) q_grid.fit_q_events([g]) assert q_grid.distance == abjad.Offset(3, 14) q_events = q_grid.subdivide_leaves([(0, (1, 1))]) q_grid.fit_q_events(q_events) assert q_grid.distance == abjad.Offset(1, 35)
def test_quantizationtools_QGrid_subdivide_leaves_02(): q_grid = quantizationtools.QGrid() a = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(0, ['A']), 0) b = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 20), ['B']), (1, 20)) c = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((9, 20), ['C']), (9, 20)) d = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 2), ['D']), (1, 2)) e = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((11, 20), ['E']), (11, 20)) f = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((19, 20), ['F']), (19, 20)) g = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1, ['G']), 1) q_grid.leaves[0].q_event_proxies.extend([a, b, c, d]) q_grid.leaves[1].q_event_proxies.extend([e, f, g]) assert q_grid.root_node.rtm_format == '1' q_events = q_grid.subdivide_leaves([(0, (1, 1))]) assert q_events == [a, b, c, d, e, f] assert q_grid.root_node.rtm_format == '(1 (1 1))' q_grid.leaves[0].q_event_proxies.extend([a, b]) q_grid.leaves[1].q_event_proxies.extend([c, d, e]) q_grid.leaves[2].q_event_proxies.append(f) q_events = q_grid.subdivide_leaves([(0, (3, 4, 5))]) assert q_events == [a, b, c] assert q_grid.root_node.rtm_format == '(1 ((1 (3 4 5)) 1))'
def test_quantizationtools_QuantizationJob___call___01(): job_id = 1 definition = {2: {2: {2: None}, 3: None}, 5: None} search_tree = quantizationtools.UnweightedSearchTree(definition) q_event_proxies = [ quantizationtools.QEventProxy( quantizationtools.SilentQEvent(0, ['A'], index=1), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 5), ['B'], index=2), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 4), ['C'], index=3), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 3), ['D'], index=4), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((2, 5), ['E'], index=5), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 2), ['F'], index=6), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((3, 5), ['G'], index=7), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((2, 3), ['H'], index=8), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((3, 4), ['I'], index=9), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((4, 5), ['J'], index=10), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent(1, ['K'], index=11), 0, 1) ] job = quantizationtools.QuantizationJob(job_id, search_tree, q_event_proxies) job() assert len(job.q_grids) == 10 rtm_formats = [q_grid.root_node.rtm_format for q_grid in job.q_grids] rtm_formats.sort(reverse=True) assert rtm_formats == [ '1', '(1 (1 1))', '(1 (1 1 1 1 1))', '(1 ((1 (1 1)) (1 (1 1))))', '(1 ((1 (1 1)) (1 (1 1 1))))', '(1 ((1 (1 1 1)) (1 (1 1))))', '(1 ((1 (1 1 1)) (1 (1 1 1))))', '(1 ((1 (1 1 1)) (1 ((1 (1 1)) (1 (1 1))))))', '(1 ((1 ((1 (1 1)) (1 (1 1)))) (1 (1 1 1))))', '(1 ((1 ((1 (1 1)) (1 (1 1)))) (1 ((1 (1 1)) (1 (1 1))))))' ], rtm_formats
def test_quantizationtools_UnweightedSearchTree__find_divisible_leaf_indices_and_subdivisions_01( ): definition = {2: {2: {2: None}, 3: None}, 5: None} search_tree = quantizationtools.UnweightedSearchTree(definition) q_grid = quantizationtools.QGrid() a = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(0, ['A']), 0, 1) b = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 5), ['B']), 0, 1) c = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 4), ['C']), 0, 1) d = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 3), ['D']), 0, 1) e = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((2, 5), ['E']), 0, 1) f = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 2), ['F']), 0, 1) g = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((3, 5), ['G']), 0, 1) h = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((2, 3), ['H']), 0, 1) i = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((3, 4), ['I']), 0, 1) j = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((4, 5), ['J']), 0, 1) k = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1, ['K']), 0, 1) q_grid.fit_q_events([a, b, c, d, e, f, g, h, i, j, k]) indices, subdivisions = search_tree._find_divisible_leaf_indices_and_subdivisions( q_grid) assert indices == [0] assert subdivisions == [((1, 1), (1, 1, 1, 1, 1))]
def test_quantizationtools_ParallelJobHandler___call___02(): job_id = 1 definition = {2: {2: {2: None}, 3: None}, 5: None} search_tree = quantizationtools.UnweightedSearchTree(definition) q_event_proxies = [ quantizationtools.QEventProxy( quantizationtools.SilentQEvent(0, ['A'], index=1), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 5), ['B'], index=2), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 4), ['C'], index=3), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 3), ['D'], index=4), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((2, 5), ['E'], index=5), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 2), ['F'], index=6), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((3, 5), ['G'], index=7), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((2, 3), ['H'], index=8), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((3, 4), ['I'], index=9), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((4, 5), ['J'], index=10), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent(1, ['K'], index=11), 0, 1) ] job_a = quantizationtools.QuantizationJob(job_id, search_tree, q_event_proxies) job_b = quantizationtools.QuantizationJob(job_id, search_tree, q_event_proxies) assert job_a == job_b a_jobs = quantizationtools.SerialJobHandler()([job_a]) b_jobs = quantizationtools.ParallelJobHandler()([job_b]) assert len(a_jobs) == len(b_jobs) a_rtms = sorted( [q_grid.root_node.rtm_format for q_grid in a_jobs[0].q_grids]) b_rtms = sorted( [q_grid.root_node.rtm_format for q_grid in b_jobs[0].q_grids]) assert a_rtms == b_rtms assert sorted(a_jobs[0].q_grids, key=lambda x: x.root_node.rtm_format) == \ sorted(b_jobs[0].q_grids, key=lambda x: x.root_node.rtm_format)
def test_quantizationtools_WeightedSearchTree___call___01(): definition = { 'divisors': (2, 3, 5, 7), 'max_depth': 3, 'max_divisions': 2, } search_tree = quantizationtools.WeightedSearchTree(definition) q_grid = quantizationtools.QGrid() a = quantizationtools.QEventProxy( quantizationtools.SilentQEvent(0, ['A'], index=1), 0, 1) b = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 5), ['B'], index=2), 0, 1) c = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 4), ['C'], index=3), 0, 1) d = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 3), ['D'], index=4), 0, 1) e = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((2, 5), ['E'], index=5), 0, 1) f = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 2), ['F'], index=6), 0, 1) g = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((3, 5), ['G'], index=7), 0, 1) h = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((2, 3), ['H'], index=8), 0, 1) i = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((3, 4), ['I'], index=9), 0, 1) j = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((4, 5), ['J'], index=10), 0, 1) k = quantizationtools.QEventProxy( quantizationtools.SilentQEvent(1, ['K'], index=11), 0, 1) q_grid.fit_q_events([a, b, c, d, e, f, g, h, i, j, k]) q_grids = search_tree(q_grid) assert [q_grid.root_node.rtm_format for q_grid in q_grids] == [ '(1 (1 1))', '(1 (2 1))', '(1 (1 2))', '(1 (4 1))', '(1 (3 2))', '(1 (2 3))', '(1 (1 4))', '(1 (6 1))', '(1 (5 2))', '(1 (4 3))', '(1 (3 4))', '(1 (2 5))', '(1 (1 6))' ]
def test_quantizationtools_QEventProxy___init___02(): q_event = quantizationtools.PitchedQEvent(130, [0, 1, 4]) proxy = quantizationtools.QEventProxy(q_event, 100, 1000) assert proxy.q_event == q_event assert proxy.offset == abjad.Offset(1, 30)
def test_quantizationtools_QEventProxy___init___01(): q_event = quantizationtools.PitchedQEvent(130, [0]) proxy = quantizationtools.QEventProxy(q_event, 0.5) assert proxy.q_event == q_event assert proxy.offset == abjad.Offset(1, 2)
def test_quantizationtools_QuantizationJob___init___01(): job_id = 1 definition = {2: {2: {2: None}, 3: None}, 5: None} search_tree = quantizationtools.UnweightedSearchTree(definition) q_event_proxies = [ quantizationtools.QEventProxy( quantizationtools.SilentQEvent(0, ['A'], index=1), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 5), ['B'], index=2), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 4), ['C'], index=3), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 3), ['D'], index=4), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((2, 5), ['E'], index=5), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 2), ['F'], index=6), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((3, 5), ['G'], index=7), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((2, 3), ['H'], index=8), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((3, 4), ['I'], index=9), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent((4, 5), ['J'], index=10), 0, 1), quantizationtools.QEventProxy( quantizationtools.SilentQEvent(1, ['K'], index=11), 0, 1) ] job = quantizationtools.QuantizationJob(job_id, search_tree, q_event_proxies) assert job.job_id == job_id assert job.search_tree == search_tree assert job.q_event_proxies == tuple(q_event_proxies)
def test_quantizationtools_QuantizationJob_pickle_01(): job_id = 1 definition = { 2: { 2: { 2: None }, 3: None }, 5: None } search_tree = quantizationtools.UnweightedSearchTree(definition) q_event_proxies = [ quantizationtools.QEventProxy(quantizationtools.SilentQEvent(0, ['A'], index=1), 0, 1), quantizationtools.QEventProxy(quantizationtools.SilentQEvent((1, 5), ['B'], index=2), 0, 1), quantizationtools.QEventProxy(quantizationtools.SilentQEvent((1, 4), ['C'], index=3), 0, 1), quantizationtools.QEventProxy(quantizationtools.SilentQEvent((1, 3), ['D'], index=4), 0, 1), quantizationtools.QEventProxy(quantizationtools.SilentQEvent((2, 5), ['E'], index=5), 0, 1), quantizationtools.QEventProxy(quantizationtools.SilentQEvent((1, 2), ['F'], index=6), 0, 1), quantizationtools.QEventProxy(quantizationtools.SilentQEvent((3, 5), ['G'], index=7), 0, 1), quantizationtools.QEventProxy(quantizationtools.SilentQEvent((2, 3), ['H'], index=8), 0, 1), quantizationtools.QEventProxy(quantizationtools.SilentQEvent((3, 4), ['I'], index=9), 0, 1), quantizationtools.QEventProxy(quantizationtools.SilentQEvent((4, 5), ['J'], index=10), 0, 1), quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1, ['K'], index=11), 0, 1) ] job = quantizationtools.QuantizationJob(job_id, search_tree, q_event_proxies) pickled = pickle.loads(pickle.dumps(job)) assert pickled is not job assert format(pickled) == format(job), \ systemtools.TestManager.diff(pickled, job, 'Diff:') job() pickled = pickle.loads(pickle.dumps(job)) assert pickled is not job assert format(pickled) == format(job), \ systemtools.TestManager.diff(pickled, job, 'Diff:')
def test_quantizationtools_UnweightedSearchTree___call___01(): definition = {2: {2: {2: None}, 3: None}, 5: None} search_tree = quantizationtools.UnweightedSearchTree(definition) q_grid = quantizationtools.QGrid() a = quantizationtools.QEventProxy( quantizationtools.SilentQEvent(0, ['A'], index=1), 0, 1) b = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 5), ['B'], index=2), 0, 1) c = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 4), ['C'], index=3), 0, 1) d = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 3), ['D'], index=4), 0, 1) e = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((2, 5), ['E'], index=5), 0, 1) f = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((1, 2), ['F'], index=6), 0, 1) g = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((3, 5), ['G'], index=7), 0, 1) h = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((2, 3), ['H'], index=8), 0, 1) i = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((3, 4), ['I'], index=9), 0, 1) j = quantizationtools.QEventProxy( quantizationtools.SilentQEvent((4, 5), ['J'], index=10), 0, 1) k = quantizationtools.QEventProxy( quantizationtools.SilentQEvent(1, ['K'], index=11), 0, 1) q_grid.fit_q_events([a, b, c, d, e, f, g, h, i, j, k]) q_grids = search_tree(q_grid) assert q_grids[0].root_node.rtm_format == '(1 (1 1))' assert q_grids[1].root_node.rtm_format == '(1 (1 1 1 1 1))'