Skip to content

Commit b745f7c

Browse files
committed
Feat: adds Pablo Limon-Paredes Saiyan Object Lesson16
1 parent 2e32759 commit b745f7c

File tree

2 files changed

+204
-0
lines changed
  • lesson_16/objects/objects_app/src

2 files changed

+204
-0
lines changed
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
package com.codedifferently.lesson16.saiyanoop;
2+
3+
import java.util.ArrayList;
4+
5+
public class Saiyan {
6+
enum SaiyanForms {
7+
BASE, // 0 - 1999
8+
SSJ1, // 2000 - 2999
9+
SSJ2, // 3000 - 3999
10+
SSJ3 // 4000
11+
}
12+
13+
private int powerLevel;
14+
private String name;
15+
private ArrayList<String> accessories;
16+
private SaiyanForms saiyanForms;
17+
private boolean hasATail;
18+
19+
public Saiyan(
20+
int powerLevel,
21+
String name,
22+
ArrayList<String> accessories,
23+
SaiyanForms saiyanForms,
24+
boolean hasATail) {
25+
this.powerLevel = powerLevel;
26+
this.name = name;
27+
this.accessories = accessories;
28+
this.saiyanForms = saiyanForms;
29+
this.hasATail = hasATail;
30+
}
31+
32+
public int getPowerLevel() {
33+
return powerLevel;
34+
}
35+
36+
public void setPowerLevel(int powerLevel) {
37+
this.powerLevel = powerLevel;
38+
SaiyanForms form = SaiyanForms.BASE;
39+
if (powerLevel > 2000 && powerLevel < 2999) {
40+
form = SaiyanForms.SSJ1;
41+
} else if (powerLevel > 3000 && powerLevel < 3999) {
42+
form = SaiyanForms.SSJ2;
43+
} else if (powerLevel > 4000) {
44+
form = SaiyanForms.SSJ3;
45+
}
46+
setSaiyanForms(form);
47+
}
48+
49+
public String getName() {
50+
return name;
51+
}
52+
53+
public void setName(String name) {
54+
this.name = name;
55+
}
56+
57+
public ArrayList<String> getAccessories() {
58+
return accessories;
59+
}
60+
61+
public void addAccessories(String addingAcc) {
62+
this.accessories.add(addingAcc);
63+
}
64+
65+
public void removeAccessories(String removeAcc) {
66+
accessories.remove(removeAcc);
67+
}
68+
69+
public void removeAllAccessories() {
70+
accessories.removeAll(accessories);
71+
}
72+
73+
public SaiyanForms getSaiyanForms() {
74+
return saiyanForms;
75+
}
76+
77+
public void setSaiyanForms(SaiyanForms saiyanForms) {
78+
this.saiyanForms = saiyanForms;
79+
}
80+
81+
public boolean isHasATail() {
82+
return hasATail;
83+
}
84+
85+
public void setHasATail(boolean hasATail) {
86+
this.hasATail = hasATail;
87+
}
88+
}
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
package com.codedifferently.lesson16.saiyanoop;
2+
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
5+
import java.util.ArrayList;
6+
import java.util.Arrays;
7+
8+
import org.junit.jupiter.api.Test;
9+
10+
import com.codedifferently.lesson16.saiyanoop.Saiyan.SaiyanForms;
11+
12+
public class SaiyanTest {
13+
@Test
14+
void testgetPowerLevel() {
15+
Saiyan saiyan =
16+
new Saiyan(
17+
1200,
18+
"Goku",
19+
new ArrayList<String>(Arrays.asList("WristBands, Boots, Orange Gi, Blue Belt")),
20+
SaiyanForms.BASE,
21+
false);
22+
assertEquals(1200, saiyan.getPowerLevel());
23+
}
24+
25+
@Test
26+
void testpowerLevelDroppingAndFormDown() {
27+
Saiyan saiyan =
28+
new Saiyan(
29+
4200,
30+
"Goku",
31+
new ArrayList<String>(
32+
Arrays.asList("WristBands, Boots, Orange Gi, Blue Belt, Blue Undershirt")),
33+
SaiyanForms.SSJ3,
34+
false);
35+
saiyan.setPowerLevel(3300);
36+
assertEquals(SaiyanForms.SSJ2, saiyan.getSaiyanForms());
37+
saiyan.setPowerLevel(2300);
38+
assertEquals(SaiyanForms.SSJ1, saiyan.getSaiyanForms());
39+
saiyan.setPowerLevel(1300);
40+
assertEquals(SaiyanForms.BASE, saiyan.getSaiyanForms());
41+
}
42+
43+
@Test
44+
void testpowerLevelRisingAndFormUp() {
45+
Saiyan saiyan =
46+
new Saiyan(
47+
1200,
48+
"Goku",
49+
new ArrayList<String>(
50+
Arrays.asList("WristBands, Boots, Orange Gi, Blue Belt, Blue Undershirt")),
51+
SaiyanForms.BASE,
52+
false);
53+
saiyan.setPowerLevel(2600);
54+
assertEquals(SaiyanForms.SSJ1, saiyan.getSaiyanForms());
55+
saiyan.setPowerLevel(3600);
56+
assertEquals(SaiyanForms.SSJ2, saiyan.getSaiyanForms());
57+
saiyan.setPowerLevel(4600);
58+
assertEquals(SaiyanForms.SSJ3, saiyan.getSaiyanForms());
59+
}
60+
61+
@Test
62+
void testdoesHaveATail() {
63+
Saiyan saiyan =
64+
new Saiyan(
65+
1200,
66+
"Goku",
67+
new ArrayList<String>(Arrays.asList("WristBands, Boots, Orange Gi, Blue Belt")),
68+
SaiyanForms.BASE,
69+
false);
70+
saiyan.setHasATail(true);
71+
assertEquals(true, saiyan.isHasATail());
72+
}
73+
74+
@Test
75+
void testdoesNotHaveATail() {
76+
Saiyan saiyan =
77+
new Saiyan(
78+
1200,
79+
"Goku",
80+
new ArrayList<String>(Arrays.asList("WristBands, Boots, Orange Gi, Blue Belt")),
81+
SaiyanForms.BASE,
82+
false);
83+
assertEquals(false, saiyan.isHasATail());
84+
}
85+
86+
@Test
87+
void testgetName() {
88+
Saiyan saiyan =
89+
new Saiyan(
90+
1200,
91+
"Goku",
92+
new ArrayList<String>(Arrays.asList("WristBands, Boots, Orange Gi, Blue Belt")),
93+
SaiyanForms.BASE,
94+
false);
95+
assertEquals("Goku", saiyan.getName());
96+
}
97+
98+
@Test
99+
void testsetName() {
100+
Saiyan saiyan =
101+
new Saiyan(
102+
1200,
103+
"Goku",
104+
new ArrayList<String>(Arrays.asList("WristBands, Boots, Orange Gi, Blue Belt")),
105+
SaiyanForms.BASE,
106+
false);
107+
saiyan.setName("Kakarot");
108+
assertEquals("Kakarot", saiyan.getName());
109+
}
110+
111+
@Test
112+
void testwhatAccessoriesTheyHaveOn() {}
113+
114+
@Test
115+
void test() {}
116+
}

0 commit comments

Comments
 (0)