    @Test
    public void shouldJsonSerialiseAndDeserialise() throws IOException {

        // Given
        final AreIn filter = new AreIn(VALUE1);

        // When
        final String json = JsonSerialiser.serialise(filter);

        // Then
        JsonSerialiser.assertEquals(String.format("{%n" +
                "  \"class\" : \"uk.gov.gchq.koryphe.impl.predicate.AreIn\",%n" +
                "  \"values\" : [{\"uk.gov.gchq.koryphe.util.CustomObj\":{\"value\":\"1\"}}]%n" +
                "}"), json);

        // When 2
        final AreIn deserialisedFilter = JsonSerialiser.deserialise(json, AreIn.class);

        // Then 2
        assertNotNull(deserialisedFilter);
        assertArrayEquals(Collections.singleton(VALUE1).toArray(), deserialisedFilter.getValues().toArray());
    }