/**
  * Test the getAvailableFields() method
  */
 public function testGetAvailableFields()
 {
     $allFields = CustomImport::getAllFields();
     $allCount = count($allFields);
     $import = new CustomImport();
     $import->setName("NewImport12");
     // Assign everything
     $import->setAssignedFields($allFields);
     $available = $import->getAvailableFields();
     $this->assertTrue(is_array($available));
     $this->assertEquals(0, count($available));
     // Assign 3 fields
     $assign = array("empId", "firstName", "gender");
     $import->setAssignedFields($assign);
     $available = $import->getAvailableFields();
     $this->assertTrue(is_array($available));
     $this->assertEquals($allCount - 3, count($available));
     $expected = $allFields;
     unset($expected[array_search("empId", $expected)]);
     unset($expected[array_search("firstName", $expected)]);
     unset($expected[array_search("gender", $expected)]);
     // Verify arrays equal
     $diff = array_diff($expected, $available);
     $this->assertEquals(0, count($diff), "Arrays should be equal");
 }
 /**
  * Get the available fields (fields not yet assigned to this CustomImport)
  *
  * @return array Array of fields not yet assigned to this CustomImport object
  */
 public function getAvailableFields()
 {
     $allFields = CustomImport::getAllFields();
     $available = array_diff($allFields, $this->assignedFields);
     return $available;
 }