diff --git a/java-numbers-4/src/main/java/com/baeldung/number_0xff/Number0xff.java b/java-numbers-4/src/main/java/com/baeldung/number_0xff/Number0xff.java new file mode 100644 index 0000000000..1708afb5a2 --- /dev/null +++ b/java-numbers-4/src/main/java/com/baeldung/number_0xff/Number0xff.java @@ -0,0 +1,20 @@ +package com.baeldung.number_0xff; + +public class Number0xff { + + public static int getRedColor(int rgba) { + return rgba >> 24 & 0xff; + } + + public static int getGreenColor(int rgba) { + return rgba >> 16 & 0xff; + } + + public static int getBlueColor(int rgba) { + return rgba >> 8 & 0xff; + } + + public static int getAlfa(int rgba) { + return rgba & 0xff; + } +} diff --git a/java-numbers-4/src/test/java/com/baeldung/number_0xff/Number0xffUnitTest.java b/java-numbers-4/src/test/java/com/baeldung/number_0xff/Number0xffUnitTest.java new file mode 100644 index 0000000000..b0feaf8628 --- /dev/null +++ b/java-numbers-4/src/test/java/com/baeldung/number_0xff/Number0xffUnitTest.java @@ -0,0 +1,49 @@ +package com.baeldung.number_0xff; + +import org.junit.Test; +import static org.junit.Assert.assertEquals; + +public class Number0xffUnitTest { + + @Test + public void test0xFFAssignedToInteger() { + int x = 0xff; + int expectedValue = 255; + assertEquals(expectedValue, x); + } + + @Test + public void test0xFFAssignedToByte() { + byte y = (byte) 0xff; + int expectedValue = -1; + assertEquals(expectedValue, y); + } + + @Test + public void givenColor_whenGetRedColor_thenExtractRedColor() { + int rgba = 272214023; + int expectedValue = 16; + assertEquals(expectedValue, Number0xff.getRedColor(rgba)); + } + + @Test + public void givenColor_whenGetGreenColor_thenExtractGreenColor() { + int rgba = 272214023; + int expectedValue = 57; + assertEquals(expectedValue, Number0xff.getGreenColor(rgba)); + } + + @Test + public void givenColor_whenGetBlueColor_thenExtractBlueColor() { + int rgba = 272214023; + int expectedValue = 168; + assertEquals(expectedValue, Number0xff.getBlueColor(rgba)); + } + + @Test + public void givenColor_whenGetAlfa_thenExtractAlfa() { + int rgba = 272214023; + int expectedValue = 7; + assertEquals(expectedValue, Number0xff.getAlfa(rgba)); + } +}