Before:
  call ale#assert#SetUpLinterTest('swift', 'swiftformat')

After:
  call ale#assert#TearDownLinterTest()

Execute(Should use default command when not in a swift package):
  call ale#test#SetFilename('../swift-test-files/non-swift-package-project/src/folder/dummy.swift')

  AssertLinter 'swift-format',
  \ ale#Escape('swift-format') . ' --mode lint %t'

Execute(Should use swift run when in a swift package):
  call ale#test#SetFilename('../swift-test-files/swift-package-project/src/folder/dummy.swift')

  AssertLinter 'swift',
  \ ale#Escape('swift') . ' run swift-format --mode lint %t'

Execute(Should let users configure a global executable and override local paths):
  call ale#test#SetFilename('../swift-test-files/swift-package-project/src/folder/dummy.swift')

  let g:ale_swift_swiftformat_executable = '/path/to/custom/swift-format'

  AssertLinter '/path/to/custom/swift-format',
  \ ale#Escape('/path/to/custom/swift-format') . ' --mode lint %t'