AssertJでリストの包除関係をテスト

## 一覧
### リスト同士

| 結果が期待値… | `assertThat(actual).xxx(expected)` |
|:-:|:-:|
| と同じ（順不同） | `containsOnlyElementsOf` <br> `containsExactlyInAnyOrderElementsOf` |
| を全て含む | `containsAll` |
| に全て含まれる | `isSubsetOf` |
| をひとつでも含む | `containsAnyElementsOf` |
| をひとつも含まない | `doesNotContainAnyElementsOf` |

### リストと要素

| 結果が期待値… | `assertThat(actual).xxx(expected)` |
|:-:|:-:|
| に含まれる | `isIn` |
| に含まれない | `isNotIn` |
| を（全て）含む | `contains` |
| を（ひとつも）含まない | `doesNotContain` |

## サンプルコード
全て最後のassertが失敗する。

```java:src/test/java/ListTest.java
import org.junit.jupiter.api.Test;
import java.util.Arrays;
import static org.assertj.core.api.Assertions.assertThat;

public class ListTest {

	@Test
	void equalityTest() {
		assertThat(Arrays.asList(2, 3, 5)).containsOnlyElementsOf(Arrays.asList(3, 5, 2));
		assertThat(Arrays.asList(2, 3, 5)).containsOnlyElementsOf(Arrays.asList(2, 4, 6));
	}

	@Test
	void equalityTest2() {
		assertThat(Arrays.asList(2, 3, 5)).containsExactlyInAnyOrderElementsOf(Arrays.asList(3, 5, 2));
		assertThat(Arrays.asList(2, 3, 5)).containsExactlyInAnyOrderElementsOf(Arrays.asList(2, 4, 6));
	}

	@Test
	void supersetTest() {
		assertThat(Arrays.asList(2, 3, 5)).containsAll(Arrays.asList(3, 5));
		assertThat(Arrays.asList(2, 3, 5)).containsAll(Arrays.asList(3, 5, 2));
		assertThat(Arrays.asList(2, 3, 5)).containsAll(Arrays.asList(1, 2, 3, 4, 5, 6));
	}

	@Test
	void subsetTest() {
		assertThat(Arrays.asList(2, 3, 5)).isSubsetOf(Arrays.asList(1, 2, 3, 4, 5, 6));
		assertThat(Arrays.asList(2, 3, 5)).isSubsetOf(Arrays.asList(3, 5, 2));
		assertThat(Arrays.asList(2, 3, 5)).isSubsetOf(Arrays.asList(3, 5));
	}

	@Test
	void intersectionTest() {
		assertThat(Arrays.asList(2, 3, 5)).containsAnyElementsOf(Arrays.asList(2, 4, 6));
		assertThat(Arrays.asList(2, 3, 5)).containsAnyElementsOf(Arrays.asList(3, 5, 2));
		assertThat(Arrays.asList(2, 3, 5)).containsAnyElementsOf(Arrays.asList(1, 4, 6));
	}

	@Test
	void disjointTest() {
		assertThat(Arrays.asList(2, 3, 5)).doesNotContainAnyElementsOf(Arrays.asList(1, 4, 6));
		assertThat(Arrays.asList(2, 3, 5)).doesNotContainAnyElementsOf(Arrays.asList(2, 4, 6));
	}


	@Test
	void includedTest() {
		assertThat(3).isIn(Arrays.asList(2, 3, 5));
		assertThat(3).isIn(Arrays.asList(2, 4, 6));
	}

	@Test
	void excludedTest() {
		assertThat(3).isNotIn(Arrays.asList(2, 4, 6));
		assertThat(3).isNotIn(Arrays.asList(2, 3, 5));
	}


	@Test
	void includingTest() {
		assertThat(Arrays.asList(2, 3, 5)).contains(3);
		assertThat(Arrays.asList(2, 3, 5)).contains(1, 2, 4, 5, 6);
	}

	@Test
	void excludingTest() {
		assertThat(Arrays.asList(2, 3, 5)).doesNotContain(4);
		assertThat(Arrays.asList(2, 3, 5)).doesNotContain(2, 4, 6);
	}
}
```

### バージョン

```xml:pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.example</groupId>
	<artifactId>test</artifactId>
	<version>1.0-SNAPSHOT</version>

	<dependencies>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-api</artifactId>
			<version>5.3.1</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-engine</artifactId>
			<version>5.3.1</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.assertj</groupId>
			<artifactId>assertj-core</artifactId>
			<version>3.11.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.22.1</version>
			</plugin>
		</plugins>
	</build>
</project>
```