public function visitRationalNode(RationalNode $node) { $p = $node->getNumerator(); $q = $node->getDenominator(); return "{$p}/{$q}:rational"; }
public function visitRationalNode(RationalNode $node) { $p = $node->getNumerator(); $q = $node->getDenominator(); if ($q == 1) { return "{$p}"; } return "\\frac{{$p}}{{$q}}"; }
public function visitRationalNode(RationalNode $node) { $p = $node->getNumerator(); $q = $node->getDenominator(); if ($q == 1) { return "{$p}"; } //if ($p < 1) return "($p/$q)"; return "{$p}/{$q}"; }
public function testCanCreateRationalNode() { $node = new RationalNode(1, 2); $this->assertEquals($node->getNumerator(), 1); $this->assertEquals($node->getDenominator(), 2); $this->assertEquals($node->getValue(), 0.5); $node = new RationalNode(4, 8); $this->assertEquals($node->getNumerator(), 1); $this->assertEquals($node->getDenominator(), 2); $node = new RationalNode(-1, 2); $this->assertEquals($node->getNumerator(), -1); $this->assertEquals($node->getDenominator(), 2); $node = new RationalNode(1, -2); $this->assertEquals($node->getNumerator(), -1); $this->assertEquals($node->getDenominator(), 2); $this->setExpectedException(\UnexpectedValueException::class); $node = new RationalNode(1.2, 2); }