Before:
  call ale#assert#SetUpLinterTest('mercury', 'mmc')
  call ale#test#SetFilename('dummy')

After:
  call ale#assert#TearDownLinterTest()

Execute(The default command should be correct):
  AssertLinter 'mmc',
  \ ale#path#BufferCdString(bufnr(''))
  \ . ale#Escape('mmc') . ' --errorcheck-only --make --output-compile-error-lines 100 dummy'

Execute(The executable should be configurable):
  let b:ale_mercury_mmc_executable = 'foo'

  AssertLinter 'foo',
  \ ale#path#BufferCdString(bufnr(''))
  \ . ale#Escape('foo') . ' --errorcheck-only --make --output-compile-error-lines 100 dummy'

Execute(The options should be configurable):
  let b:ale_mercury_mmc_options = '--bar'

  AssertLinter 'mmc',
  \ ale#path#BufferCdString(bufnr(''))
  \ . ale#Escape('mmc') . ' --errorcheck-only --bar dummy'