test(tracker): test loading presets in fuzz tests

This commit is contained in:
5684185+vsariola@users.noreply.github.com 2024-09-06 22:03:52 +03:00
parent 59fb39d9b3
commit 61e7da5dab
2 changed files with 8 additions and 0 deletions

View File

@ -76,6 +76,8 @@ func (s *modelFuzzState) Iterate(yield func(string, func(p string, t *testing.T)
s.IterateAction("AddOrderRowBefore", s.model.AddOrderRow(true), yield, seed) s.IterateAction("AddOrderRowBefore", s.model.AddOrderRow(true), yield, seed)
s.IterateAction("DeleteOrderRowForward", s.model.DeleteOrderRow(false), yield, seed) s.IterateAction("DeleteOrderRowForward", s.model.DeleteOrderRow(false), yield, seed)
s.IterateAction("DeleteOrderRowBackward", s.model.DeleteOrderRow(true), yield, seed) s.IterateAction("DeleteOrderRowBackward", s.model.DeleteOrderRow(true), yield, seed)
// just test loading one of the presets
s.IterateAction("LoadPreset", s.model.LoadPreset(seed%tracker.NumPresets()), yield, seed)
// Tables // Tables
s.IterateTable("Order", s.model.Order().Table(), yield, seed) s.IterateTable("Order", s.model.Order().Table(), yield, seed)
s.IterateTable("Notes", s.model.Notes().Table(), yield, seed) s.IterateTable("Notes", s.model.Notes().Table(), yield, seed)

View File

@ -135,6 +135,12 @@ func (m *Model) IterateInstrumentPresets(yield InstrumentPresetYieldFunc) {
} }
} }
func NumPresets() int {
return len(instrumentPresets)
}
// LoadPreset loads a preset from the list of instrument presets. The index
// should be within the range of 0 to NumPresets()-1.
func (m *Model) LoadPreset(index int) Action { func (m *Model) LoadPreset(index int) Action {
return Action{do: func() { return Action{do: func() {
defer m.change("LoadPreset", PatchChange, MajorChange)() defer m.change("LoadPreset", PatchChange, MajorChange)()