mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-13 02:32:09 +10:00
fix tests
This commit is contained in:
@@ -101,7 +101,9 @@ public class CalcUtils {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
double luminance = calculateLuminance(color);
|
double luminance = calculateLuminance(color);
|
||||||
Color monochromeColor = (luminance < threshold) ? Color.BLACK : Color.WHITE;
|
// Use <= to handle edge case where luminance equals threshold (should be white)
|
||||||
|
// Add small epsilon to account for floating point precision issues
|
||||||
|
Color monochromeColor = (luminance < threshold - 1e-10) ? Color.BLACK : Color.WHITE;
|
||||||
// Preserve alpha channel if present
|
// Preserve alpha channel if present
|
||||||
if (color.getAlpha() < 255) {
|
if (color.getAlpha() < 255) {
|
||||||
monochromeColor = new Color(monochromeColor.getRed(), monochromeColor.getGreen(),
|
monochromeColor = new Color(monochromeColor.getRed(), monochromeColor.getGreen(),
|
||||||
|
|||||||
@@ -229,8 +229,17 @@ public class CalcUtilsTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testConvertToMonochromeWithAlpha() {
|
public void testConvertToMonochromeWithAlpha() {
|
||||||
// Test color with alpha channel - alpha should be preserved
|
// Test color with alpha channel - alpha should be preserved
|
||||||
|
// Red (255, 0, 0) has luminance ~76, which is < 128, so it becomes BLACK
|
||||||
Color transparentRed = new Color(255, 0, 0, 128);
|
Color transparentRed = new Color(255, 0, 0, 128);
|
||||||
Color result = CalcUtils.convertToMonochrome(transparentRed);
|
Color result = CalcUtils.convertToMonochrome(transparentRed);
|
||||||
|
assertEquals(Color.BLACK.getRed(), result.getRed());
|
||||||
|
assertEquals(Color.BLACK.getGreen(), result.getGreen());
|
||||||
|
assertEquals(Color.BLACK.getBlue(), result.getBlue());
|
||||||
|
assertEquals(128, result.getAlpha());
|
||||||
|
|
||||||
|
// Test light color with alpha - should become WHITE
|
||||||
|
Color transparentLight = new Color(255, 255, 200, 128);
|
||||||
|
result = CalcUtils.convertToMonochrome(transparentLight);
|
||||||
assertEquals(Color.WHITE.getRed(), result.getRed());
|
assertEquals(Color.WHITE.getRed(), result.getRed());
|
||||||
assertEquals(Color.WHITE.getGreen(), result.getGreen());
|
assertEquals(Color.WHITE.getGreen(), result.getGreen());
|
||||||
assertEquals(Color.WHITE.getBlue(), result.getBlue());
|
assertEquals(Color.WHITE.getBlue(), result.getBlue());
|
||||||
|
|||||||
Reference in New Issue
Block a user