Skip to content

Commit 394ed71

Browse files
authored
Merge pull request mouredev#6197 from martinbohorquez/java#13
#13 - Java
2 parents 29e2b37 + ab6d185 commit 394ed71

File tree

1 file changed

+111
-0
lines changed

1 file changed

+111
-0
lines changed
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
import org.junit.jupiter.api.BeforeEach;
2+
import org.junit.jupiter.api.Nested;
3+
import org.junit.jupiter.api.Test;
4+
5+
import java.time.LocalDate;
6+
import java.util.ArrayList;
7+
import java.util.Arrays;
8+
import java.util.HashMap;
9+
import java.util.Map;
10+
11+
import static org.junit.jupiter.api.Assertions.*;
12+
13+
/**
14+
* #13 PRUEBAS UNITARIAS
15+
* <dependencies>
16+
* <dependency>
17+
* <groupId>org.junit.jupiter</groupId>
18+
* <artifactId>junit-jupiter</artifactId>
19+
* <version>5.10.3</version>
20+
* </dependency>
21+
* </dependencies>
22+
*
23+
* @author martinbohorquez
24+
*/
25+
public class martinbohorquez {
26+
public static void main(String[] args) throws Exception {
27+
System.out.println(sum(23, 19));
28+
}
29+
30+
private static Object sum(Object a, Object b) throws Exception {
31+
if (!(a instanceof Integer) || !(b instanceof Integer))
32+
throw new Exception("Los argumentos deben ser enteros positivos!");
33+
return ((Integer) a) + ((Integer) b);
34+
}
35+
36+
/*
37+
* DIFICULTAD EXTRA
38+
*/
39+
private static Map<String, String> programmer() {
40+
Map<String, String> programmer = new HashMap<>();
41+
programmer.put("name", "Martin");
42+
Integer age = 29;
43+
programmer.put("age", String.valueOf(age));
44+
LocalDate birthDate = LocalDate.of(1994, 9, 26);
45+
programmer.put("birthDate", String.valueOf(birthDate));
46+
ArrayList<String> programmingLanguage = new ArrayList<>(Arrays.asList("Java", "Typescript", "Python"));
47+
programmer.put("programmingLanguage", String.valueOf(programmingLanguage));
48+
return programmer;
49+
}
50+
51+
@Nested
52+
class TestMain {
53+
54+
Map<String, String> data;
55+
Map<String, String> programmer = programmer();
56+
57+
@BeforeEach
58+
void setUp() {
59+
data = new HashMap<>();
60+
data.put("name", "Martin");
61+
Integer age = 29;
62+
data.put("age", String.valueOf(age));
63+
LocalDate birthDate = LocalDate.of(1994, 9, 26);
64+
data.put("birthDate", String.valueOf(birthDate));
65+
ArrayList<String> programmingLanguage = new ArrayList<>(Arrays.asList("Java", "Typescript", "Python"));
66+
data.put("programmingLanguage", String.valueOf(programmingLanguage));
67+
}
68+
69+
@Test
70+
void testSum() throws Exception {
71+
assertEquals(37, sum(14, 23));
72+
assertEquals(10, sum(15, -5));
73+
assertEquals(25, sum(-10, 35));
74+
assertEquals(-15, sum(-20, 5));
75+
assertEquals(-5, sum(20, -25));
76+
assertEquals(-20, sum(-15, -5));
77+
}
78+
79+
@Test
80+
void testSumTypes() throws Exception {
81+
String esperado = "Los argumentos deben ser enteros positivos!";
82+
Exception exceptionDouble = assertThrows(Exception.class, () -> sum(5, 2.5));
83+
String actual = exceptionDouble.getMessage();
84+
assertEquals(esperado, actual);
85+
Exception exceptionString = assertThrows(Exception.class, () -> sum("5", 2));
86+
actual = exceptionString.getMessage();
87+
assertEquals(esperado, actual);
88+
}
89+
90+
@Test
91+
void testMapSize() {
92+
assertEquals(programmer.size(), data.size());
93+
}
94+
95+
@Test
96+
void testKeysExist() {
97+
programmer.keySet().forEach(key -> assertTrue(data.containsKey(key)));
98+
}
99+
100+
@Test
101+
void testValuesCorrect() {
102+
programmer.keySet().forEach(key -> assertEquals(programmer.get(key), data.get(key)));
103+
}
104+
105+
@Test
106+
void testValuesInstance() {
107+
programmer.keySet().forEach(key -> assertInstanceOf(programmer.get(key).getClass(), data.get(key)));
108+
}
109+
110+
}
111+
}

0 commit comments

Comments
 (0)