@Test
 public void getExecutionStatusesShouldOneSomeWhenBlockedIsTrue() {
   builder =
       new TestLinkBuilder(
           null,
           null,
           null,
           null,
           null,
           Boolean.FALSE,
           Boolean.FALSE,
           Boolean.FALSE,
           Boolean.TRUE,
           null,
           null,
           null,
           null,
           null,
           null,
           null,
           null);
   Set<ExecutionStatus> statuses = builder.getExecutionStatuses();
   assertThat(statuses, hasSize(1));
   assertThat(statuses, contains(ExecutionStatus.BLOCKED));
 }
 @Test
 public void getExecutionStatusesShouldReturnSomeWhenSomeAreTrue() {
   builder =
       new TestLinkBuilder(
           null,
           null,
           null,
           null,
           null,
           Boolean.TRUE,
           Boolean.FALSE,
           Boolean.TRUE,
           Boolean.FALSE,
           null,
           null,
           null,
           null,
           null,
           null,
           null,
           null);
   Set<ExecutionStatus> statuses = builder.getExecutionStatuses();
   assertThat(statuses, hasSize(2));
   assertThat(statuses, contains(ExecutionStatus.NOT_RUN, ExecutionStatus.FAILED));
 }
 @Test
 public void getExecutionStatusesShouldReturnAllWhenAllAreFalse() {
   builder =
       new TestLinkBuilder(
           null,
           null,
           null,
           null,
           null,
           Boolean.FALSE,
           Boolean.FALSE,
           Boolean.FALSE,
           Boolean.FALSE,
           null,
           null,
           null,
           null,
           null,
           null,
           null,
           null);
   Set<ExecutionStatus> statuses = builder.getExecutionStatuses();
   assertThat(statuses, hasSize(4));
   assertThat(
       statuses,
       contains(
           ExecutionStatus.NOT_RUN,
           ExecutionStatus.PASSED,
           ExecutionStatus.FAILED,
           ExecutionStatus.BLOCKED));
 }
  /** Tests the generated list of custom fields. */
  @Bug(13173)
  public void testListOfCustomFields() {
    EnvVars envVars = new EnvVars();
    @SuppressWarnings({"unchecked", "rawtypes"})
    VariableResolver<String> varRes = new ByMap.ByMap(envVars);

    envVars.put("BUILD_ID", "1");
    String[] customFieldsNames = builder.createArrayOfCustomFieldsNames(varRes, envVars);

    assertNotNull(customFieldsNames);
    assertTrue(customFieldsNames.length == 3);
    assertEquals(customFieldsNames[0], "class");
    assertEquals(customFieldsNames[1], "time");
    assertEquals(customFieldsNames[2], "sample-job-1");
  }
  public void testNull() {
    builder =
        new TestLinkBuilder(
            null, null, null, null, null, null, null, null, null, null, null, null, null, null,
            null, null, null);

    assertNotNull(builder);

    assertNull(builder.getTestLinkName());

    assertNull(builder.getTestProjectName());

    assertNull(builder.getTestPlanName());

    assertNull(builder.getBuildName());

    assertNull(builder.getSingleBuildSteps());

    assertNull(builder.getBeforeIteratingAllTestCasesBuildSteps());

    assertNull(builder.getIterativeBuildSteps());

    assertNull(builder.getAfterIteratingAllTestCasesBuildSteps());

    assertNull(builder.getCustomFields());

    assertNull(builder.getTransactional());

    assertNull(builder.getFailIfNoResults());
  }
  /** Tests getters methods. */
  public void testGetters() {

    Shell shell = new Shell("ls -la");
    List<BuildStep> singleBuildSteps = new ArrayList<BuildStep>();
    singleBuildSteps.add(shell);

    builder =
        new TestLinkBuilder(
            "No testlink",
            "No project",
            "No plan",
            "No build",
            "class, time",
            Boolean.FALSE,
            Boolean.FALSE,
            Boolean.FALSE,
            Boolean.FALSE,
            singleBuildSteps,
            null,
            null,
            null,
            Boolean.FALSE,
            Boolean.FALSE,
            Boolean.FALSE,
            null);

    assertNotNull(hudson);
    // FreeStyleProject project = new FreeStyleProject(hudson, "No project");
    // assertNotNull ( (AbstractProject<?, ?>)builder.getProjectAction(project) );

    assertNotNull(builder.getTestLinkName());
    assertEquals(builder.getTestLinkName(), "No testlink");

    assertNotNull(builder.getTestProjectName());
    assertEquals(builder.getTestProjectName(), "No project");

    assertNotNull(builder.getTestPlanName());
    assertEquals(builder.getTestPlanName(), "No plan");

    assertNotNull(builder.getBuildName());
    assertEquals(builder.getBuildName(), "No build");

    assertNotNull(builder.getSingleBuildSteps());
    assertEquals(builder.getSingleBuildSteps(), singleBuildSteps);
    assertEquals(builder.getSingleBuildSteps().size(), 1);

    assertNotNull(builder.getCustomFields());
    assertEquals(builder.getCustomFields(), "class, time");

    assertFalse(builder.getTransactional());
    assertFalse(builder.getFailIfNoResults());
  }