diff --git a/tests/Composer/Test/DependencyResolver/LiteralTest.php b/tests/Composer/Test/DependencyResolver/LiteralTest.php index fac57d893..464272099 100644 --- a/tests/Composer/Test/DependencyResolver/LiteralTest.php +++ b/tests/Composer/Test/DependencyResolver/LiteralTest.php @@ -17,9 +17,47 @@ use Composer\Package\MemoryPackage; class LiteralTest extends \PHPUnit_Framework_TestCase { - public function testLiteral() + protected $package; + + public function setUp() { - $literal = new Literal(new MemoryPackage('foo', '1'), true); - $this->markTestIncomplete('Eh?'); + $this->package = new MemoryPackage('foo', '1'); + $this->package->setId(12); + } + + public function testLiteralWanted() + { + $literal = new Literal($this->package, true); + + $this->assertEquals(12, $literal->getId()); + $this->assertEquals('+'.(string) $this->package, (string) $literal); + } + + public function testLiteralUnwanted() + { + $literal = new Literal($this->package, false); + + $this->assertEquals(-12, $literal->getId()); + $this->assertEquals('-'.(string) $this->package, (string) $literal); + } + + public function testLiteralInverted() + { + $literal = new Literal($this->package, false); + + $inverted = $literal->inverted(); + + $this->assertInstanceOf('\Composer\DependencyResolver\Literal', $inverted); + $this->assertTrue($inverted->isWanted()); + $this->assertSame($this->package, $inverted->getPackage()); + $this->assertFalse($literal->equals($inverted)); + + $doubleInverted = $inverted->inverted(); + + $this->assertInstanceOf('\Composer\DependencyResolver\Literal', $doubleInverted); + $this->assertFalse($doubleInverted->isWanted()); + $this->assertSame($this->package, $doubleInverted->getPackage()); + + $this->assertTrue($literal->equals($doubleInverted)); } }