2011-09-29 54 views
-1

如果我得到文本的顏色,我得到: java.awt.Color [r = 234,g = 152,b = 28]應該對應橙色 ,但是當我執行斷言:這是不工作顏色java類

assertEquals(Color.ORANGE.ToString(),myText.getColor()); 

預期:java.awt.Color中[R = 255,G = 0,b = 0]但:java.awt.Color中[R = 234,G = 152,b = 28]

有什麼想法嗎?

回答

4

您正在比較String和Color對象。正確斷言是

assertEquals(Color.ORANGE, myText.getColor()); 

另外java.awt.Color.orange是new Color(255, 200, 0);

+0

我得到:java.lang.AssertionError:期望值但是: lola

+3

然後要麼你的測試是錯誤的,要麼你的代碼是錯誤的。事實上,顏色*在你的眼睛看起來是橙色的並不等於橙色,這種顏色非常精確地定義爲r = 255,g = 200,b = 0。 –

0

並且無論如何在Java/AWT/Color.java源ORANGE定義爲:

/** 
* The color orange. In the default sRGB space. 
*/ 
public final static Color orange = new Color(255, 200, 0); 

/** 
* The color orange. In the default sRGB space. 
* @since 1.4 
*/ 
public final static Color ORANGE = orange;