Skip to content

How to test an adaptation

bboc edited this page Feb 20, 2023 · 2 revisions

How to test an adaptation

Setup

  • Create a user adaptation directory via the options menu
  • create a new (empty) libary so that you see what's going on (and don't mess up your real library)

Device Detection

name()

  • When
    • the adapation is added to the user adaptation directory
    • and the Orm is (re-)started
  • Then the Adaptation name is displayed in the list in the setup tab

Device Detection

Functions tested:

  • createDeviceDetectMessage()
  • channelIfValidDeviceResponse()
  • needsChannelSpecificDetection()
  • deviceDetectWaitMilliseconds()

Steps:

  • Given
    • the adapation is activated in the setup tab
    • and the device is connected
  • When
    • the Auto-Detect button is clicked
  • Then
    • the device's usb ports and channel are detected properly
    • and the button with the name of the device is underlined in green

Importing Sounds

Function tested:

  • friendlyProgramName()
  • bankDescriptors()
  • isSingleProgramDump()
  • isPartOfSingleProgramDump()
  • createProgramDumpRequest()
  • nameFromDump()

Steps:

  • Given:
    • the adaptation does not implement the Bank Dump Capability
    • and the Library tab is selected
    • and the adaptation is selected
    • and in the dropdown "Name and #" is selected
  • When one of the empty (red) banks is selected in the tree
  • Then
    • all patches in the bank is are imported
    • the panels in the library show the correct names
    • the panels in the library show the correct bank names and program locations
    • the name of the bank in the tree is no longer red, but white
    • the tree shows the correct number of banks and the correct bank names

bankSelect()

  • Given: two banks have been imported
  • When the second bank is selected
  • And a patch in that bank is selected
  • Then that patch is also selected in the device

calculateFingerprint()

Steps:

  • Given:
    • one bank in the device is not imported into KnobKraft
  • When
    • one sound in that bank is copied to another location in the same bank, but with a different name
    • and the bank is imported into KnobKraft (by clicking on the bank name in the tree)
  • Then
    • the duplicate patch is not added to the library (only the name of the first patch is added, not the second/duplicate)

setupHelp()

  • Given the adapation is activated
  • When the Adaptation tab is selected
  • And the adaptation is selected with its button
  • Then the setup help text is visible in the left panel

functions without tests

  • isDefaultName()

  • renamePatch()

  • isEditBufferDump()

  • isPartOfEditBufferDump()

  • createEditBufferRequest()

  • convertToEditBuffer()

  • convertToProgramDump()

  • isPartOfBankDump()

  • isBankDumpFinished()

  • extractPatchesFromBank()

  • generalMessageDelay()

  • friendlyBankName()

Clone this wiki locally