def test_set_note_for_step_range_sets_value_and_hold_state_correctly_on_all_steps( self): sequencer = Sequencer(0, 1, 4, 4) sequencer.set_note_for_step_range(0, 3, 12) self.assertEquals(sequencer.steps[0].value, 12) self.assertFalse(sequencer.steps[0].is_hold) self.assertEquals(sequencer.steps[1].value, 12) self.assertTrue(sequencer.steps[1].is_hold) self.assertEquals(sequencer.steps[2].value, 12) self.assertTrue(sequencer.steps[2].is_hold) self.assertEquals(sequencer.steps[3].value, 12) self.assertTrue(sequencer.steps[3].is_hold)
def test_set_note_for_step_range_wont_override_a_step_that_is_already_set( self): sequencer = Sequencer(0, 1, 4, 4) sequencer.set_note_for_step(2, 12) sequencer.set_note_for_step_range(0, 3, 99) self.assertEquals(sequencer.steps[0].value, 99) self.assertFalse(sequencer.steps[0].is_hold) self.assertEquals(sequencer.steps[1].value, 99) self.assertTrue(sequencer.steps[1].is_hold) # Test previous step hasn't been overridden self.assertEquals(sequencer.steps[2].value, 12) self.assertFalse(sequencer.steps[2].is_hold) # Test next step after non-hold step is blank self.assertIsNone(sequencer.steps[3].value) self.assertFalse(sequencer.steps[3].is_hold)