import { It } from "../test-utils";
import "./sequence-equal";

It(
  "compares two sequences of numbers as true",
  (s) => s.sequence_equal([1, 2, 3]),
  true
);
It(
  "compares two sequences of numbers as false",
  (s) => s.sequence_equal([3, 2, 1]),
  false
);

It(
  "compares two sequences of strings as true",
  (s) => s.sequence_equal(["1", "2", "3"]),
  true,
  ["1", "2", "3"]
);
It(
  "compares two sequences of strings as false",
  (s) => s.sequence_equal(["3", "2", "1"]),
  false,
  ["1", "2", "3"]
);

It(
  "compares two sequences of booleans as true",
  (s) => s.sequence_equal([true, false]),
  true,
  [true, false]
);
It(
  "compares two sequences of booleans as false",
  (s) => s.sequence_equal([false, true]),
  false,
  [true, false]
);

It(
  "compares two sequences of numbers as true",
  (s) =>
    s.sequence_equal(
      [{ test: 1 }, { test: 2 }, { test: 3 }],
      (a, b) => a.test === b.test
    ),
  true,
  [{ test: 1 }, { test: 2 }, { test: 3 }]
);
It(
  "compares two sequences of numbers as false",
  (s) =>
    s.sequence_equal(
      [{ test: 3 }, { test: 2 }, { test: 1 }],
      (a, b) => a.test === b.test
    ),
  false,
  [{ test: 1 }, { test: 2 }, { test: 3 }]
);
