public function testThatKeysCanBeKeptInArray() { $items = [["a" => "b", "c" => "d"], ["a" => "c", "c" => "e", "d" => "e"], null]; //Default action (delete) $kept_keys = CollectionUtility::keepKeys($items, ["a", "c"]); $this->assertEquals([["a" => "b", "c" => "d"], ["a" => "c", "c" => "e"], []], $kept_keys); //Explicit action (delete) $kept_keys = CollectionUtility::keepKeys($items, ["a", "c"], CollectionUtility::REMOVAL_ACTION_DELETE); $this->assertEquals([["a" => "b", "c" => "d"], ["a" => "c", "c" => "e"], []], $kept_keys); //Nullify action $kept_keys = CollectionUtility::keepKeys($items, ["a", "c"], CollectionUtility::REMOVAL_ACTION_NULLIFY); $this->assertEquals([["a" => "b", "c" => "d"], ["a" => "c", "c" => "e", "d" => null], []], $kept_keys); //Invalid actions try { CollectionUtility::keepKeys($items, ["a", "c"], "invalid"); $this->fail("Expected invalid argument exception"); } catch (\InvalidArgumentException $e) { } }
public function testThatKeysCanBeKeptInMultiDimArray() { $items = [["a" => "b", "c" => "d"], ["a" => "c", "c" => "e", "d" => "e"], null]; $kept_keys = CollectionUtility::keepKeys($items, ["a", "c"]); $this->assertEquals([["a" => "b", "c" => "d"], ["a" => "c", "c" => "e"], []], $kept_keys); }