/** * * @param ILess_Node_Color $color1 The first color * @param ILess_Node_Color $color2 The second color */ public function negation(ILess_Node_Color $color1, ILess_Node_Color $color2) { $color1Rgb = $color1->getRGB(); $color2Rgb = $color2->getRGB(); $r = 255 - abs(255 - $color2Rgb[0] - $color1Rgb[0]); $g = 255 - abs(255 - $color2Rgb[1] - $color1Rgb[1]); $b = 255 - abs(255 - $color2Rgb[2] - $color1Rgb[2]); return $this->rgb($r, $g, $b); }
/** * @covers operate */ public function testOperate() { $env = new ILess_Environment(); $color = new ILess_Node_Color('#ffffff'); $other = new ILess_Node_Color('#ff0000'); $result = $color->operate($env, '+', $other); // new color is returned $this->assertInstanceOf('ILess_Node_Color', $result); $this->assertEquals($result->getRGB(), array(255, 255, 255)); }