def METHOD_NAME(self):  # verify data types
    for data in (np.zeros((2, 1)), ("test",), [24, 42], {"foo": "bar"}, True, 42):
        output = switch_endianness(data, "<")
        self.assertEqual(type(data), type(output))
    before = np.array((20, 20), dtype=">i2")
    expected_float = before.astype(float)
    after = switch_endianness(before)
    np.testing.assert_allclose(after.astype(float), expected_float)
    self.assertEqual(after.dtype.byteorder, "<")
    before = np.array((20, 20), dtype="<i2")
    expected_float = before.astype(float)
    after = switch_endianness(before)
    np.testing.assert_allclose(after.astype(float), expected_float)
    before = np.array(["1.12", "-9.2", "42"], dtype=np.string_)
    after = switch_endianness(before)
    np.testing.assert_array_equal(before, after)
    with self.assertRaises(NotImplementedError):
        switch_endianness(np.zeros((2, 1)), "=")
    with self.assertRaises(RuntimeError):
        switch_endianness(Path("test"), "<")