public function testToPArray()
 {
     $map = m(["one" => "a", "two" => "b", "three" => "c"]);
     $map = $map->toPArray();
     $this->assertTrue(CMap::equals($map, ["one" => "a", "two" => "b", "three" => "c"]));
 }
Beispiel #2
0
 /**
  * Determines if a map is equal to another map.
  *
  * For any two maps to be equal, they need to have the same key-value pairs.
  *
  * You can use your own comparator for the comparison of the values in the maps, but the default comparator has got
  * you covered when comparing scalar values, such as `string`, `int`, `float`, and `bool`. And the default
  * comparator is smart enough to know how to compare objects of those classes that conform to the IEquality or
  * IEqualityAndOrder interface (static or not), including CUStringObject, CArrayObject, CMapObject, CTime etc. See
  * the [CComparator](CComparator.html) class for more on this.
  *
  * @param  map $toMap The second map for comparison.
  * @param  callable $comparator **OPTIONAL. Default is** `CComparator::EQUALITY`. The function or method to be
  * used for the comparison of any two values. If this parameter is provided, the comparator should take two
  * parameters, with the first parameter being a value from *this* map and the second parameter being a value from
  * the second map, and return `true` if the two values are equal and `false` otherwise.
  *
  * @return bool `true` if the two maps are equal, `false` otherwise.
  *
  * @link   CComparator.html CComparator
  */
 public function equals($toMap, $comparator = CComparator::EQUALITY)
 {
     return CMap::equals($this->m_map, $toMap, $comparator);
 }
Beispiel #3
0
 public function testInsertValue()
 {
     $map = ["one" => "a", "two" => "b", "three" => "c"];
     CMap::insertValue($map, "d");
     $this->assertTrue(CMap::equals($map, ["one" => "a", "two" => "b", "three" => "c", 0 => "d"]));
 }