示例#1
0
 public function testEquals()
 {
     // Using the default comparator.
     $map0 = m(["one" => "a", "two" => "b", "three" => "c"]);
     $map1 = m(["one" => "a", "two" => "b", "three" => "c"]);
     $this->assertTrue($map0->equals($map1));
     $map0 = m(["one" => "a", "two" => "b", "three" => "c"]);
     $map1 = m(["one" => "a", "two" => "b", "four" => "c"]);
     $this->assertFalse($map0->equals($map1));
     $map0 = m(["one" => "a", "two" => "b", "three" => "c"]);
     $map1 = m(["one" => "a", "two" => "b", "three" => "d"]);
     $this->assertFalse($map0->equals($map1));
     $map0 = m(["one" => "a", "two" => "b", "three" => "c"]);
     $map1 = m(["one" => "a", "two" => "b", "three" => "C"]);
     $this->assertFalse($map0->equals($map1));
     $map0 = m(["one" => "a", "two" => "b", "three" => "c"]);
     $map1 = m(["one" => "a", "two" => "b", "three" => "c", "four" => "d"]);
     $this->assertFalse($map0->equals($map1));
     $map0 = m(["one" => 1, "two" => 2, "three" => 3]);
     $map1 = m(["one" => 1, "two" => 2, "three" => 3]);
     $this->assertTrue($map0->equals($map1));
     $map0 = m([1, 2, 3]);
     $map1 = m([1, 2, 3]);
     $this->assertTrue($map0->equals($map1));
     $map0 = m([1.2, 3.4, 5.6]);
     $map1 = m([1.2, 3.4, 5.6]);
     $this->assertTrue($map0->equals($map1));
     $map0 = m(["one" => "a", "two" => "b", "three" => "c"]);
     $map1 = m(["one" => u("a"), "two" => u("b"), "three" => u("c")]);
     $this->assertTrue($map0->equals($map1));
     $map0 = new CMapObject();
     $map1 = m(["one" => "a", "two" => "b", "three" => "c"]);
     $this->assertFalse($map0->equals($map1));
     $map0 = m(["one" => "a", "two" => "b", "three" => "c"]);
     $map1 = new CMapObject();
     $this->assertFalse($map0->equals($map1));
     // Using a custom comparator.
     $map0 = m(["one" => "a", "two" => "b", "three" => "c"]);
     $map1 = m(["one" => "A", "two" => "B", "three" => "C"]);
     $comparator = function ($string0, $string1) {
         return $string0->toLowerCase()->equals($string1->toLowerCase());
     };
     $this->assertTrue($map0->equals($map1, $comparator));
 }