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