Skip to content

Commit dc9a881

Browse files
Merge branch 'code-differently:main' into feat/lesson_09/tb
2 parents 8708345 + 7587e61 commit dc9a881

File tree

7 files changed

+378
-0
lines changed

7 files changed

+378
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# The Astral Compass
2+
This is a fictional system for a fantasy nation that my friends and I created a while back, called the Mayou Kuni.
3+
4+
## User Story 1
5+
6+
***As a*** space pilot, ***I want*** the system to calculate the fastest and safest route ***so that*** I avoid hazards like asteroid fields or black holes.
7+
### Acceptance Criteria
8+
- If a hazard is detected, the system issues an audible and visual alert ASAP.
9+
- The alert identifies the hazard type, like an Asteroid Belt, Enemy Territory, etc.
10+
- The system highlights the hazard location on the compass map.
11+
- If no safe alternative exists, the system displays a warning that the risk is unavoidable.
12+
13+
## User Story 2 (with a fantasy twist)
14+
15+
***As a*** navigator, ***I want*** to align my course with favorable star constellations ***so that*** my journey is blessed and protected.
16+
### Acceptance Criteria
17+
- Navigation map shows constellation alignments for the chosen route.
18+
- Navigator can toggle "favorable path” view.
19+
- If alignment is poor, system recommends an alternate departure time/route.
20+
- Alignments are based on dynamic celestial cycles and updated daily.
21+
22+
## User Story 3
23+
24+
***As a*** ship engineer, ***I want*** the system to calculate fuel and supply requirements for a plotted route ***so that*** I can prepare the ship properly.
25+
### Acceptance Criteria
26+
- When a course is plotted, the system displays estimated fuel and supply needs.
27+
- System shows real-time impact of changes.
28+
- If the power setup could damage the system, the system gives a warning.
29+
- Engineer can increase or decrease power to engines, shields, or weapons individually.
30+
31+
## Definition of “done”
32+
- Test coverage meets the team’s agreed threshold.
33+
- All Acceptance Criteria are met.
34+
- Feature integrates with existing ship systems (navigation map, engineering console, pilot display).
35+
- Alerts, warnings, and logs appear in the correct locations.
36+
- Feature has been tested in simulation (normal conditions, hazardous conditions, emergencies).
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.codedifferently.lesson9.dataprovider;
2+
3+
import java.util.Map;
4+
import org.springframework.stereotype.Service;
5+
6+
@Service
7+
public class NicoleJacksonProvider extends DataProvider {
8+
public String getProviderName() {
9+
return "nicolejackson";
10+
}
11+
12+
public Map<String, Class> getColumnTypeByName() {
13+
return Map.of(
14+
"column1", Short.class,
15+
"column2", Float.class,
16+
"column3", Double.class,
17+
"column4", Boolean.class,
18+
"column5", String.class,
19+
"column6", Long.class,
20+
"column7", Integer.class);
21+
}
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.codedifferently.lesson9.dataprovider;
2+
3+
import java.util.Map;
4+
import org.springframework.stereotype.Service;
5+
6+
@Service
7+
public class TaliaCrockettProvider extends DataProvider {
8+
public String getProviderName() {
9+
return "taliacrockett";
10+
}
11+
12+
public Map<String, Class> getColumnTypeByName() {
13+
return Map.of(
14+
"column1", Double.class,
15+
"column2", Short.class,
16+
"column3", Boolean.class,
17+
"column4", String.class,
18+
"column5", Float.class,
19+
"column6", Integer.class,
20+
"column7", Long.class);
21+
}
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.codedifferently.lesson9.dataprovider;
2+
3+
import java.util.Map;
4+
import org.springframework.stereotype.Service;
5+
6+
@Service
7+
public class TrinitieJacksonProvider extends DataProvider {
8+
public String getProviderName() {
9+
return "trinitiejackson";
10+
}
11+
12+
public Map<String, Class> getColumnTypeByName() {
13+
return Map.of(
14+
"column1", String.class,
15+
"column2", Double.class,
16+
"column3", Float.class,
17+
"column4", Integer.class,
18+
"column5", Long.class,
19+
"column6", Short.class,
20+
"column7", Boolean.class);
21+
}
22+
}
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
[
2+
{
3+
"column1": "18351",
4+
"column2": "3.2133034E38",
5+
"column3": "1.6789127364779098E308",
6+
"column4": "true",
7+
"column5": "lsiy80",
8+
"column6": "6110753532923759616",
9+
"column7": "2025486255"
10+
},
11+
{
12+
"column1": "22401",
13+
"column2": "2.3610826E38",
14+
"column3": "1.1140549669057832E308",
15+
"column4": "false",
16+
"column5": "4pdfr6oz9t",
17+
"column6": "4605343749009354752",
18+
"column7": "1380280542"
19+
},
20+
{
21+
"column1": "18235",
22+
"column2": "2.2120371E38",
23+
"column3": "1.5883132877614468E308",
24+
"column4": "false",
25+
"column5": "wjtq4r",
26+
"column6": "830014317166419584",
27+
"column7": "1081756686"
28+
},
29+
{
30+
"column1": "19700",
31+
"column2": "1.2299263E38",
32+
"column3": "1.304807427350693E308",
33+
"column4": "true",
34+
"column5": "blvjgazo4",
35+
"column6": "3806177844813548032",
36+
"column7": "750365948"
37+
},
38+
{
39+
"column1": "15245",
40+
"column2": "2.7651068E38",
41+
"column3": "2.3538726074594463E307",
42+
"column4": "true",
43+
"column5": "dzrial0kxvcg",
44+
"column6": "1646743988035526400",
45+
"column7": "1858050877"
46+
},
47+
{
48+
"column1": "18187",
49+
"column2": "9.249632E37",
50+
"column3": "6.562849177036805E307",
51+
"column4": "false",
52+
"column5": "dcj1i8u4",
53+
"column6": "4577133667895783936",
54+
"column7": "204405665"
55+
},
56+
{
57+
"column1": "15172",
58+
"column2": "3.0908871E38",
59+
"column3": "1.7265077026854457E308",
60+
"column4": "false",
61+
"column5": "jnxilhez6sq",
62+
"column6": "8363987980648599552",
63+
"column7": "1376403784"
64+
},
65+
{
66+
"column1": "28970",
67+
"column2": "1.8886887E38",
68+
"column3": "1.0408902074120228E308",
69+
"column4": "true",
70+
"column5": "th6j8rw",
71+
"column6": "4050981949904115200",
72+
"column7": "910253322"
73+
},
74+
{
75+
"column1": "17382",
76+
"column2": "1.7251828E38",
77+
"column3": "1.3181778470931773E308",
78+
"column4": "false",
79+
"column5": "b6ew2rf9",
80+
"column6": "6518152672910401536",
81+
"column7": "870158407"
82+
},
83+
{
84+
"column1": "10596",
85+
"column2": "2.1282144E38",
86+
"column3": "1.2818911170378564E308",
87+
"column4": "false",
88+
"column5": "t34smad",
89+
"column6": "6219213324357745664",
90+
"column7": "2052048562"
91+
}
92+
]
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
[
2+
{
3+
"column1": "1.3412813740521052E308",
4+
"column2": "1051",
5+
"column3": "false",
6+
"column4": "s0ehd3gkn",
7+
"column5": "4.589184E36",
8+
"column6": "742147047",
9+
"column7": "8233146601423526912"
10+
},
11+
{
12+
"column1": "9.80684888486339E307",
13+
"column2": "17369",
14+
"column3": "true",
15+
"column4": "t5kqsp6f7",
16+
"column5": "1.2120233E38",
17+
"column6": "1563652046",
18+
"column7": "8587214488540018688"
19+
},
20+
{
21+
"column1": "1.4803093226860028E307",
22+
"column2": "30586",
23+
"column3": "false",
24+
"column4": "kfy2e9lpw",
25+
"column5": "2.2864721E38",
26+
"column6": "1392860264",
27+
"column7": "3115437823654413824"
28+
},
29+
{
30+
"column1": "5.746422422885187E307",
31+
"column2": "7854",
32+
"column3": "false",
33+
"column4": "epmj456",
34+
"column5": "1.4208407E38",
35+
"column6": "1989450185",
36+
"column7": "1074000347380492928"
37+
},
38+
{
39+
"column1": "1.5299418825206859E307",
40+
"column2": "8664",
41+
"column3": "false",
42+
"column4": "bkn6fq1uwt",
43+
"column5": "8.958313E37",
44+
"column6": "993157624",
45+
"column7": "8330332157736557568"
46+
},
47+
{
48+
"column1": "1.0224515534770597E308",
49+
"column2": "30385",
50+
"column3": "true",
51+
"column4": "vx9dqcjk4",
52+
"column5": "2.702773E38",
53+
"column6": "351266951",
54+
"column7": "6041893808914956288"
55+
},
56+
{
57+
"column1": "1.2626888466980182E308",
58+
"column2": "8283",
59+
"column3": "false",
60+
"column4": "1fvdhy03",
61+
"column5": "1.8583685E38",
62+
"column6": "384061317",
63+
"column7": "2766348774879117312"
64+
},
65+
{
66+
"column1": "9.566955641725627E307",
67+
"column2": "24019",
68+
"column3": "true",
69+
"column4": "kat6zg1iljhy",
70+
"column5": "2.159859E38",
71+
"column6": "2067685894",
72+
"column7": "831999151872673024"
73+
},
74+
{
75+
"column1": "1.3853754169385018E308",
76+
"column2": "5905",
77+
"column3": "true",
78+
"column4": "74etxwjfzudy",
79+
"column5": "4.2078678E37",
80+
"column6": "1680818055",
81+
"column7": "6802946125645314048"
82+
},
83+
{
84+
"column1": "8.275634331694654E307",
85+
"column2": "11614",
86+
"column3": "true",
87+
"column4": "sni7r0jt8vo2",
88+
"column5": "2.4835198E38",
89+
"column6": "56453472",
90+
"column7": "3983619747109573120"
91+
}
92+
]
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
[
2+
{
3+
"column1": "tskgla",
4+
"column2": "4.2393110804455253E307",
5+
"column3": "2.033169E38",
6+
"column4": "1615140996",
7+
"column5": "5144307104679193600",
8+
"column6": "25634",
9+
"column7": "true"
10+
},
11+
{
12+
"column1": "ajzrx4",
13+
"column2": "1.0652718781128555E308",
14+
"column3": "2.5356797E38",
15+
"column4": "1672995470",
16+
"column5": "8205587409194881024",
17+
"column6": "20576",
18+
"column7": "false"
19+
},
20+
{
21+
"column1": "j7epz4d",
22+
"column2": "2.490130788785794E307",
23+
"column3": "2.8533742E38",
24+
"column4": "1501174497",
25+
"column5": "7581391592053611520",
26+
"column6": "11243",
27+
"column7": "true"
28+
},
29+
{
30+
"column1": "o2zelgfq",
31+
"column2": "9.84973073530883E307",
32+
"column3": "2.652943E37",
33+
"column4": "713078158",
34+
"column5": "8340386713336990720",
35+
"column6": "13352",
36+
"column7": "false"
37+
},
38+
{
39+
"column1": "zum0d5",
40+
"column2": "3.951531093988596E307",
41+
"column3": "2.9681868E38",
42+
"column4": "1240628887",
43+
"column5": "1752747294050061824",
44+
"column6": "21950",
45+
"column7": "true"
46+
},
47+
{
48+
"column1": "7ytphf3x6own",
49+
"column2": "1.4847704379750361E308",
50+
"column3": "2.7853075E38",
51+
"column4": "314245475",
52+
"column5": "8711465283358629888",
53+
"column6": "28368",
54+
"column7": "false"
55+
},
56+
{
57+
"column1": "xjqdvprzo8k",
58+
"column2": "6.085209971749703E307",
59+
"column3": "1.2070314E37",
60+
"column4": "835495870",
61+
"column5": "3401644533813014016",
62+
"column6": "11311",
63+
"column7": "true"
64+
},
65+
{
66+
"column1": "3427l81gxy",
67+
"column2": "9.535332708947968E307",
68+
"column3": "2.3035096E38",
69+
"column4": "531347923",
70+
"column5": "2287575028502162176",
71+
"column6": "17817",
72+
"column7": "false"
73+
},
74+
{
75+
"column1": "v6l0htgp3",
76+
"column2": "9.969892897143175E307",
77+
"column3": "2.0336866E38",
78+
"column4": "54112404",
79+
"column5": "8452977874161911808",
80+
"column6": "18360",
81+
"column7": "false"
82+
},
83+
{
84+
"column1": "p0ma7o31bq",
85+
"column2": "4.692633218080984E307",
86+
"column3": "2.5963796E38",
87+
"column4": "939955298",
88+
"column5": "6794446680784242688",
89+
"column6": "3100",
90+
"column7": "false"
91+
}
92+
]

0 commit comments

Comments
 (0)