### Question:
ArtifactDownloaderFactoryImpl implements ArtifactDownloaderFactory { public ArtifactDownloader create(List<ArtifactStatus> artifactStatus) { Utilities.checkNull("create", "artifactStatus", artifactStatus); if (artifactStatus.size() == 0) { throw new IllegalArgumentException("create: list parameter must have one or more artifacts"); } return new ArtifactDownloaderImpl(artifactStatus); }  ArtifactDownloader create(List<ArtifactStatus> artifactStatus);  }### Answer:
@Test public final void testCreate() { ArtifactStatus mockArtifactStatus = mockHelper.createMock(ArtifactStatus.class); List<ArtifactStatus> artifactStatusList = new ArrayList<ArtifactStatus>(); artifactStatusList.add(mockArtifactStatus); ArtifactDownloader result = classUnderTest.create(artifactStatusList); List<ArtifactStatus> actualArtifactStatusList = result.getArtifactStatus(); assertEquals(artifactStatusList.size(), actualArtifactStatusList.size()); assertEquals(artifactStatusList.get(0), actualArtifactStatusList.get(0)); }
@Test (expected = IllegalArgumentException.class) public final void testCreateWithEmptyList() { List<ArtifactStatus> artifactStatusList = new ArrayList<ArtifactStatus>(); classUnderTest.create(artifactStatusList); }