/** * 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; }