1 package io.github.magwas.inez.element;
2
3 import static org.mockito.Mockito.verify;
4
5 import java.io.IOException;
6
7 import org.junit.jupiter.api.BeforeEach;
8 import org.junit.jupiter.api.DisplayName;
9 import org.junit.jupiter.api.Test;
10 import org.mockito.InjectMocks;
11
12 import io.github.magwas.testing.TestBase;
13
14 class BridiElementSystemInitializationServiceTest extends TestBase implements ElementConstants {
15
16 @InjectMocks
17 public BridiElementSystemInitializationService bridiElementSystemInitialization;
18
19 @BeforeEach
20 @Override
21 public void setUp() throws Throwable {
22 super.setUp();
23 bridiElementSystemInitialization.apply();
24 }
25
26 @Test
27 @DisplayName("creates sumti IS_A")
28 void test() throws IOException {
29 verify(bridiElementSystemInitialization.inez).createSumti(IS_A_ID, IS_A_REPR);
30 }
31
32 @Test
33 @DisplayName("creates sumti CONTAINS")
34 void test1() throws IOException {
35 verify(bridiElementSystemInitialization.inez).createSumti(CONTAINS_ID, CONTAINS_REPR);
36 }
37
38 @Test
39 @DisplayName("creates sumti ROOT")
40 void test2() throws IOException {
41 verify(bridiElementSystemInitialization.inez).createSumti(ROOT_ID, ROOT_ID);
42 }
43
44 @Test
45 @DisplayName("creates sumti THING")
46 void test3() throws IOException {
47 verify(bridiElementSystemInitialization.inez).createSumti(THING_ID, THING_ID);
48 }
49
50 @Test
51 @DisplayName("creates sumti CONTAINER")
52 void test4() throws IOException {
53 verify(bridiElementSystemInitialization.inez).createSumti(CONTAINER_ID, CONTAINER_ID);
54 }
55
56 @Test
57 @DisplayName("creates sumti UNPLACED")
58 void test5() throws IOException {
59 verify(bridiElementSystemInitialization.inez).createSumti(UNPLACED_ID, UNPLACED_ID);
60 }
61
62 @Test
63 @DisplayName("creates sumti TRUE")
64 void test6() throws IOException {
65 verify(bridiElementSystemInitialization.inez).createSumti(TRUE_ID, TRUE_ID);
66 }
67
68 @Test
69 @DisplayName("creates sumti FALSE")
70 void test7() throws IOException {
71 verify(bridiElementSystemInitialization.inez).createSumti(FALSE_ID, FALSE_ID);
72 }
73
74 @Test
75 @DisplayName("creates sumti IS_FUNCTION_FOR")
76 void test8() throws IOException {
77 verify(bridiElementSystemInitialization.inez).createSumti(IS_FUNCTION_FOR_ID, IS_FUNCTION_FOR_REPR);
78 }
79
80 @Test
81 @DisplayName("creates sumti SAVE_FUNCTION_REF")
82 void test9() throws IOException {
83 verify(bridiElementSystemInitialization.inez).createSumti(SAVE_FUNCTION_REF_ID, SAVE_FUNCTION_REF_ID);
84 }
85
86 @Test
87 @DisplayName("creates sumti DOSAVE")
88 void test10() throws IOException {
89 verify(bridiElementSystemInitialization.inez).createSumti(DOSAVE_ID, DOSAVE_REPR);
90 }
91
92 @Test
93 @DisplayName("creates sumti DIAGRAM")
94 void test11() throws IOException {
95 verify(bridiElementSystemInitialization.inez).createSumti(DIAGRAM_ID, DIAGRAM_ID);
96 }
97
98 @Test
99 @DisplayName("creates sumti DIAGRAM_ELEMENT")
100 void test12() throws IOException {
101 verify(bridiElementSystemInitialization.inez).createSumti(DIAGRAM_ELEMENT_ID, DIAGRAM_ELEMENT_REPR);
102 }
103
104 @Test
105 @DisplayName("creates bridis from the definition file")
106 void test13() throws IOException {
107 verify(bridiElementSystemInitialization.inez).createFromdefinitions(ELEMENT_DEFINITIONS_RESOURCE);
108 }
109
110 @Test
111 @DisplayName("logs success")
112 void test14() throws IOException {
113 verify(bridiElementSystemInitialization.logger).info("BridiElement system initialized");
114 }
115 }