blob: d29182df4e04b92f8e14af3ad198a1af6e7ae6ab [file] [log] [blame]
/*
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.graphics.cts;
import android.graphics.Color;
import android.test.AndroidTestCase;
import dalvik.annotation.TestTargets;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetNew;
import dalvik.annotation.TestTargetClass;
@TestTargetClass(Color.class)
public class ColorTest extends AndroidTestCase {
@TestTargets({
@TestTargetNew(
level = TestLevel.COMPLETE,
method = "alpha",
args = {int.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
method = "Color",
args = {}
)
})
public void testAlpha(){
assertEquals(0xff, Color.alpha(Color.RED));
assertEquals(0xff, Color.alpha(Color.YELLOW));
new Color();
}
@TestTargetNew(
level = TestLevel.COMPLETE,
method = "argb",
args = {int.class, int.class, int.class, int.class}
)
public void testArgb(){
assertEquals(Color.RED, Color.argb(0xff, 0xff, 0x00, 0x00));
assertEquals(Color.YELLOW, Color.argb(0xff, 0xff, 0xff, 0x00));
}
@TestTargetNew(
level = TestLevel.COMPLETE,
method = "blue",
args = {int.class}
)
public void testBlue(){
assertEquals(0x00, Color.blue(Color.RED));
assertEquals(0x00, Color.blue(Color.YELLOW));
}
@TestTargetNew(
level = TestLevel.COMPLETE,
method = "green",
args = {int.class}
)
public void testGreen(){
assertEquals(0x00, Color.green(Color.RED));
assertEquals(0xff, Color.green(Color.GREEN));
}
@TestTargets({
@TestTargetNew(
level = TestLevel.COMPLETE,
method = "HSVToColor",
args = {float[].class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
method = "colorToHSV",
args = {int.class, float[].class}
)
})
public void testHSVToColor1(){
//abnormal case: hsv length less than 3
try{
float[] hsv = new float[2];
Color.HSVToColor(hsv);
fail("shouldn't come to here");
}catch(RuntimeException e){
//expected
}
float[] hsv = new float[3];
Color.colorToHSV(Color.RED, hsv);
assertEquals(Color.RED, Color.HSVToColor(hsv));
}
@TestTargets({
@TestTargetNew(
level = TestLevel.COMPLETE,
method = "HSVToColor",
args = {int.class, float[].class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
method = "colorToHSV",
args = {int.class, float[].class}
)
})
public void testHSVToColor2(){
//abnormal case: hsv length less than 3
try{
float[] hsv = new float[2];
Color.HSVToColor(hsv);
fail("shouldn't come to here");
}catch(RuntimeException e){
//expected
}
float[] hsv = new float[3];
Color.colorToHSV(Color.RED, hsv);
assertEquals(Color.RED, Color.HSVToColor(0xff, hsv));
}
@TestTargetNew(
level = TestLevel.COMPLETE,
method = "parseColor",
args = {java.lang.String.class}
)
public void testParseColor(){
//abnormal case: colorString starts with '#' but length is neither 7 nor 9
try{
Color.parseColor("#ff00ff0");
fail("should come to here");
}catch(IllegalArgumentException e){
//expected
}
assertEquals(Color.RED, Color.parseColor("#ff0000"));
assertEquals(Color.RED, Color.parseColor("#ffff0000"));
//abnormal case: colorString doesn't start with '#' and is unknown color
try{
Color.parseColor("hello");
fail("should come to here");
}catch(IllegalArgumentException e){
//expected
}
assertEquals(Color.BLACK, Color.parseColor("black"));
assertEquals(Color.DKGRAY, Color.parseColor("darkgray"));
assertEquals(Color.GRAY, Color.parseColor("gray"));
assertEquals(Color.LTGRAY, Color.parseColor("lightgray"));
assertEquals(Color.WHITE, Color.parseColor("white"));
assertEquals(Color.RED, Color.parseColor("red"));
assertEquals(Color.GREEN, Color.parseColor("green"));
assertEquals(Color.BLUE, Color.parseColor("blue"));
assertEquals(Color.YELLOW, Color.parseColor("yellow"));
assertEquals(Color.CYAN, Color.parseColor("cyan"));
assertEquals(Color.MAGENTA, Color.parseColor("magenta"));
}
@TestTargetNew(
level = TestLevel.COMPLETE,
method = "red",
args = {int.class}
)
public void testRed(){
assertEquals(0xff, Color.red(Color.RED));
assertEquals(0xff, Color.red(Color.YELLOW));
}
@TestTargetNew(
level = TestLevel.COMPLETE,
method = "rgb",
args = {int.class, int.class, int.class}
)
public void testRgb(){
assertEquals(Color.RED, Color.rgb(0xff, 0x00, 0x00));
assertEquals(Color.YELLOW, Color.rgb(0xff, 0xff, 0x00));
}
@TestTargetNew(
level = TestLevel.COMPLETE,
method = "RGBToHSV",
args = {int.class, int.class, int.class, float[].class}
)
public void testRGBToHSV(){
//abnormal case: hsv length less than 3
try{
float[] hsv = new float[2];
Color.RGBToHSV(0xff, 0x00, 0x00, hsv);
fail("shouldn't come to here");
}catch(RuntimeException e){
//expected
}
float[] hsv = new float[3];
Color.RGBToHSV(0xff, 0x00, 0x00, hsv);
assertEquals(Color.RED, Color.HSVToColor(hsv));
}
}