-
Notifications
You must be signed in to change notification settings - Fork 0
/
ExampleGoldenMasterTest.java
47 lines (36 loc) · 1.41 KB
/
ExampleGoldenMasterTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package maxbe.goldenmaster.example;
import static java.util.Collections.singleton;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.condition.EnabledIfSystemProperty;
import maxbe.goldenmaster.junit.extension.GoldenMasterRun;
import maxbe.goldenmaster.junit.extension.GoldenMasterTest;
@EnabledIfSystemProperty(named = "maxbe.goldenmaster.testWithExamples", matches = "true")
@GoldenMasterTest
public class ExampleGoldenMasterTest {
private File outputFile;
/**
* Set up your Golden Master run. The parameter {@code index} is just for illustration - drop it if you don't need
* it
*
*/
@BeforeEach
void setUp(File outputFile, Integer index) throws Exception {
this.outputFile = outputFile;
}
/**
* Instrument your code/program for the provided index. You can specify a number of {@code repetitions} if you're
* unhappy with the default value.
* <p/>
* Also, you can provide an {@code id} that bundles instrumentation variations together. See
* {@link GoldenMasterRun#id()}.
*/
@GoldenMasterRun(repetitions = 5)
void test(Integer index) throws IOException {
int inputValue = index * 1000;
String outputValue = new AwkwardClass().doYourMagic(inputValue);
Files.write(outputFile.toPath(), singleton(outputValue));
}
}