Pour tout problème contactez-nous par mail : support@froggit.fr | La FAQ :grey_question: | Rejoignez-nous sur le Chat :speech_balloon:

Skip to content
Snippets Groups Projects
Commit 6eb2d114 authored by Marc's avatar Marc
Browse files

feat: Démo ATTD avec fizzbuzz

parent a5953a63
No related branches found
No related tags found
No related merge requests found
...@@ -23,6 +23,11 @@ ...@@ -23,6 +23,11 @@
<artifactId>junit-jupiter</artifactId> <artifactId>junit-jupiter</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
</dependencies> </dependencies>
<!-- end::dependencies[] --> <!-- end::dependencies[] -->
<dependencyManagement> <dependencyManagement>
...@@ -34,6 +39,13 @@ ...@@ -34,6 +39,13 @@
<scope>import</scope> <scope>import</scope>
<type>pom</type> <type>pom</type>
</dependency> </dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-bom</artifactId>
<version>3.24.2</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
</project> </project>
\ No newline at end of file
1 => 1
2 => 2
3 => Fizz
4 => 4
5 => Buzz
6 => Fizz
7 => 7
8 => 8
9 => Fizz
10 => Buzz
11 => 11
12 => Fizz
13 => 13
14 => 14
15 => FizzBuzz
16 => 16
17 => 17
18 => Fizz
19 => 19
20 => Buzz
21 => Fizz
22 => 22
23 => 23
24 => Fizz
25 => Buzz
26 => 26
27 => Fizz
28 => 28
29 => 29
30 => FizzBuzz
31 => 31
32 => 32
33 => Fizz
34 => 34
35 => Buzz
36 => Fizz
37 => 37
38 => 38
39 => Fizz
40 => Buzz
41 => 41
42 => Fizz
43 => 43
44 => 44
45 => FizzBuzz
46 => 46
47 => 47
48 => Fizz
49 => 49
50 => Buzz
51 => Fizz
52 => 52
53 => 53
54 => Fizz
55 => Buzz
56 => 56
57 => Fizz
58 => 58
59 => 59
60 => FizzBuzz
61 => 61
62 => 62
63 => Fizz
64 => 64
65 => Buzz
66 => Fizz
67 => 67
68 => 68
69 => Fizz
70 => Buzz
71 => 71
72 => Fizz
73 => 73
74 => 74
75 => FizzBuzz
76 => 76
77 => 77
78 => Fizz
79 => 79
80 => Buzz
81 => Fizz
82 => 82
83 => 83
84 => Fizz
85 => Buzz
86 => 86
87 => Fizz
88 => 88
89 => 89
90 => FizzBuzz
91 => 91
92 => 92
93 => Fizz
94 => 94
95 => Buzz
96 => Fizz
97 => 97
98 => 98
99 => Fizz
100 => Buzz
package fr.baldir.exemples.approval;
import org.approvaltests.Approvals;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import static java.util.stream.IntStream.range;
import static org.assertj.core.api.Assertions.assertThat;
class FizzBuzzAttdTest {
// tag::fizzbuzz[]
String fizzBuzz(int n) {
// if (n %15 ==0) return "FizzBuzz";
// if (n %3 ==0) return "Fizz";
// if (n %5 ==0) return "Buzz";
// return String.valueOf(n);7
return "";
}
// end::fizzbuzz[]
@DisplayName("Outer loop")
@Nested
class OuterLoop {
// tag::approvals_combinations[]
@Test
void fizzbuzz_acceptance() {
Approvals.verifyAll(
range(1, 101).boxed().toList(),
n -> n + " => " + fizzBuzz(n)
);
}
// end::approvals_combinations[]
}
@DisplayName("Inner loop")
@Nested
class InnerLoop {
// tag::approvals_attd_01[]
@Test
void the_number_provided() {
assertThat(fizzBuzz(1)).isEqualTo("1");
assertThat(fizzBuzz(2)).isEqualTo("2");
assertThat(fizzBuzz(4)).isEqualTo("4");
}
// end::approvals_attd_01[]
// tag::approvals_attd_02[]
@Test
void fizzes() {
assertThat(fizzBuzz(3)).isEqualTo("Fizz");
assertThat(fizzBuzz(6)).isEqualTo("Fizz");
assertThat(fizzBuzz(99)).isEqualTo("Fizz");
}
// end::approvals_attd_02[]
// tag::approvals_attd_03[]
@Test
void buzzes() {
assertThat(fizzBuzz(5)).isEqualTo("Buzz");
assertThat(fizzBuzz(10)).isEqualTo("Buzz");
assertThat(fizzBuzz(100)).isEqualTo("Buzz");
}
// end::approvals_attd_03[]
// tag::approvals_attd_04[]
@Test
void fizzBuzzes() {
assertThat(fizzBuzz(15)).isEqualTo("FizzBuzz");
assertThat(fizzBuzz(30)).isEqualTo("FizzBuzz");
assertThat(fizzBuzz(60)).isEqualTo("FizzBuzz");
}
// end::approvals_attd_04[]
}
}
\ No newline at end of file
package fr.baldir.exemples.approval;
class TrucAtddFlowTest {
// Todo : démo flow ATDD
// Un test d'acceptation avec le code et le rendu final
// Une 2eme boucle TDD
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment