package org.mongodb.morphia.query.validation; import org.junit.Test; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import static java.util.Arrays.asList; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; public class ListValueValidatorTest { @Test public void shouldAllowSubclassesOfList() { // given ArrayList<ValidationFailure> validationFailures = new ArrayList<ValidationFailure>(); // when boolean validationApplied = ListValueValidator.getInstance().apply(null, new ArrayList<String>(), validationFailures); // then assertThat(validationApplied, is(true)); assertThat(validationFailures.size(), is(0)); } @Test public void shouldAllowValuesOfList() { // given ArrayList<ValidationFailure> validationFailures = new ArrayList<ValidationFailure>(); // when List<Integer> list = asList(1, 2); boolean validationApplied = ListValueValidator.getInstance().apply(null, list, validationFailures); // then assertThat(validationApplied, is(true)); assertThat(validationFailures.size(), is(0)); } @Test public void shouldNotApplyIfValueIsNotAList() { // given ArrayList<ValidationFailure> validationFailures = new ArrayList<ValidationFailure>(); // when boolean validationApplied = ListValueValidator.getInstance().apply(null, new HashMap<String, Object>(), validationFailures); // then assertThat(validationApplied, is(false)); assertThat(validationFailures.size(), is(0)); } }