Tests auf Junit5 angepasst

This commit is contained in:
ngb
2022-07-08 16:36:33 +02:00
parent 3030445dcf
commit b3ff1a507e
4 changed files with 173 additions and 269 deletions

View File

@@ -6,6 +6,84 @@ import static org.junit.jupiter.api.Assertions.*;
class ColorTest {
@Test
public void init() {
Color c;
c = new Color();
assertEquals(0, c.getRed());
assertEquals(0, c.getGreen());
assertEquals(0, c.getBlue());
assertEquals(255, c.getAlpha());
c = Color.BLUE;
assertEquals(0, c.getRed());
assertEquals(0, c.getGreen());
assertEquals(255, c.getBlue());
assertEquals(255, c.getAlpha());
c = new Color(50, 133, 64, 33);
assertEquals(50, c.getRed());
assertEquals(133, c.getGreen());
assertEquals(64, c.getBlue());
assertEquals(33, c.getAlpha());
c = new Color(255, 0, 0);
assertEquals(Color.RED, c);
c = new Color(33, 50);
assertEquals(33, c.getRed());
assertEquals(33, c.getGreen());
assertEquals(33, c.getBlue());
assertEquals(50, c.getAlpha());
}
@Test
public void parse() {
Color c;
c = Color.getRGBColor(0x00FF00FF);
assertEquals(0x00FF00FF, c.getRGBA());
assertEquals(255, c.getRed());
assertEquals(0, c.getGreen());
assertEquals(255, c.getBlue());
assertEquals(0, c.getAlpha());
c = Color.getRGBColor(0x33FF3333);
assertEquals(0x33FF3333, c.getRGBA());
assertEquals(255, c.getRed());
assertEquals(51, c.getGreen());
assertEquals(51, c.getBlue());
assertEquals(51, c.getAlpha());
c = Color.parseHexcode("FF00FF");
assertEquals(0xFFFF00FF, c.getRGBA());
assertEquals(255, c.getRed());
assertEquals(0, c.getGreen());
assertEquals(255, c.getBlue());
assertEquals(255, c.getAlpha());
c = Color.parseHexcode("#FF00FF00");
assertEquals(0x00FF00FF, c.getRGBA());
assertEquals(255, c.getRed());
assertEquals(0, c.getGreen());
assertEquals(255, c.getBlue());
assertEquals(0, c.getAlpha());
c = Color.parseHexcode("#333");
assertEquals(0xFF333333, c.getRGBA());
assertEquals(51, c.getRed());
assertEquals(51, c.getGreen());
assertEquals(51, c.getBlue());
assertEquals(255, c.getAlpha());
c = Color.parseHexcode("#33FF0033");
assertEquals(0x3333FF00, c.getRGBA());
assertEquals(51, c.getRed());
assertEquals(255, c.getGreen());
assertEquals(0, c.getBlue());
assertEquals(51, c.getAlpha());
}
@Test
void testEquals() {
@@ -18,7 +96,8 @@ class ColorTest {
assertNotSame(c1, c2);
assertEquals(c1, c2);
assertEquals(Color.YELLOW, java.awt.Color.YELLOW);
Color yellow = new Color(255, 255, 0);
assertEquals(java.awt.Color.YELLOW, yellow);
assertNotEquals(java.awt.Color.YELLOW, Color.YELLOW);
}
@@ -27,28 +106,28 @@ class ColorTest {
Color c;
// Empty color is white
c = new Color();
assertEquals(c, Color.BLACK);
assertEquals(Color.BLACK, c);
// One arg is shade of gray
c = new Color(255);
assertEquals(c, Color.WHITE);
assertEquals(Color.WHITE, c);
c = new Color(0);
assertEquals(c, Color.BLACK);
assertEquals(Color.BLACK, c);
c = new Color(64);
assertEquals(c, Color.DARKGRAY);
assertEquals(Color.DARKGRAY, c);
c = new Color(192);
assertEquals(c, Color.LIGHTGRAY);
assertEquals(Color.LIGHTGRAY, c);
// RGB colors
c = new Color(0,0,0);
assertEquals(c, Color.BLACK);
assertEquals(Color.BLACK, c);
c = new Color(255,0,0);
assertEquals(c, Color.RED);
assertEquals(java.awt.Color.RED, c.getJavaColor());
c = new Color(0,255,0);
assertEquals(c, Color.GREEN);
assertEquals(java.awt.Color.GREEN, c.getJavaColor());
c = new Color(0,0,255);
assertEquals(c, Color.BLUE);
assertEquals(java.awt.Color.BLUE, c.getJavaColor());
// From java.awt.Color
c = new Color(java.awt.Color.YELLOW);
assertEquals(c, Color.YELLOW);
assertEquals(java.awt.Color.YELLOW, c.getJavaColor());
}
@Test
@@ -75,6 +154,18 @@ class ColorTest {
@Test
void RGBtoHSL() {
Color c;
float[] hsl;
c = Color.RED;
hsl = Color.RGBtoHSL(c.getRGBA(), null);
assertArrayEquals(new float[]{0f,1f,.5f}, hsl, 0.0001f);
c = new Color(255, 33, 64);
hsl = Color.RGBtoHSL(c.getRGBA(), null);
assertEquals(352, hsl[0], 1.0f);
assertEquals(1.0f, hsl[1], .0001f);
assertEquals(.5647f, hsl[2], .0001f);
}
@Test
@@ -91,6 +182,7 @@ class ColorTest {
@Test
void getRGBA() {
Color yellow = new Color(255, 255, 0);
assertEquals(java.awt.Color.YELLOW.getRGB(), Color.YELLOW.getRGBA());
}
@@ -111,7 +203,7 @@ class ColorTest {
}
@Test
void getColor() {
void getJavaColor() {
assertEquals(java.awt.Color.YELLOW, Color.YELLOW.getJavaColor());
assertEquals(new java.awt.Color(255, 31, 124), new Color(255, 31, 124).getJavaColor());
}

View File

@@ -1,145 +0,0 @@
package schule.ngb.zm;
import org.junit.Test;
import static org.junit.Assert.*;
public class TestColor {
@Test
public void colors() {
Color c;
c = new Color();
assertEquals(0, c.getRed());
assertEquals(0, c.getGreen());
assertEquals(0, c.getBlue());
assertEquals(255, c.getAlpha());
c = Color.BLUE;
assertEquals(0, c.getRed());
assertEquals(0, c.getGreen());
assertEquals(255, c.getBlue());
assertEquals(255, c.getAlpha());
c = new Color(50, 133, 64, 33);
assertEquals(50, c.getRed());
assertEquals(133, c.getGreen());
assertEquals(64, c.getBlue());
assertEquals(33, c.getAlpha());
c = new Color(255, 0, 0);
assertEquals(Color.RED, c);
c = new Color(33, 50);
assertEquals(33, c.getRed());
assertEquals(33, c.getGreen());
assertEquals(33, c.getBlue());
assertEquals(50, c.getAlpha());
}
@Test
public void parseColors() {
Color c;
c = Color.getRGBColor(0x00FF00FF);
assertEquals(0x00FF00FF, c.getRGBA());
assertEquals(255, c.getRed());
assertEquals(0, c.getGreen());
assertEquals(255, c.getBlue());
assertEquals(0, c.getAlpha());
c = Color.getRGBColor(0x33FF3333);
assertEquals(0x33FF3333, c.getRGBA());
assertEquals(255, c.getRed());
assertEquals(51, c.getGreen());
assertEquals(51, c.getBlue());
assertEquals(51, c.getAlpha());
c = Color.parseHexcode("FF00FF");
assertEquals(0xFFFF00FF, c.getRGBA());
assertEquals(255, c.getRed());
assertEquals(0, c.getGreen());
assertEquals(255, c.getBlue());
assertEquals(255, c.getAlpha());
c = Color.parseHexcode("#FF00FF00");
assertEquals(0x00FF00FF, c.getRGBA());
assertEquals(255, c.getRed());
assertEquals(0, c.getGreen());
assertEquals(255, c.getBlue());
assertEquals(0, c.getAlpha());
c = Color.parseHexcode("#333");
assertEquals(0xFF333333, c.getRGBA());
assertEquals(51, c.getRed());
assertEquals(51, c.getGreen());
assertEquals(51, c.getBlue());
assertEquals(255, c.getAlpha());
c = Color.parseHexcode("#33FF0033");
assertEquals(0x3333FF00, c.getRGBA());
assertEquals(51, c.getRed());
assertEquals(255, c.getGreen());
assertEquals(0, c.getBlue());
assertEquals(51, c.getAlpha());
}
@Test
public void hsl() {
Color c;
float[] hsl;
c = Color.RED;
hsl = Color.RGBtoHSL(c.getRGBA(), null);
assertArrayEquals(new float[]{0f,1f,.5f}, hsl, 0.0001f);
c = new Color(255, 33, 64);
hsl = Color.RGBtoHSL(c.getRGBA(), null);
assertEquals(352, hsl[0], 1.0f);
assertEquals(1.0f, hsl[1], .0001f);
assertEquals(.5647f, hsl[2], .0001f);
}
public static void main( String[] args ) {
new ColorPalette();
}
static class ColorPalette extends Zeichenmaschine {
public static final int SIZE = 10, COLORS = 16;
public void setup() {
setSize(SIZE*COLORS, SIZE*COLORS);
setTitle("Colors");
drawing.noStroke();
drawing.setAnchor(NORTHWEST);
int steps = (int) (255.0/COLORS);
Color c;
for( int i = 0; i < COLORS; i++ ) {
for( int j = 0; j < COLORS; j++ ) {
c = new Color(i * steps, j * steps, (i+j)/2 * steps);
drawing.setFillColor(c);
drawing.rect(i*SIZE, j*SIZE, SIZE, SIZE);
}
}
}
public void draw() {
Color c = Color.HGGREEN;
drawing.setFillColor(c);
drawing.rect(0, 0, width/2, height);
for( int p = 10; p < 100; p += 10 ) {
drawing.setFillColor(c.brighter(p));
drawing.rect(width / 2, 0, width / 2, height / 2);
drawing.setFillColor(c.darker(p));
drawing.rect(width / 2, height / 2, width / 2, height / 2);
delay(1000);
}
}
}
}

View File

@@ -1,112 +0,0 @@
package schule.ngb.zm;
import org.junit.Test;
import java.awt.geom.Point2D;
import static org.junit.Assert.*;
public class TestVector {
@Test
public void testInit() {
Vector vec;
vec = new Vector();
assertEquals(0.0, vec.x, 0.0);
assertEquals(0.0, vec.y, 0.0);
vec = new Vector(4.5, 5.1);
assertEquals(4.5, vec.x, 0.0);
assertEquals(5.1, vec.y, 0.0);
vec = new Vector(vec);
assertEquals(4.5, vec.x, 0.0);
assertEquals(5.1, vec.y, 0.0);
vec = new Vector(Double.MAX_VALUE, Double.MIN_VALUE);
assertEquals(Double.MAX_VALUE, vec.x, 0.0);
assertEquals(Double.MIN_VALUE, vec.y, 0.0);
vec = new Vector(new Point2D.Double(7.2, 3.5677));
assertEquals(7.2, vec.x, 0.0);
assertEquals(3.5677, vec.y, 0.0);
vec = new Vector(new Point2D.Float(7.2f, 3.5677f));
assertEquals(7.2, vec.x, 0.0001);
assertEquals(3.5677, vec.y, 0.0001);
vec.set(new Vector(5.1, 8.9));
assertEquals(5.1, vec.x, 0.0001);
assertEquals(8.9, vec.y, 0.0001);
Vector vec2 = vec.copy();
assertNotSame(vec, vec2);
assertEquals(vec, vec2);
assertEquals(5.1, vec2.x, 0.0001);
assertEquals(8.9, vec2.y, 0.0001);
assertEquals(vec, vec.set(100, 100));
assertEquals(200, vec.set(200, 200).x, 0.0001);
assertEquals(8.9, vec.set(vec2).y, 0.0001);
for( int i = 0; i < 50; i++ ) {
vec = Vector.random();
assertTrue(vec.x >= 0);
assertTrue(vec.y >= 0);
assertTrue(vec.x < 100);
assertTrue(vec.y < 100);
}
for( int i = 1; i < 50; i++ ) {
vec = Vector.random(0, i*10);
assertTrue(vec.x >= 0);
assertTrue(vec.y >= 0);
assertTrue(vec.x < i*10);
assertTrue(vec.y < i*10);
}
for( int i = 1; i < 50; i++ ) {
vec = Vector.random(0, i*10, (i+1)*10, (i+2)*10);
assertTrue(vec.x >= 0);
assertTrue(vec.y >= (i+1)*10);
assertTrue(vec.x < i*10);
assertTrue(vec.y < (i+2)*10);
}
}
@Test
public void testMath() {
Vector vec1, vec2;
vec1 = new Vector(100, 0);
vec1.scale(0.0);
vec2 = new Vector(0, 0);
assertEquals(vec2, vec1);
vec1.add(100, 50);
assertEquals(100, vec1.x, 0.0);
assertEquals(50, vec1.y, 0.0);
vec2.sub(50, 100);
assertEquals(-50, vec2.x, 0.0);
assertEquals(-100, vec2.y, 0.0);
vec2.scale(1.5);
assertEquals(-75, vec2.x, 0.0001);
assertEquals(-150, vec2.y, 0.0001);
assertEquals(100, vec1.set(100,0).length(), 0.0001);
assertEquals(10000, vec1.lengthSq(), 0.0001);
assertEquals(Math.sqrt(50*50 + 60*60), vec1.set(50,60).length(), 0.0001);
assertEquals(1.0, vec1.set(100,0).normalize().length(), 0.0001);
assertEquals(1.0, Vector.random().normalize().length(), 0.0001);
}
@Test
public void testStaticMath() {
}
}

View File

@@ -2,10 +2,79 @@ package schule.ngb.zm;
import org.junit.jupiter.api.Test;
import java.awt.geom.Point2D;
import static org.junit.jupiter.api.Assertions.*;
class VectorTest {
@Test
public void init() {
Vector vec;
vec = new Vector();
assertEquals(0.0, vec.x, 0.0);
assertEquals(0.0, vec.y, 0.0);
vec = new Vector(4.5, 5.1);
assertEquals(4.5, vec.x, 0.0);
assertEquals(5.1, vec.y, 0.0);
vec = new Vector(vec);
assertEquals(4.5, vec.x, 0.0);
assertEquals(5.1, vec.y, 0.0);
vec = new Vector(Double.MAX_VALUE, Double.MIN_VALUE);
assertEquals(Double.MAX_VALUE, vec.x, 0.0);
assertEquals(Double.MIN_VALUE, vec.y, 0.0);
vec = new Vector(new Point2D.Double(7.2, 3.5677));
assertEquals(7.2, vec.x, 0.0);
assertEquals(3.5677, vec.y, 0.0);
vec = new Vector(new Point2D.Float(7.2f, 3.5677f));
assertEquals(7.2, vec.x, 0.0001);
assertEquals(3.5677, vec.y, 0.0001);
vec.set(new Vector(5.1, 8.9));
assertEquals(5.1, vec.x, 0.0001);
assertEquals(8.9, vec.y, 0.0001);
Vector vec2 = vec.copy();
assertNotSame(vec, vec2);
assertEquals(vec, vec2);
assertEquals(5.1, vec2.x, 0.0001);
assertEquals(8.9, vec2.y, 0.0001);
assertEquals(vec, vec.set(100, 100));
assertEquals(200, vec.set(200, 200).x, 0.0001);
assertEquals(8.9, vec.set(vec2).y, 0.0001);
for( int i = 0; i < 50; i++ ) {
vec = Vector.random();
assertTrue(vec.x >= 0);
assertTrue(vec.y >= 0);
assertTrue(vec.x < 100);
assertTrue(vec.y < 100);
}
for( int i = 1; i < 50; i++ ) {
vec = Vector.random(0, i*10);
assertTrue(vec.x >= 0);
assertTrue(vec.y >= 0);
assertTrue(vec.x < i*10);
assertTrue(vec.y < i*10);
}
for( int i = 1; i < 50; i++ ) {
vec = Vector.random(0, i*10, (i+1)*10, (i+2)*10);
assertTrue(vec.x >= 0);
assertTrue(vec.y >= (i+1)*10);
assertTrue(vec.x < i*10);
assertTrue(vec.y < (i+2)*10);
}
}
@Test
void setLength() {
Vector vec = new Vector(2.0, 5.4);