Skip to content

Commit 102e7a6

Browse files
Rework unit tests
1 parent 4df1aab commit 102e7a6

File tree

353 files changed

+888
-518
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

353 files changed

+888
-518
lines changed

jfiletreeprettyprinter-core/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@
4242
<artifactId>junit-jupiter-engine</artifactId>
4343
<scope>test</scope>
4444
</dependency>
45+
<dependency>
46+
<groupId>org.junit.jupiter</groupId>
47+
<artifactId>junit-jupiter-params</artifactId>
48+
<scope>test</scope>
49+
</dependency>
4550
<dependency>
4651
<groupId>org.assertj</groupId>
4752
<artifactId>assertj-core</artifactId>

jfiletreeprettyprinter-core/src/test/java/io/github/computerdaddyguy/jfiletreeprettyprinter/EmojisTest.java

Lines changed: 167 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
import org.junit.jupiter.api.Nested;
1212
import org.junit.jupiter.api.Test;
1313
import org.junit.jupiter.api.io.TempDir;
14+
import org.junit.jupiter.params.ParameterizedTest;
15+
import org.junit.jupiter.params.provider.CsvSource;
1416

1517
class EmojisTest {
1618

@@ -30,137 +32,176 @@ void emptyDir() {
3032
assertThat(result).isEqualTo(expected);
3133
}
3234

33-
@Test
34-
void emojis() {
35+
@ParameterizedTest
36+
@CsvSource(delimiter = ' ', textBlock = """
37+
38+
📄 file.unknown_extension
39+
📄 file_without_extension
40+
41+
# ------------------------------
42+
# Application
43+
44+
# Executables
45+
📱 file.apk
46+
🖥️ file.app
47+
⚙️ file.bin
48+
⚙️ file.exe
49+
📦 file.msi
50+
📱 file.ipa
51+
52+
# Libs
53+
🧩 file.dll
54+
🧩 file.lib
55+
🧩 file.so
56+
57+
# ------------------------------
58+
# Archives
59+
60+
📦 file.7z
61+
📦 file.gz
62+
💿 file.img
63+
💿 file.iso
64+
📦 file.rar
65+
📦 file.tar
66+
📦 file.zip
67+
68+
# ------------------------------
69+
# Code
70+
71+
🚫 .gitignore
72+
🐳 Dockerfile
73+
🤵 Jenkinsfile
74+
⚙️ docker-compose.yml
75+
76+
# Build tools
77+
🛠️ build.gradle
78+
🛠️ makefile
79+
🛠️ package.json
80+
🛠️ pom.xml
81+
82+
# Lang
83+
💠 file.c
84+
☕ file.class
85+
💠 file.cpp
86+
💠 file.cs
87+
🎨 file.css
88+
🌐 file.htm
89+
🌐 file.html
90+
🌐 file.htmx
91+
📦 file.jar
92+
☕ file.java
93+
🎨 file.less
94+
🐘 file.php
95+
🐍 file.py
96+
🎨 file.scss
97+
🗄️ file.sql
98+
🔷 file.ts
99+
100+
# Scripting
101+
📜 file.bash
102+
📜 file.bat
103+
📜 file.sh
104+
105+
# ------------------------------
106+
# Data
107+
108+
⚙️ file.cfg
109+
⚙️ file.conf
110+
📊 file.csv
111+
⚙️ file.ini
112+
📝 file.json
113+
📊 file.ods
114+
⚙️ file.properties
115+
📊 file.xls
116+
📊 file.xlsx
117+
📝 file.xml
118+
📝 file.yaml
119+
📝 file.yml
120+
121+
# ------------------------------
122+
# Doc
123+
124+
📝 file.doc
125+
📝 file.docx
126+
📚 file.epub
127+
📝 file.md
128+
📝 file.odt
129+
📕 file.pdf
130+
📝 file.rtf
131+
📝 file.txt
132+
133+
# ------------------------------
134+
# Internet
135+
136+
🤖 robots.txt
137+
138+
# Github
139+
🆕 changelog
140+
🆕 changelog.md
141+
🤝 contributing
142+
🤝 contributing.md
143+
⚖️ license
144+
⚖️ license.md
145+
📘 readme
146+
📘 readme.md
147+
🗺️ roadmap
148+
🗺️ roadmap.md
149+
🛡️ security
150+
🛡️ security.md
151+
152+
# ------------------------------
153+
# Media
154+
155+
# Audio
156+
🎵 file.aac
157+
🎵 file.flac
158+
🎹 file.midi
159+
🎵 file.mp3
160+
🎵 file.ogg
161+
🎵 file.wav
162+
163+
# Images
164+
🖼️ file.bmp
165+
🎞️ file.gif
166+
🖼️ file.ico
167+
🖼️ file.jpeg
168+
🖼️ file.jpg
169+
🖼️ file.png
170+
✒️ file.svg
171+
172+
# Video
173+
🎬 file.avi
174+
🎬 file.mkv
175+
🎬 file.mov
176+
🎬 file.mp4
177+
🎬 file.webm
178+
🎬 file.wmv
179+
180+
# ------------------------------
181+
# System
182+
183+
💾 file.bak
184+
🔐 file.crt
185+
🔑 file.key
186+
📜 file.log
187+
🔐 file.pem
188+
🔓 file.pub
189+
🗑️ file.tmp
190+
191+
""")
192+
void emojis(String expectedEmoji, String fileName) {
35193

36194
var printer = FileTreePrettyPrinter.builder()
37195
.customizeOptions(PrettyPrintOptions::withDefaultEmojis)
38196
.build();
39197

40-
var result = printer.prettyPrint("src/test/resources/emojis");
41-
var expected = """
42-
📂 emojis/
43-
├─ 📂 applications/
44-
│ ├─ 📂 executables/
45-
│ │ ├─ 📱 file.apk
46-
│ │ ├─ 🖥️ file.app
47-
│ │ ├─ ⚙️ file.bin
48-
│ │ ├─ ⚙️ file.exe
49-
│ │ ├─ 📦 file.msi
50-
│ │ └─ 📱 file2.ipa
51-
│ └─ 📂 libs/
52-
│ ├─ 🧩 file.dll
53-
│ ├─ 🧩 file.lib
54-
│ └─ 🧩 file.so
55-
├─ 📂 archives/
56-
│ ├─ 📦 file.7z
57-
│ ├─ 📦 file.gz
58-
│ ├─ 💿 file.img
59-
│ ├─ 💿 file.iso
60-
│ ├─ 📦 file.rar
61-
│ ├─ 📦 file.tar
62-
│ └─ 📦 file.zip
63-
├─ 📂 code/
64-
│ ├─ 🚫 .gitignore
65-
│ ├─ 🐳 Dockerfile
66-
│ ├─ 🤵 Jenkinsfile
67-
│ ├─ 📂 build_tools/
68-
│ │ ├─ 🛠️ build.gradle
69-
│ │ ├─ 🛠️ makefile
70-
│ │ ├─ 🛠️ package.json
71-
│ │ └─ 🛠️ pom.xml
72-
│ ├─ ⚙️ docker-compose.yml
73-
│ ├─ 📂 lang/
74-
│ │ ├─ 💠 file.c
75-
│ │ ├─ ☕ file.class
76-
│ │ ├─ 💠 file.cpp
77-
│ │ ├─ 💠 file.cs
78-
│ │ ├─ 🎨 file.css
79-
│ │ ├─ 🌐 file.htm
80-
│ │ ├─ 🌐 file.html
81-
│ │ ├─ 🌐 file.htmx
82-
│ │ ├─ 📦 file.jar
83-
│ │ ├─ ☕ file.java
84-
│ │ ├─ 🎨 file.less
85-
│ │ ├─ 🐘 file.php
86-
│ │ ├─ 🐍 file.py
87-
│ │ ├─ 🎨 file.scss
88-
│ │ ├─ 🗄️ file.sql
89-
│ │ └─ 🔷 file.ts
90-
│ └─ 📂 scripting/
91-
│ ├─ 📜 file.bash
92-
│ ├─ 📜 file.bat
93-
│ └─ 📜 file.sh
94-
├─ 📂 data/
95-
│ ├─ ⚙️ file.cfg
96-
│ ├─ ⚙️ file.conf
97-
│ ├─ 📊 file.csv
98-
│ ├─ ⚙️ file.ini
99-
│ ├─ 📝 file.json
100-
│ ├─ 📊 file.ods
101-
│ ├─ ⚙️ file.properties
102-
│ ├─ 📊 file.xls
103-
│ ├─ 📊 file.xlsx
104-
│ ├─ 📝 file.xml
105-
│ ├─ 📝 file.yaml
106-
│ └─ 📝 file.yml
107-
├─ 📂 doc/
108-
│ ├─ 📝 file.doc
109-
│ ├─ 📝 file.docx
110-
│ ├─ 📚 file.epub
111-
│ ├─ 📝 file.md
112-
│ ├─ 📝 file.odt
113-
│ ├─ 📕 file.pdf
114-
│ ├─ 📝 file.rtf
115-
│ └─ 📝 file.txt
116-
├─ 📄 file.unknown_extension
117-
├─ 📄 file_without_extension
118-
├─ 📂 internet/
119-
│ ├─ 📂 github/
120-
│ │ ├─ 🆕 changelog
121-
│ │ ├─ 🆕 changelog.md
122-
│ │ ├─ 🤝 contributing
123-
│ │ ├─ 🤝 contributing.md
124-
│ │ ├─ ⚖️ license
125-
│ │ ├─ ⚖️ license.md
126-
│ │ ├─ 📘 readme
127-
│ │ ├─ 📘 readme.md
128-
│ │ ├─ 🗺️ roadmap
129-
│ │ ├─ 🗺️ roadmap.md
130-
│ │ ├─ 🛡️ security
131-
│ │ └─ 🛡️ security.md
132-
│ └─ 🤖 robots.txt
133-
├─ 📂 media/
134-
│ ├─ 📂 audio/
135-
│ │ ├─ 🎵 file.aac
136-
│ │ ├─ 🎵 file.flac
137-
│ │ ├─ 🎹 file.midi
138-
│ │ ├─ 🎵 file.mp3
139-
│ │ ├─ 🎵 file.ogg
140-
│ │ └─ 🎵 file.wav
141-
│ ├─ 📂 images/
142-
│ │ ├─ 🖼️ file.bmp
143-
│ │ ├─ 🎞️ file.gif
144-
│ │ ├─ 🖼️ file.ico
145-
│ │ ├─ 🖼️ file.jpeg
146-
│ │ ├─ 🖼️ file.jpg
147-
│ │ ├─ 🖼️ file.png
148-
│ │ └─ ✒️ file.svg
149-
│ └─ 📂 video/
150-
│ ├─ 🎬 file.avi
151-
│ ├─ 🎬 file.mkv
152-
│ ├─ 🎬 file.mov
153-
│ ├─ 🎬 file.mp4
154-
│ ├─ 🎬 file.webm
155-
│ └─ 🎬 file.wmv
156-
└─ 📂 system/
157-
├─ 💾 file.bak
158-
├─ 🔐 file.crt
159-
├─ 🔑 file.key
160-
├─ 📜 file.log
161-
├─ 🔐 file.pem
162-
├─ 🔓 file.pub
163-
└─ 🗑️ file.tmp""";
198+
var path = FileStructureCreator.forTargetPath(root)
199+
.createFile(fileName)
200+
.getPath();
201+
202+
var result = printer.prettyPrint(path);
203+
204+
var expected = "📂 targetPath/\n└─ " + expectedEmoji + " " + fileName;
164205

165206
assertThat(result).isEqualTo(expected);
166207
}

0 commit comments

Comments
 (0)