Skip to content

Package: Farbe

Farbe

nameinstructionbranchcomplexitylinemethod
Farbe(int, int, int)
M: 0 C: 55
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 11
100%
M: 0 C: 1
100%
equals(Object)
M: 1 C: 35
97%
M: 3 C: 9
75%
M: 3 C: 4
57%
M: 0 C: 6
100%
M: 0 C: 1
100%
getAuspraegung()
M: 0 C: 2
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getBlue()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getGreen()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getRed()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
hashCode()
M: 0 C: 22
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
parse(String)
M: 0 C: 36
100%
M: 0 C: 3
100%
M: 0 C: 3
100%
M: 0 C: 4
100%
M: 0 C: 1
100%

Coverage

1: package material.auspraegungen;
2:
3: import material.Auspraegung;
4: import material.Material;
5: import org.hamcrest.CoreMatchers;
6: import org.hamcrest.Matchers;
7: import org.junit.Assert;
8:
9: import javax.measure.quantity.Volume;
10: import java.util.Objects;
11:
12: /**
13: * Klasse welche das Material Farbe darstellt.
14: */
15: public class Farbe extends Auspraegung<Farbe> implements Material<Volume> {
16:         /**
17:          *
18:          */
19:         private static final int RGB_MAX = 255;
20:         private final int red;
21:         private final int green;
22:         private final int blue;
23:         
24:         /**
25:          * Erstellt eine Farbe aus RGB-Werten.
26:          * @param red R-Wert
27:          * @param green G-Wert
28:          * @param blue B-Wert
29:          */
30:         public Farbe(final int red, final int green, final int blue) {
31:                 super(Farbe.class);
32:                 
33:                 Assert.assertThat(red, CoreMatchers.is(Matchers.greaterThanOrEqualTo(0)));
34:                 Assert.assertThat(red, CoreMatchers.is(Matchers.lessThanOrEqualTo(Farbe.RGB_MAX)));
35:                 
36:                 Assert.assertThat(green, CoreMatchers.is(Matchers.greaterThanOrEqualTo(0)));
37:                 Assert.assertThat(green, CoreMatchers.is(Matchers.lessThanOrEqualTo(Farbe.RGB_MAX)));
38:                 
39:                 Assert.assertThat(blue, CoreMatchers.is(Matchers.greaterThanOrEqualTo(0)));
40:                 Assert.assertThat(blue, CoreMatchers.is(Matchers.lessThanOrEqualTo(Farbe.RGB_MAX)));
41:                 
42:                 this.red = red;
43:                 this.green = green;
44:                 this.blue = blue;
45:         }
46:         
47:         /**
48:          *
49:          * @param farbeAsString String welcher als Farbe geparst werden soll.
50:          * @return Farbe aus dem String.
51:          */
52:         public static Farbe parse(final String farbeAsString) {
53:•                switch (farbeAsString.toLowerCase().trim()) {
54:                 case "weiß":
55:                         return new Farbe(Farbe.RGB_MAX, Farbe.RGB_MAX, Farbe.RGB_MAX);
56:                 case "schwarz":
57:                         return new Farbe(0, 0, 0);
58:                 default:
59:                         throw new RuntimeException(String.format("Farbe %s nicht bekannt", farbeAsString));
60:                 }
61:
62:         }
63:         
64:         /**
65:          * Getter.
66:          * @return R-Wert
67:          */
68:         public int getRed() {
69:                 return this.red;
70:         }
71:         
72:
73:         /**
74:          * Getter.
75:          * @return G-Wert
76:          */
77:         public int getGreen() {
78:                 return this.green;
79:         }
80:         
81:
82:         /**
83:          * Getter.
84:          * @return B-Wert
85:          */
86:         public int getBlue() {
87:                 return this.blue;
88:         }
89:         
90:         @Override
91:         public boolean equals(final Object o) {
92:•                if (this == o) {
93:                         return true;
94:                 }
95:•                if (o == null || this.getClass() != o.getClass()) {
96:                         return false;
97:                 }
98:                 final Farbe farbe = (Farbe) o;
99:•                return this.red == farbe.red
100:                                 && this.green == farbe.green
101:                                 && this.blue == farbe.blue;
102:         }
103:         
104:         @Override
105:         public int hashCode() {
106:                 
107:                 return Objects.hash(this.red, this.green, this.blue);
108:         }
109:         
110:         @Override
111:         public Auspraegung<Farbe> getAuspraegung() {
112:                 return this;
113:         }
114: }