Skip to content

Commit

Permalink
Merge pull request #3 from NyorJa/issue-1
Browse files Browse the repository at this point in the history
Add some unit test issue #1
  • Loading branch information
DyspC committed Oct 21, 2020
2 parents f7a0898 + 2d64dae commit 21c51b1
Show file tree
Hide file tree
Showing 16 changed files with 858 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@ bin/main/fr/enssat/dysp/lyrics/Traitement$CharType.class
.settings/org.eclipse.buildship.core.prefs
.project
.classpath

.idea
26 changes: 26 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ plugins {

// Apply the application plugin to add support for building a CLI application.
id 'application'
id 'jacoco'
}

compileJava {
Expand All @@ -20,6 +21,30 @@ compileJava {
targetCompatibility = '1.8'
}

dependencies {
compile group: 'commons-io', name: 'commons-io', version: '2.6'
}

jacoco {
toolVersion = "0.8.5"
reportsDir = file("$buildDir/jacoco")
}

test {
finalizedBy jacocoTestReport
systemProperty "file.encoding", "UTF-8"
}
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
tasks.withType(Test) {
systemProperty "file.encoding", "UTF-8"
}

jacocoTestReport {
dependsOn test
}

repositories {
// Use jcenter for resolving dependencies.
// You can declare any Maven/Ivy/file repository here.
Expand All @@ -28,6 +53,7 @@ repositories {

dependencies {
// standalone
testCompile 'junit:junit:4.12'
}

application {
Expand Down
81 changes: 81 additions & 0 deletions src/test/java/fr/enssat/dysp/lyrics/TraitementTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
package fr.enssat.dysp.lyrics;

import org.apache.commons.io.IOUtils;
import org.junit.BeforeClass;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;

import static org.junit.Assert.assertEquals;

public class TraitementTest {

@BeforeClass
public static void setUp() {
Traitement.init();
}

@Test
public void testTraiter_EvangelionSplitFullKanji() {

String inputContent = extractFromResource("in/EvangelionOPFullKanji.sample");
String expectedContent = extractFromResource("out/EvangelionOPFullKanji.split.sample");

String actual = Traitement.traiter(inputContent);

assertEquals(actual, expectedContent);

}

@Test
public void testTraiter_EvangelionSplitFullRomaji() {

String inputContent = extractFromResource("in/EvangelionOPFullRomaji.sample");
String expectedContent = extractFromResource("out/EvangelionOPFullRomaji.split.sample");

String actual = Traitement.traiter(inputContent);

assertEquals(actual, expectedContent);
}

@Test
public void testTraiter_WhenBlankInput_ReturnEmptyString() {
assertEquals("", Traitement.traiter(null));
}

@Test
public void testTraiter_EvangelionRomajiSplitOptimizeAndSplitThatShit() {

String inputContent = extractFromResource("in/EvangelionOPFullRomaji.sample");

String trait = Traitement.traiter(inputContent);

String expectedContent = extractFromResource("out/EvangelionOPFullRomaji.split.optimize.sample");
String expectedSplitThatShit = extractFromResource("out/EvangelionOPFullRomaji.split.optimize.chorus.sample");

String actualOptimize = Traitement.optimize(trait);

assertEquals(actualOptimize, expectedContent);

String splitThatShitActual = Traitement.splitThatShit(actualOptimize);

assertEquals(splitThatShitActual, expectedSplitThatShit);

}

private String extractFromResource(String directory) {
ClassLoader classLoader = getClass().getClassLoader();
String content = "";
try (InputStream inputStream = classLoader.getResourceAsStream(directory)) {

content = IOUtils.toString(inputStream, StandardCharsets.UTF_8);

} catch (IOException e) {
e.printStackTrace();
}
return content;
}

}
48 changes: 48 additions & 0 deletions src/test/resources/in/EvangelionOPFullKanji.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
残酷な天使のように
少年よ 神話になれ
蒼い風がいま
胸のドアを叩いても
私だけをただ見つめて
微笑んでるあなた
そっとふれるもの
もとめることに夢中で
運命さえまだ知らない
いたいけな瞳
だけどいつか気付くでしょう
その背中には
遥か未来 めざすための
羽根があること
残酷な天使のテーゼ
窓辺からやがて飛び立つ
ほとばしる熱いパトスで
思い出を裏切るなら
この宇宙(そら)を抱いて輝く
少年よ 神話になれ
ずっと眠ってる
私の愛の揺りかご
あなただけが 夢の使者に
呼ばれる朝がくる
細い首筋を
月あかりが映してる
世界中の時を止めて
閉じこめたいけど
もしもふたり逢えたことに
意味があるなら
私はそう 自由を知る
ためのバイブル
残酷な天使のテーゼ
悲しみがそしてはじまる
抱きしめた命のかたち
その夢に目覚めたとき
誰よりも光を放つ
少年よ 神話になれ
人は愛をつむぎながら
歴史をつくる
女神なんてなれないまま
私は生きる
残酷な天使のテーゼ
窓辺からやがて飛び立つ
ほとばしる熱いパトスで
思い出を裏切るなら
この宇宙(そら)を抱いて輝く
少年よ 神話になれ
58 changes: 58 additions & 0 deletions src/test/resources/in/EvangelionOPFullRomaji.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
Zankoku na tenshi no you ni
Shounen yo shinwa ni nare

Aoi kaze ga ima
Mune no doa wo tataite mo
Watashi dake wo tada mitsumete
Hohoenderu anata

Sotto fureru mono
Motomeru koto ni muchuu de
Unmei sae mada shiranai
Itaikena hitomi

Dakedo itsuka kizuku deshou
Sono senaka ni wa
Haruka mirai mezasu tameno
Hanega ga arukoto

Zankoku na tenshi no teeze
Madobe kara yagate tobitatsu
Hotobashiru atsui patosu de
Omoide wo uragiru nara
Kono sora wo daite kagayaku
Shounen yo shinwa ni nare

Zutto nemutteru
Watashi no ai no yurikago
Anata dake ga yume no shisha ni
Yobareru asa ga kuru

Hosoi kubisuji wo
Tsukiakari ga utsushiteru
Sekaijuu no toki wo tomete
Tojikometai kedo

Moshimo futari aeta koto ni
Imi ga aru nara
Watashi wa sou
Jiyuu wo shiru tame no baiburu

Zankoku na tenshi no teeze
Kanashimi ga soshite hajimaru
Dakishimeta inochi no katachi
Sono yume ni mezameta toki
Dare yori mo hikari wo hanatsu
Shounen yo shinwa ni nare

Hito wa ai wo tsumugi nagara
Rekishi wo tsukuru
Megami nante narenai mama
Watashi wa ikiru

Zankoku na tenshi no teeze
Madobe kara yagate tobitatsu
Hotobashiru atsui patosu de
Omoide wo uragiru nara
Kono sora wo daite kagayaku
Shounen yo shinwa ni nare
49 changes: 49 additions & 0 deletions src/test/resources/in/SymphogearRainbowFlower.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
(Ye-e-Ye-e Ha-a Kort gungnir messa baggy)
(Ye-e-Ye-e Ha-a Kort gungnir messa brossy…Gungnir)

Ikuoku no rekishi wo koete
Kono mune no (Go) toikake ni (Go) kotae yo Shine

Honō yori atsui omoi yo
Kōtetsu no (Go) ikadzuchi de (Go) buttobase My Gungnir

Saisoku de saitan de icchokusen ni
Hikatta (Fly) asahi wo (Fly)
Kimi to tomo ni mitai (mitai) ima (ima) miageyō

Hibike (hibike) tsutae (tsutae) utae (utae)
Zenryoku de "hitori ja nai" to todoketai

Hibike (hibike) tsutae (tsutae) utae (utae)
Soshite! Waraō…! Kono sekai ni wa uta ga aru

Nando demo tachiagareru sa
Chotto dake (Go) kita michi wo (Go) mite goran?

Konna ni mo kagayaite iru
Tsumiageta (Go) monogatari (Go) uso wa nani mo nai

"Itsuka mirai ni hito wa tsunagareru…"
Daiji na (Fly) tomo kara (Fly)
Moratta kotoba zettai (zettai) yume (yume) tsumugu kara

Hibike (hibike) tsutae (tsutae) utae (utae)
Zenkai de ai no banka yo todoroite

Hibike (hibike) tsutae (tsutae) utae (utae)
Soshite! Yūki mo nani mo kamo wo zenbu tabaneyō

(Balwisyall nescell gungnir tron)

Kimi to watashi, minna, minna
Ayumi kitta, ashiato ni donna hana ga saku no kanā?

Naite, warai, umare ochita, namida, namida…
Kitto kirei na niji no hana ni natte saki utau…!

Hibike (hibike) tsutae (tsutae) utae (utae)
Zenryoku de "hitori ja nai" to todoketai

Hibike (hibike) tsutae (tsutae) utae (utae)
Soshite! Mata au sono hi made egao no "sayonara" da!
Zettai ni…zettai ni…!
48 changes: 48 additions & 0 deletions src/test/resources/in/SymphogearRainbowFlowerKanji.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
(Ye-e-Ye-e Ha-a Kort gungnir messa baggy)
(Ye-e-Ye-e Ha-a Kort gungnir messa brossy…Gungnir)

幾億の歴史を超えて
この胸の (Go) 問いかけに (Go) 応えよShine

焔より熱い想いよ
鋼鉄の (Go) イカヅチで (Go) ぶっ飛ばせMy Gungnir

最速で最短で一直線に
光った (Fly) 朝日を (Fly)
君と共に 見たい (見たい) 今 (今) 見上げよう

響け (響け) 伝え (伝え) 歌え (歌え)
全力で 「一人じゃない」と届けたい

響け (響け) 伝え (伝え) 歌え (歌え)
そしてッ! 笑おう…! この世界には 歌がある

何度でも立ち上がれるさ
ちょっとだけ (Go) 来た道を (Go) 見てごらん?

こんなにも輝いている
積み上げた (Go) 物語 (Go) 嘘は何もない

「いつか未来に人は繋がれる…」
大事な (Fly) 友から (Fly)
貰った言葉 絶対 (絶対) 夢 (夢) 紡ぐから

響け (響け) 伝え (伝え) 歌え (歌え)
全開で 愛の挽歌よ轟いて

響け (響け) 伝え (伝え) 歌え (歌え)
そしてッ! 勇気も何もかもを 全部束ねよう

(Balwisyall nescell gungnir tron)

君と私、みんな、みんな
歩みきった、足跡に どんな花が咲くのかなぁ?
泣いて、笑い、生まれ落ちた、涙、なみだ…
きっと 綺麗な虹の花になって 咲き歌う…!

響け (響け) 伝え (伝え) 歌え (歌え)
全力で 「一人じゃない」と届けたい

響け (響け) 伝え (伝え) 歌え (歌え)
そしてッ! また会うその日まで笑顔の 「サヨナラ」だ!
絶対に…絶対に…ッ!
48 changes: 48 additions & 0 deletions src/test/resources/out/EvangelionOPFullKanji.split.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
残/酷/な/天/使/の/よ/う/に
少/年/よ 神/話/に/な/れ
蒼/い/風/が/い/ま
胸/の/ド/ア/を/叩/い/て/も
私/だ/け/を/た/だ/見/つ/め/て
微/笑/ん/で/る/あ/な/た
そ/っと/ふ/れ/る/も/の
も/と/め/る/こ/と/に/夢/中/で
運/命/さ/え/ま/だ/知/ら/な/い
い/た/い/け/な/瞳
だ/け/ど/い/つ/か/気/付/く/で/しょ/う
そ/の/背/中/に/は
遥/か/未/来 め/ざ/す/た/め/の
羽/根/が/あ/る/こ/と
残/酷/な/天/使/の/テー/ゼ
窓/辺/か/ら/や/が/て/飛/び/立/つ
ほ/と/ば/し/る/熱/い/パ/ト/ス/で
思/い/出/を/裏/切/る/な/ら
こ/の/宇/宙(そ/ら)を/抱/い/て/輝/く
少/年/よ 神/話/に/な/れ
ず/っと/眠/って/る
私/の/愛/の/揺/り/か/ご
あ/な/た/だ/け/が 夢/の/使/者/に
呼/ば/れ/る/朝/が/く/る
細/い/首/筋/を
月/あ/か/り/が/映/し/て/る
世/界/中/の/時/を/止/め/て
閉/じ/こ/め/た/い/け/ど
も/し/も/ふ/た/り/逢/え/た/こ/と/に
意/味/が/あ/る/な/ら
私/は/そ/う 自/由/を/知/る
た/め/の/バ/イ/ブ/ル
残/酷/な/天/使/の/テー/ゼ
悲/し/み/が/そ/し/て/は/じ/ま/る
抱/き/し/め/た/命/の/か/た/ち
そ/の/夢/に/目/覚/め/た/と/き
誰/よ/り/も/光/を/放/つ
少/年/よ 神/話/に/な/れ
人/は/愛/を/つ/む/ぎ/な/が/ら
歴/史/を/つ/く/る
女/神/な/ん/て/な/れ/な/い/ま/ま
私/は/生/き/る
残/酷/な/天/使/の/テー/ゼ
窓/辺/か/ら/や/が/て/飛/び/立/つ
ほ/と/ば/し/る/熱/い/パ/ト/ス/で
思/い/出/を/裏/切/る/な/ら
こ/の/宇/宙(そ/ら)を/抱/い/て/輝/く
少/年/よ 神/話/に/な/れ
Loading

0 comments on commit 21c51b1

Please sign in to comment.