### Question:
JobService extends AbstractService { public Job createJob(String name, JobConfiguration configuration) { checkArgumentNotNull(name, "Name cannot be null"); checkArgumentNotNull(configuration, "JobConfiguration cannot be null"); client().postForLocation(SEGMENT_CREATE_ITEM + "?name=" + name, configuration); return getJob(name); } JobService();  JobService(JenkinsClient client); List<Job> getJobs(); Job createJob(String name, JobConfiguration configuration); Job updateJob(String name, JobConfiguration configuration); Job updateJob(Job job, JobConfiguration configuration); void deleteJob(String name); void deleteJob(Job job); Job getJob(String name); JobConfiguration getJobConfiguration(Job job); JobConfiguration getJobConfiguration(String name); Long triggerBuild(Job job); Long triggerBuild(Job job, Map<String, Object> parameters); Build getBuild(Job job, Long buildNumber); Build getBuild(String name, Long buildNumber); Build triggerBuildAndWait(Job job); Build triggerBuildAndWait(Job job, Map<String, Object> parameters);  }### Answer:
@Test(expected = IllegalArgumentException.class) public void createJob_WithNullName_ThrowsException() throws Exception { service.createJob(null, jobConfiguration); }
@Test(expected = IllegalArgumentException.class) public void createJob_WithNullJobConfiguration_ThrowsException() throws Exception { service.createJob("vacuum.my.room", null); }
@Test public void createJob() throws Exception { service.createJob("vacuum.my.room", jobConfiguration); verify(client).postForLocation("/createItem?name=vacuum.my.room", jobConfiguration); }