fix float-int error in color interpolation and add some more tests

This commit is contained in:
2019-03-10 21:34:27 +01:00
parent 2b7dca8e2f
commit 9b9e3a0d73
4 changed files with 71 additions and 25 deletions

View File

@@ -8,26 +8,71 @@ public class MainNativeActivityTest {
@Test
public void valueToColorRGB_below() {
assertEquals(new MainNativeActivity().valueToColorRGB(
assertEquals(0x719dc3, new MainNativeActivity().valueToColorRGB(
10, 17, 19, 23, 25,
0x719dc3, 0xff00ff00, 0xffd1655d),
0x719dc3);
0x719dc3, 0xff00ff00, 0xffd1655d));
}
@Test
public void valueToColorRGB_ideal() {
assertEquals(new MainNativeActivity().valueToColorRGB(
assertEquals(0xff00ff00, new MainNativeActivity().valueToColorRGB(
20, 17, 19, 23, 25,
0x719DC3, 0xff00ff00, 0xffd1655d),
0xff00ff00);
0x719DC3, 0xff00ff00, 0xffd1655d));
}
@Test
public void valueToColorRGB_above() {
assertEquals(new MainNativeActivity().valueToColorRGB(
assertEquals(0xffd1655d, new MainNativeActivity().valueToColorRGB(
30, 17, 19, 23, 25,
0x719DC3, 0xff00ff00, 0xffd1655d),
0xffd1655d);
0x719DC3, 0xff00ff00, 0xffd1655d));
}
@Test
public void interpolate_0_255_0() {
assertEquals(0, new MainNativeActivity().interpolate(
0, 255, 0, 100));
}
@Test
public void interpolate_0_255_50() {
assertEquals(127, new MainNativeActivity().interpolate(
0, 255, 50, 100));
}
@Test
public void interpolate_0_255_100() {
assertEquals(255, new MainNativeActivity().interpolate(
0, 255, 100, 100));
}
@Test
public void interpolateColor_00ff00_ff0000_0() {
MainNativeActivity a = new MainNativeActivity();
assertEquals(0xFFFFFF & 0xff00ff00,
a.interpolateColor(0xff00ff00, 0xffff0000, 0, 100));
}
@Test
public void interpolateColor_00ff00_ff0000_50() {
MainNativeActivity a = new MainNativeActivity();
assertEquals(0xFFFFFF & 0xff7f7f00,
a.interpolateColor(0xff00ff00, 0xffff0000, 50, 100));
}
@Test
public void interpolateColor_00ff00_ff0000_100() {
MainNativeActivity a = new MainNativeActivity();
assertEquals(0xFFFFFF & 0xffff0000,
a.interpolateColor(0xff00ff00, 0xffff0000, 100, 100));
}
@Test
public void valueToColorRGB_between_ideal_and_above() {
MainNativeActivity a = new MainNativeActivity();
assertEquals(a.interpolateColor(0xff00ff00, 0xffd1655d, 50, 100),
a.valueToColorRGB(
24, 17, 19, 23, 25,
0x719DC3, 0xff00ff00, 0xffd1655d));
}
}