Chris@14: assertInstanceOf( Chris@14: ApplicationName::class, Chris@14: new ApplicationName('foo/bar') Chris@14: ); Chris@14: } Chris@14: Chris@14: public function testUsingInvalidFormatForNameThrowsException() { Chris@14: $this->expectException(InvalidApplicationNameException::class); Chris@14: $this->expectExceptionCode(InvalidApplicationNameException::InvalidFormat); Chris@14: new ApplicationName('foo'); Chris@14: } Chris@14: Chris@14: public function testUsingWrongTypeForNameThrowsException() { Chris@14: $this->expectException(InvalidApplicationNameException::class); Chris@14: $this->expectExceptionCode(InvalidApplicationNameException::NotAString); Chris@14: new ApplicationName(123); Chris@14: } Chris@14: Chris@14: public function testReturnsTrueForEqualNamesWhenCompared() { Chris@14: $app = new ApplicationName('foo/bar'); Chris@14: $this->assertTrue( Chris@14: $app->isEqual($app) Chris@14: ); Chris@14: } Chris@14: Chris@14: public function testReturnsFalseForNonEqualNamesWhenCompared() { Chris@14: $app1 = new ApplicationName('foo/bar'); Chris@14: $app2 = new ApplicationName('foo/foo'); Chris@14: $this->assertFalse( Chris@14: $app1->isEqual($app2) Chris@14: ); Chris@14: } Chris@14: Chris@14: public function testCanBeConvertedToString() { Chris@14: $this->assertEquals( Chris@14: 'foo/bar', Chris@14: new ApplicationName('foo/bar') Chris@14: ); Chris@14: } Chris@14: }