package com.github.liblevenshtein.assertion; import java.util.Arrays; import java.util.HashSet; import java.util.Set; import org.testng.annotations.Test; import static com.github.liblevenshtein.assertion.SetAssertions.assertThat; public class SetAssertionsTest { @Test public void testContains() { assertThat(set(1, 2, 3)).contains(2); } @Test(expectedExceptions = AssertionError.class) public void testContainsAgainstInvalid() { assertThat(set(1, 2, 3)).contains(4); } @Test public void testDoesNotContain() { assertThat(set(1, 2, 3)).doesNotContain(4); } @Test(expectedExceptions = AssertionError.class) public void testDoesNotContainAgainstValid() { assertThat(set(1, 2, 3)).doesNotContain(2); } @Test public void testSize() { assertThat(set(1, 2, 3)).hasSize(3); } @Test(expectedExceptions = AssertionError.class) public void testSizeAgainstInvalid() { assertThat(set(1, 2, 3)).hasSize(2); } @Test public void testIsEmpty() { assertThat(set()).isEmpty(); } @Test(expectedExceptions = AssertionError.class) public void testIsEmptyAgainstNonEmpty() { assertThat(set(1, 2, 3)).isEmpty(); } @Test public void testIsNotEmpty() { assertThat(set(1)).isNotEmpty(); } @Test(expectedExceptions = AssertionError.class) public void testIsNotEmptyAgainstEmpty() { assertThat(set()).isNotEmpty(); } @Test public void testIsEqualTo() { assertThat(set(1, 2, 3)) .isEqualTo(set(1, 2, 3)) .isEqualTo(set(2, 3, 1)) .isEqualTo(set(3, 1, 2)) .isEqualTo(set(2, 1, 3)) .isEqualTo(set(1, 3, 2)) .isEqualTo(set(3, 2, 1)) .isEqualTo(set(1, 1, 2, 2, 3, 3)); } @Test(expectedExceptions = AssertionError.class) public void testIsEqualToAgainNotEqual() { assertThat(set(1, 2, 3)).isEqualTo(set(3, 4, 5)); } private Set<Integer> set(final Integer... values) { return new HashSet<>(Arrays.asList(values)); } }