Given foo (Some file with lines to count):
  foo12345678
  bar12345678
  baz12345678
  four12345678
  five12345678
  six12345678
  seven12345678
  eight12345678
  nine12345678
  ten12345678

Execute(FixLocList should set all the default values correctly):
  AssertEqual
  \ [
  \   {
  \     'text': 'a',
  \     'lnum': 2,
  \     'col': 0,
  \     'bufnr': bufnr('%'),
  \     'vcol': 0,
  \     'type': 'E',
  \     'nr': -1,
  \     'linter_name': 'foobar',
  \   },
  \   {
  \     'text': 'b',
  \     'lnum': 2,
  \     'col': 0,
  \     'bufnr': bufnr('%'),
  \     'vcol': 0,
  \     'type': 'E',
  \     'nr': -1,
  \     'linter_name': 'foobar',
  \   },
  \],
  \ ale#engine#FixLocList(
  \   bufnr('%'),
  \   {'name': 'foobar'},
  \   [{'text': 'a', 'lnum': 2}, {'text': 'b', 'lnum': 2}],
  \ )

Execute(FixLocList should use the values we supply):
  AssertEqual
  \ [
  \   {
  \     'text': 'a',
  \     'lnum': 3,
  \     'col': 4,
  \     'bufnr': 10000,
  \     'vcol': 1,
  \     'type': 'W',
  \     'nr': 42,
  \     'linter_name': 'foobar',
  \   },
  \],
  \ ale#engine#FixLocList(
  \   bufnr('%'),
  \   {'name': 'foobar'},
  \   [{
  \     'text': 'a',
  \     'lnum': 3,
  \     'col': 4,
  \     'bufnr': 10000,
  \     'vcol': 1,
  \     'type': 'W',
  \     'nr': 42,
  \   }],
  \ )

Execute(FixLocList should set items with lines beyond the end to the last line):
  AssertEqual
  \ [
  \   {
  \     'text': 'a',
  \     'lnum': 10,
  \     'col': 0,
  \     'bufnr': bufnr('%'),
  \     'vcol': 0,
  \     'type': 'E',
  \     'nr': -1,
  \     'linter_name': 'foobar',
  \   },
  \],
  \ ale#engine#FixLocList(
  \   bufnr('%'),
  \   {'name': 'foobar'},
  \   [{'text': 'a', 'lnum': 11}],
  \ )

Execute(FixLocList should move line 0 to line 1):
  AssertEqual
  \ [
  \   {
  \     'text': 'a',
  \     'lnum': 1,
  \     'col': 0,
  \     'bufnr': bufnr('%'),
  \     'vcol': 0,
  \     'type': 'E',
  \     'nr': -1,
  \     'linter_name': 'foobar',
  \   },
  \],
  \ ale#engine#FixLocList(
  \   bufnr('%'),
  \   {'name': 'foobar'},
  \   [{'text': 'a', 'lnum': 0}],
  \ )

Execute(FixLocList should convert line and column numbers correctly):
  " The numbers should be 10, not 8 as octals.
  AssertEqual
  \ [
  \   {
  \     'text': 'a',
  \     'lnum': 10,
  \     'col': 10,
  \     'bufnr': bufnr('%'),
  \     'vcol': 0,
  \     'type': 'E',
  \     'nr': -1,
  \     'linter_name': 'foobar',
  \   },
  \],
  \ ale#engine#FixLocList(
  \   bufnr('%'),
  \   {'name': 'foobar'},
  \   [{'text': 'a', 'lnum': '010', 'col': '010'}],
  \ )