Пример #1
0
 public function testProbeEquivalence()
 {
     $n = new Notification();
     $ident1 = new Identifier($this->getMock('de\\weltraumschaf\\ebnf\\ast\\Node'));
     $ident1->value = "a";
     $ident2 = new Identifier($this->getMock('de\\weltraumschaf\\ebnf\\ast\\Node'));
     $ident2->value = "b";
     $ident1->probeEquivalence(new Terminal($this->getMock('de\\weltraumschaf\\ebnf\\ast\\Node')), $n);
     $this->assertFalse($n->isOk());
     $this->assertEquals("Probed node types mismatch: 'de\\weltraumschafbnf\\ast\\Identifier' != 'de\\weltraumschafbnf\\ast\\Terminal'!", $n->report());
     $n = new Notification();
     $ident1->probeEquivalence($ident2, $n);
     $this->assertFalse($n->isOk());
     $this->assertEquals("Identifier value mismatch: 'a' != 'b'!", $n->report());
     $n = new Notification();
     $ident2->probeEquivalence($ident1, $n);
     $this->assertFalse($n->isOk());
     $this->assertEquals("Identifier value mismatch: 'b' != 'a'!", $n->report());
 }