def test_split_below_max_table_size(self): seq_rows = SequencerRows() seq_rows.add_seq_entry(4, Trigger.POSB_LT, 400, 1000, 0, 1, 50) seq_rows.add_seq_entry(3, Trigger.BITA_0, 300, 2000, 1, 0, 100) expected = SequencerRows() expected.add_seq_entry(4, Trigger.POSB_LT, 400, 1000, 0, 1, 50) expected.add_seq_entry(2, Trigger.BITA_0, 300, 2000, 1, 0, 100) expected.add_seq_entry(1, Trigger.BITA_0, 300, 2000, 1, 0, 100 + SEQ_TABLE_SWITCH_DELAY) remainder = seq_rows.split(100) assert seq_rows.as_tuples() == expected.as_tuples() assert remainder.as_tuples() == SequencerRows().as_tuples()
def test_split_with_final_row_zero_repeat(self): seq_rows = SequencerRows() seq_rows.add_seq_entry(4, Trigger.POSB_LT, 400, 1000, 0, 1, 50) seq_rows.add_seq_entry(3, Trigger.BITA_0, 300, 2000, 1, 0, 100) seq_rows.add_seq_entry(0, Trigger.IMMEDIATE, 300, 2000, 0, 1, 100) expected = SequencerRows() # End of scan - no switch delay expected.add_seq_entry(4, Trigger.POSB_LT, 400, 1000, 0, 1, 50) expected.add_seq_entry(3, Trigger.BITA_0, 300, 2000, 1, 0, 100) expected.add_seq_entry(0, Trigger.IMMEDIATE, 300, 2000, 0, 1, 100) remainder = seq_rows.split(3) assert seq_rows.as_tuples() == expected.as_tuples() assert remainder.as_tuples() == SequencerRows().as_tuples()
def test_split_with_final_row_one_repeat(self): seq_rows = SequencerRows() seq_rows.add_seq_entry(4, Trigger.POSB_LT, 400, 1000, 0, 1, 50) seq_rows.add_seq_entry(3, Trigger.BITA_0, 300, 2000, 1, 0, 100) seq_rows.add_seq_entry(1, Trigger.POSB_LT, 300, 2000, 0, 1, 100) expected = SequencerRows() expected.add_seq_entry(4, Trigger.POSB_LT, 400, 1000, 0, 1, 50) expected.add_seq_entry(3, Trigger.BITA_0, 300, 2000, 1, 0, 100) expected.add_seq_entry(1, Trigger.POSB_LT, 300, 2000, 0, 1, 100 + SEQ_TABLE_SWITCH_DELAY) remainder = seq_rows.split(3) assert seq_rows.as_tuples() == expected.as_tuples() assert remainder.as_tuples() == SequencerRows().as_tuples()