rgbToInt(0, 0, 0); $white = $image -> rgbToInt(255, 255, 255); $image -> setPixel(0, 0, $black); $image -> setPixel(1, 0, $white); $image -> setPixel(0, 1, $white); $image -> setPixel(1, 1, $black); return $image; } public function testPnmEncodeRgb() { // Test image as RGB $encoder = new PnmCodec(); $image = $this -> createRgbTestImage(); // Encode $blob = $encoder -> encode($image, 'pnm'); // Should have auto-selected PPM based on RgbTestImage input $this -> assertEquals(self::PPM_EXAMPLE, $blob); } public function testPbmEncodeRgb() { // Test image as RGB $encoder = new PnmCodec(); $image = $this -> createRgbTestImage(); // Encode $blob = $encoder -> encode($image, 'pbm'); // Check against known-good encoding of PBM $this -> assertEquals(self::PBM_EXAMPLE, $blob); } public function testPbmDecode() { $decoder = new PnmCodec(); $image = $decoder -> decode(self::PBM_EXAMPLE); $this -> assertTrue($image instanceof BlackAndWhiteRasterImage); $this -> assertEquals(self::IMAGE_TEXT, $image -> toString()); } public function testPgmEncodeRgb() { // Test image as RGB $encoder = new PnmCodec(); $image = $this -> createRgbTestImage(); // Encode $blob = $encoder -> encode($image, 'pgm'); // Check against known-good encoding of PGM $this -> assertEquals(self::PGM_EXAMPLE, $blob); } public function testPgmDecode() { $decoder = new PnmCodec(); $image = $decoder -> decode(self::PGM_EXAMPLE); $this -> assertTrue($image instanceof GrayscaleRasterImage); $this -> assertEquals(self::IMAGE_TEXT, $image -> toBlackAndWhite() -> toString()); } public function testPpmEncodeRgb() { // Test image as RGB $encoder = new PnmCodec(); $image = $this -> createRgbTestImage(); // Encode $blob = $encoder -> encode($image, 'ppm'); // Check against known-good encoding of PPM $this -> assertEquals(self::PPM_EXAMPLE, $blob); } public function testPpmDecode() { $decoder = new PnmCodec(); $image = $decoder -> decode(self::PPM_EXAMPLE); $this -> assertTrue($image instanceof RgbRasterImage); $this -> assertEquals(self::IMAGE_TEXT, $image -> toBlackAndWhite() -> toString()); } }