VisiChord Chord Visualizer
Acceptance Tests
Adrian Mettler, Gabriel Neer, Erika Rice, Jeff Scherpelz
The acceptance tests will be divided up by use case with an additional category
for actions not covered by the use cases. Each acceptance test will describe the
action done by the user and the response that the user will get from the system.
- User clicks the button for clearing all chords.
- A dialog box asks the user if he really wants to clear all chords.
- If the user selects not to clear all chords, the dialog box
disappears and nothing else occurs.
- Else if the user selects to clear all chords, the dialog box
disappears and all chords are cleared, resetting the display to its
default form.
- User clicks the button to change the breakpoint.
- Another window appears with its own staff display. It asks the
user to select the lowest note to appear on the treble clef by default.
- The user selects the desired breakpoint note by clicking on the
displayed staff. The user may click several positions before coming
to a final decision.
- If the user hits okay, the chosen note is set as the new
breakpoint. Chords previously entered are not affected by this;
future chords entered are.
- Else if the user hits cancel, the breakpoint retains its previous
value.
- User gives the clear chord command either by clicking the clear
chord button, or by hitting the key combination on the tty keyboard.
- The current chord is cleared, leaving an empty slot. The chord is
placed onto the clipboard.
- The user gives the delete command either by clicking the delete
chord button or by hitting the key combination on the tty keyboard.
- The current chord is deleted. The chord is placed on the
clipboard, and the slot is placed onto the end of the undelete buffer.
- All chords to the right are shifted left to fill the gap, and the
chord immediately to the right of the deleted chord becomes the current
chord.
- User presses and holds at least one key on the MIDI keyboard.
- If this key is the insert key, the insert action is taken.
- Else notes pressed are added to the current chord.
- User may press and release keys, as long as at least one key is
held down.
- Subsequent notes are also added to the chord.
- User releases all keys.
- If the user tries to enter a chord that is out of range and `x'
appears on the staff. The `x' will disappear once any other action is
taken by the user.
- If the note is too high, the `x' appears at the top of the
staff.
- If the note is too low, the `x' appears at the bottom of
the staff.
- A new blank chord is inserted to the right of the current chord,
shifting all chords to the right of the current chord one slot to the
right.
- The new blank chord is selected and becomes the current chord.
- User clicks on one of the `keys' on the piano display.
- If the note represented by the key is already part of the chord,
it will be removed from the chord, and the visual indicator on the key
will disappear.
- Else if the note represented by the key is not part of the chord,
it will be added to the chord, and the visual indicator on the key will
appear.
- User clicks on a ledger line on the staff.
- If there is a note on that line, the note will be removed from the
chord.
- If the user was holding down a modifier key, it will be
ignored.
- Else if an alternate representation of the note is already present
in the chord, an `x' will appear on that line. The `x' will disappear
once any other action is taken by the user.
- Else a note will be added to the chord on that ledger line.
- If no modifier keys are held down, the note will be added
as a natural.
- If a modifier key is held down, the note will be added as
either a sharp or a flat.
- The piano keyboard display is updated.
- User clicks in the text box that holds the chord set title.
- The user types in some characters.
- If the number of characters exceeds the length limit of the field,
the program beeps and no more characters are accepted.
- If the user hits enter or if the user clicks outside of the title
field, the title input ends and the text in the field becomes the new
title.
- User clicks in the tty input text box.
- User types in some text.
- If the user clicks out of the box without hitting enter, the text
entered stays in the box but no notes are added to the current chord.
- The user hits enter.
- If anything that is not a note appears in the text field, no notes
are added to the current chord. The text is highlighted from the first
error until the end of the text.
- If out of range notes are in the input, those notes will be
ignored and an `x' will indicate that notes were out of range. The `x'
will disappear once any other action is taken by the user.
- If notes are too high, the `x' appears at the top of the
staff.
- If notes are too low, the `x' appears at the bottom of the
staff.
- If the input duplicates notes that are already in the chord, those
notes will be ignored.
- If an alternate representation of the note is already present in
the chord, an `x' will appear on corresponding line of the staff. The
`x' will disappear once any other action is taken by the user.
- If the input is correct, the notes are added to the current chord.
- The staff and piano display are updated.
- User clicks in the text box that holds the chord title.
- The user types in some characters.
- If the number of characters exceeds the length limit of the field,
the program beeps and no more characters are accepted.
- If the user hits enter or if the user clicks outside of the title
field, the title input ends and the text in the field becomes the new
chord title.
- User clicks the Insert Chord button.
- A new Slot is created with a blank chord, and inserted directly
after the current chord. This new chord is then selected.
- The screen is updated to show the new, selected slot. If the
insertion took place on the right edge of the screen, the display will
automatically scroll over one position so the new, selected chord is on
screen.
- User presses the pre-designated key on the MIDI keyboard.
- A new Slot is created with a blank chord, and inserted directly
after the current chord. This new chord is then selected.
- The screen is updated to show the new, selected slot. If the
insertion took place on the right edge of the screen, the display will
automatically scroll over one position so the new, selected chord is on
screen.
- User presses the pre-designated key combination on the tty
keyboard.
- A new Slot is created with a blank chord, and inserted directly
after the current chord. This new chord is then selected.
- The screen is updated to show the new, selected slot. If the
insertion took place on the right edge of the screen, the display will
automatically scroll over one position so the new, selected chord is on
screen.
- User clicks on the load button or pushes the load key sequence on
the tty keyboard.
- A standard load dialog box appears on the screen.
- If the action is cancelled, nothing happens.
- Else if the user selects a file the file is loaded and parsed.
- The chord set title is erased and replaced with the contents of
the first line of the input file. If this text is too long, it will be
cut off at the length limit.
- The chord set is cleared. Each chord specified in the file is
read in and appended to the list of chords.
- The text preceding each chord becomes the chord title.
If this text is too long, it will be cut off at the length
limit.
- A `|' within the sequence of notes will specify which
clef the notes go on. Notes before the bar will go on the bass
clef, and notes after the bar will go on the treble clef. If a
note cannot go on the clef it is assigned to, a message will
be displayed in the error summary once the file is done loading.
- Duplicate notes (by value, not by representation) will be skipped
after the first instance. If a note is duplicated, a message will be
displayed in the error summary once the file is done loading.
- Out-of-range notes will be skipped. If a note is out-of-range,
a message will be displayed in the error summary once the file is done
loading.
- Invalid note format (i.e. malformed syntax) in a chord will
terminate input of that chord at that point; prior notes will remain on
the staff. Parsing of the file will continue with the remaining chords.
A message will be displayed in the error summary once the file is done
loading.
- After the file is loaded, if there were any errors, an
error box will pop up indicating which chords had which types of errors.
- Box will disappear when the `OK' button is hit.
- The display is updated to show the new title and chord set.
- User clicks the transpose button.
- Chord plays.
- User presses the Paste button or types the hotkey.
- If there is nothing on the clipboard, nothing happens.
NOTE: The Paste button is disabled.
- Else, the chord on the clipboard replaces the current chord. If
the current chord was not previously empty, its contents are now placed
on the clipboard.
- The display is updated to include the newly pasted chord.
- User clicks on one of the chords.
- If the chord is the currently selected chord, the
appropriate non-selection action happens.
- Else if the chord is not the currently selected chord and is
neither the beginning or end slot, that chord becomes selected.
- If the playback option is on, the chord is played.
- Else if the user clicks on the beginning or end slot, a new chord
is added and selected.
- If the user clicks on the beginning slot, an empty chord
is added at the beginning.
- Else if the user clicks on the end slot, an empty chord
is added at the end.
- User clicks on the save button or pushes the save key sequence on
the tty keyboard.
- A standard save dialog box appears on the screen.
- If the chord set has been saved before, the previous name of the
chord appears in the File name box.
- Else the File name box is empty.
- The user types a new name into the File name box if the title in
there is not the desired title. The user selects the location though the
typical interface. Either of these actions may proceed the other.
- If the user clicks on the save button or hits enter if he is in
the File name box, the file attempts to save.
- If the title and save location are the same as that of an
already existing file, the user is asked if he wants to save
over that file.
- If he says yes, the file is saved and the save
dialog disappears.
- Else if he says no, the file will not be saved
and program will go back to the save dialog.
- Else the file attempts to save with the given name.
- If no name is entered, an error will be given and
the file will not be saved. The program will go back to
the save dialog.
- Else the file is saved and the save dialog
disappears.
- Else if the user clicks on the cancel button, the file does not
save and the save dialog disappears.
- User clicks on the left or right scroll arrow.
- If the currently selected chord is not next to the beginning
or end slot on the side to which the user is scrolling, the appropriate
chord becomes selected.
- If the left scroll arrow is clicked, the chord to the
left is selected.
- Else if the right scroll arrow is clicked, the chord to
the right is selected.
- In either case, if the playback option is on, the chord plays.
- Else if the currently selected chord is next to the beginning
or end slot on the side to which the user is scrolling and is
not blank, a new blank chord is added and becomes selected.
- If the left scroll arrow is clicked, a new chord is
added at the beginning.
- Else if the right scroll arrow is clicked, a new chord is
added at the end.
- Else if the currently selected chord is next to the beginning
or end slot on the side to which the user is scrolling and
is blank, the blank chord stays selected and no new chords are added.
NOTE: The arrow that corresponds to the direction the user cannot scroll
will be disabled.
- User clicks on a transpose arrow.
- If the up arrow is clicked and any note of the chord is at the
top ledger limit, nothing will happen. NOTE: The up arrow will be
disabled.
- Else if the down arrow is clicked and any not of the chord is at
the bottom ledger limit, nothing will happen. NOTE: The down arrow will
be disabled.
- Else if the up arrow is clicked, the values of all the notes in
the chord increase by one half step.
- If any note in the bass clef is moved above the
mid-ledger limit, that note is moved onto the treble clef.
- Else if the down arrow is clicked, the values of all the notes in
the chord decrease by one half step.
- If any note in the treble clef is moved below the
mid-ledger limit, that note is moved onto the bass clef.
- User clicks undelete button or pushes the undelete key sequence
on the tty keyboard.
- If there is a slot in the undelete buffer, that slot is put back
into its original position. That slot becomes the currently selected
slot.
- Else if there are no slots in the undelete buffer, nothing
happens. NOTE: the undelete button will be disabled.
- If the user clicks on the quit button or hits the quit key
sequence, the program will end.
- If the user clicks on a part of the screen that an action has not
been specified for, nothing will happen.
- If the user types any text when not in a text box or if the user
hits key sequences which are not defined, nothing will happen.
VisiChord Chord Visualizer
Acceptance Tests
This document was generated using the
LaTeX2HTML translator Version 2K.1beta (1.48)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -split 0 -no_navigation acceptance.tex
The translation was initiated by Jeff Scherpelz on 2002-05-07
Jeff Scherpelz
2002-05-07