Code review comment: I think `contains` and `containsInAnyOrder` already do the size check meaning the that list must contain exactly as many items as matchers are specified.

Code under review:
public void testMatchVcores() {
		final int minMemMB = 100;
		final int minVcore = 10;
		final WorkerSpecContainerResourceAdapter adapter =
			new WorkerSpecContainerResourceAdapter(
				getConfigProcessSpecEqualsWorkerSpec(),
				minMemMB,
				minVcore,
				Integer.MAX_VALUE,
				Integer.MAX_VALUE,
				WorkerSpecContainerResourceAdapter.MatchingStrategy.MATCH_VCORE);

		final WorkerResourceSpec workerSpec1 = new WorkerResourceSpec.Builder()
			.setCpuCores(1.0)
			.setTaskHeapMemoryMB(10)
			.setTaskOffHeapMemoryMB(10)
			.setNetworkMemoryMB(10)
			.setManagedMemoryMB(10)
			.build();
		final WorkerResourceSpec workerSpec2 = new WorkerResourceSpec.Builder()
			.setCpuCores(10.0)
			.setTaskHeapMemoryMB(25)
			.setTaskOffHeapMemoryMB(25)
			.setNetworkMemoryMB(25)
			.setManagedMemoryMB(25)
			.build();
		final WorkerResourceSpec workerSpec3 = new WorkerResourceSpec.Builder()
			.setCpuCores(5.0)
			.setTaskHeapMemoryMB(30)
			.setTaskOffHeapMemoryMB(30)
			.setNetworkMemoryMB(30)
			.setManagedMemoryMB(30)
			.build();
		final WorkerResourceSpec workerSpec4 = new WorkerResourceSpec.Builder()
			.setCpuCores(15.0)
			.setTaskHeapMemoryMB(10)
			.setTaskOffHeapMemoryMB(10)
			.setNetworkMemoryMB(10)
			.setManagedMemoryMB(10)
			.build();

		final Resource containerResource1 = Resource.newInstance(100, 10);
		final Resource containerResource2 = Resource.newInstance(200, 10);
		final Resource containerResource3 = Resource.newInstance(100, 20);

		assertThat(adapter.getWorkerSpecs(containerResource1), empty());
		assertThat(adapter.getWorkerSpecs(containerResource2), empty());

		assertThat(adapter.getContainerResource(workerSpec1).get(), is(containerResource1));
		assertThat(adapter.getContainerResource(workerSpec2).get(), is(containerResource1));
		assertThat(adapter.getContainerResource(workerSpec3).get(), is(containerResource2));
		assertThat(adapter.getContainerResource(workerSpec4).get(), is(containerResource3));

		assertThat(adapter.getWorkerSpecs(containerResource1), hasSize(2));
		assertThat(adapter.getWorkerSpecs(containerResource2), hasSize(1));
		assertThat(adapter.getWorkerSpecs(containerResource3), hasSize(1));
		assertThat(adapter.getWorkerSpecs(containerResource1), containsInAnyOrder(workerSpec1, workerSpec2));
		assertThat(adapter.getWorkerSpecs(containerResource2), contains(workerSpec3));
		assertThat(adapter.getWorkerSpecs(containerResource3), contains(workerSpec4));
	}

Line commented on: assertThat(adapter.getWorkerSpecs(containerResource3), hasSize(1));

Revised code:
public void testMatchVcores() {
		final WorkerSpecContainerResourceAdapter.MatchingStrategy strategy =
			WorkerSpecContainerResourceAdapter.MatchingStrategy.MATCH_VCORE;
		final int minMemMB = 100;
		final int minVcore = 10;
		final WorkerSpecContainerResourceAdapter adapter =
			new WorkerSpecContainerResourceAdapter(
				getConfigProcessSpecEqualsWorkerSpec(),
				minMemMB,
				minVcore,
				Integer.MAX_VALUE,
				Integer.MAX_VALUE);

		final WorkerResourceSpec workerSpec1 = new WorkerResourceSpec.Builder()
			.setCpuCores(1.0)
			.setTaskHeapMemoryMB(10)
			.setTaskOffHeapMemoryMB(10)
			.setNetworkMemoryMB(10)
			.setManagedMemoryMB(10)
			.build();
		final WorkerResourceSpec workerSpec2 = new WorkerResourceSpec.Builder()
			.setCpuCores(10.0)
			.setTaskHeapMemoryMB(25)
			.setTaskOffHeapMemoryMB(25)
			.setNetworkMemoryMB(25)
			.setManagedMemoryMB(25)
			.build();
		final WorkerResourceSpec workerSpec3 = new WorkerResourceSpec.Builder()
			.setCpuCores(5.0)
			.setTaskHeapMemoryMB(30)
			.setTaskOffHeapMemoryMB(30)
			.setNetworkMemoryMB(30)
			.setManagedMemoryMB(30)
			.build();
		final WorkerResourceSpec workerSpec4 = new WorkerResourceSpec.Builder()
			.setCpuCores(15.0)
			.setTaskHeapMemoryMB(10)
			.setTaskOffHeapMemoryMB(10)
			.setNetworkMemoryMB(10)
			.setManagedMemoryMB(10)
			.build();

		final Resource containerResource1 = Resource.newInstance(100, 10);
		final Resource containerResource2 = Resource.newInstance(200, 10);
		final Resource containerResource3 = Resource.newInstance(100, 20);

		assertThat(adapter.getWorkerSpecs(containerResource1, strategy), empty());
		assertThat(adapter.getWorkerSpecs(containerResource2, strategy), empty());

		assertThat(adapter.tryComputeContainerResource(workerSpec1).get(), is(containerResource1));
		assertThat(adapter.tryComputeContainerResource(workerSpec2).get(), is(containerResource1));
		assertThat(adapter.tryComputeContainerResource(workerSpec3).get(), is(containerResource2));
		assertThat(adapter.tryComputeContainerResource(workerSpec4).get(), is(containerResource3));

		assertThat(adapter.getWorkerSpecs(containerResource1, strategy), containsInAnyOrder(workerSpec1, workerSpec2));
		assertThat(adapter.getWorkerSpecs(containerResource2, strategy), contains(workerSpec3));
		assertThat(adapter.getWorkerSpecs(containerResource3, strategy), contains(workerSpec4));
	}