package kg.apc.charting;
import org.junit.Assert;
import org.junit.Test;
import java.awt.*;
public class LabelToColorMappingTest {
@Test
public void canDetectInvalidHtmlColor() {
LabelToColorMapping mapping = new LabelToColorMapping();
Color c = mapping.parseStandardHtmlColor("foo");
Assert.assertNull("Should have received null, since 'foo' is not a standard html color", c);
}
@Test
public void canDetectValidHtmlColor() {
LabelToColorMapping mapping = new LabelToColorMapping();
Color c = mapping.parseStandardHtmlColor("Red");
Assert.assertEquals("Should have received red, since 'foo' is not a standard html color", new Color(0xFF0000), c);
}
@Test
public void canDetectValidCaseInsensitiveHtmlColor() {
LabelToColorMapping mapping = new LabelToColorMapping();
Color c = mapping.parseStandardHtmlColor("red");
Assert.assertEquals("Should have received red, since 'foo' is not a standard html color", new Color(0xFF0000), c);
}
@Test
public void canGetColorMappedFromColorName() {
LabelToColorMapping mapping = new LabelToColorMapping();
Color c = mapping.parseStandardHtmlColor("Red");
mapping.addMapping("CPU", c);
Color actualColor = mapping.getColorForLabel("MyServer CPU");
Color expectedColor = new Color(0xFF0000);
Assert.assertEquals("The color for my CPU label was supposed to be red", expectedColor, actualColor);
}
@Test
public void canGetColorMappedFromCaseInsensitiveColorName() {
LabelToColorMapping mapping = new LabelToColorMapping();
Color c = mapping.parseStandardHtmlColor("Red");
mapping.addMapping("CPU", c);
Color actualColor = mapping.getColorForLabel("MyServer CPU");
Color expectedColor = new Color(0xFF0000);
Assert.assertEquals("The color for my CPU label was supposed to be red", expectedColor, actualColor);
}
@Test
public void canGetColorMappedFromColorNameForCaseInsensitiveLabel() {
LabelToColorMapping mapping = new LabelToColorMapping();
Color c = mapping.parseStandardHtmlColor("red");
mapping.addMapping("cpU", c);
Color actualColor = mapping.getColorForLabel("MyServer CPU");
Color expectedColor = new Color(0xFF0000);
Assert.assertEquals("The color for my CPU label was supposed to be red", expectedColor, actualColor);
}
@Test
public void canGetColorMappedFromHexColor() {
LabelToColorMapping mapping = new LabelToColorMapping();
Color c = mapping.parseStandardHtmlColor("#FF0000");
mapping.addMapping("CPU", c);
Color actualColor = mapping.getColorForLabel("MyServer CPU");
Color expectedColor = new Color(0xFF0000);
Assert.assertEquals("The color for my CPU label was supposed to be red", expectedColor, actualColor);
}
@Test
public void canDetectNoMap() {
LabelToColorMapping mapping = new LabelToColorMapping();
Color c = mapping.parseStandardHtmlColor("#FF0000");
mapping.addMapping("foobar", c);
Color actualColor = mapping.getColorForLabel("MyServer CPU");
Assert.assertNull("A mapping was found for my label, even though zero mappings were added.", actualColor);
}
@Test
public void canGetColorMappedFromColorName_mappingFromConfigString() {
LabelToColorMapping mapping = LabelToColorMapping.load("CPU=Red");
Color actualColor = mapping.getColorForLabel("MyServer CPU");
Color expectedColor = new Color(0xFF0000);
Assert.assertEquals("The color for my CPU label was supposed to be red", expectedColor, actualColor);
}
@Test
public void canGetColorMappedFromHexColor_mappingFromConfigString() {
LabelToColorMapping mapping = LabelToColorMapping.load("CPU=#FF0000");
Color actualColor = mapping.getColorForLabel("MyServer CPU");
Color expectedColor = new Color(0xFF0000);
Assert.assertEquals("The color for my CPU label was supposed to be red", expectedColor, actualColor);
}
@Test
public void canDetectNoMap_mappingFromConfigString() {
LabelToColorMapping mapping = LabelToColorMapping.load("foobar=#FF0000");
Color actualColor = mapping.getColorForLabel("MyServer CPU");
Assert.assertNull("A mapping was found for my label, even though zero mappings were added.", actualColor);
}
}