const DEUN: (&str, &str, &str) = ("(이)든", "든", "이든");
const DEUNJI: (&str, &str, &str) = ("(이)든지", "든지", "이든지");
const DEUNKA: (&str, &str, &str) = ("(이)든가", "든가", "이든가");
const EUL: (&str, &str, &str) = ("(을)를", "를", "을");
const IDA: (&str, &str, &str) = ("(이)다", "다", "이다");
const INDEUL: (&str, &str, &str) = ("ㄴ", "들", "인들");
const INJEUK: (&str, &str, &str) = ("ㄴ", "즉", "인즉");
const ILLANG: (&str, &str, &str) = ("ㄹ", "랑", "일랑");
const KA: (&str, &str, &str) = ("(이)가", "가", "이");
const KO: (&str, &str, &str) = ("(이)고", "고", "이고");
const MYEO: (&str, &str, &str) = ("(이)며", "며", "이며");
const NA: (&str, &str, &str) = ("(이)나", "나", "이나");
const NAMA: (&str, &str, &str) = ("(이)나마", "나마", "이나마");
const NEUN: (&str, &str, &str) = ("(은)는", "는", "은");
const NI: (&str, &str, &str) = ("(이)니", "니", "이니");
const RADO: (&str, &str, &str) = ("(이)라도", "라도", "이라도");
const RAGO: (&str, &str, &str) = ("(이)라고", "라고", "이라고");
const RAN: (&str, &str, &str) = ("(이)란", "란", "이란");
const RANG: (&str, &str, &str) = ("(이)랑", "랑", "이랑");
const RAYA: (&str, &str, &str) = ("(이)라야", "라야", "이라야");
const RO: (&str, &str, &str) = ("(으)로", "로", "으로");
const ROBUTEO: (&str, &str, &str) = ("(으)로부터", "로부터", "으로부터");
const ROSEO: (&str, &str, &str) = ("(으)로서", "로서", "으로서");
const ROSSEO: (&str, &str, &str) = ("(으)로써", "로써", "으로써");
const WA: (&str, &str, &str) = ("(와)과", "와", "과");
const YA: (&str, &str, &str) = ("(아)야", "야", "아");
const YAMALRO: (&str, &str, &str) = ("(이)야말로", "야말로", "이야말로");
const YEO: (&str, &str, &str) = ("(이)여", "여", "이여");
const JI: (&str, &str, &str) = ("(이)지", "지", "이지");
const JIMAN: (&str, &str, &str) = ("(이)지만", "지만", "이지만");
const NIKKA: (&str, &str, &str) = ("(이)니까", "니까", "이니까");
const GEON: (&str, &str, &str) = ("(이)건", "건", "이건");
const GEODEUN: (&str, &str, &str) = ("(이)거든", "거든", "이거든");
const GEONA: (&str, &str, &str) = ("(이)거나", "거나", "이거나");
const NYA: (&str, &str, &str) = ("(이)냐", "냐", "이냐");
const RAMYEON: (&str, &str, &str) = ("(이)라면", "라면", "이라면");
const RASEO: (&str, &str, &str) = ("(이)라서", "라서", "이라서");
const RANEUN: (&str, &str, &str) = ("(이)라는", "라는", "이라는");
const EYO: (&str, &str, &str) = ("(이)에요", "예요", "이에요");
const EOTDA: (&str, &str, &str) = ("(이)었다", "였다", "이었다");
const EOSEO: (&str, &str, &str) = ("(이)어서", "여서", "이어서");
const RODO: (&str, &str, &str) = ("(으)로도", "로도", "으로도");
const ROMAN: (&str, &str, &str) = ("(으)로만", "로만", "으로만");
const RONEUN: (&str, &str, &str) = ("(으)로는", "로는", "으로는");
const ROUI: (&str, &str, &str) = ("(으)로의", "로의", "으로의");
const RANI: (&str, &str, &str) = ("(이)라니", "라니", "이라니");
const RANDA: (&str, &str, &str) = ("(이)란다", "란다", "이란다");
const RAMYEONSEO: (&str, &str, &str) = ("(이)라면서", "라면서", "이라면서");
const RADEUNKA: (&str, &str, &str) = ("(이)라든가", "라든가", "이라든가");
const RADEUNJI: (&str, &str, &str) = ("(이)라든지", "라든지", "이라든지");
const YO: (&str, &str, &str) = ("(이)요", "요", "이요");
const EOTDEON: (&str, &str, &str) = ("(이)었던", "였던", "이었던");
const RAGONEUN: (&str, &str, &str) = ("(이)라고는", "라고는", "이라고는");
const ROSEOUI: (&str, &str, &str) = ("(으)로서의", "로서의", "으로서의");
use crate::guess_final_letter;
use crate::modify_final_jamo;
use crate::identifier::{Tossi, TossiKind, TransTossiWhen};
fn get_variants(kind: &TossiKind) -> (&'static str, &'static str, &'static str) {
match kind {
TossiKind::Deun => DEUN,
TossiKind::Deunka => DEUNKA,
TossiKind::Deunji => DEUNJI,
TossiKind::Eul => EUL,
TossiKind::Ida => IDA,
TossiKind::Indeul => INDEUL,
TossiKind::Injeuk => INJEUK,
TossiKind::Ka => KA,
TossiKind::Ko => KO,
TossiKind::Myeo => MYEO,
TossiKind::Na => NA,
TossiKind::Nama => NAMA,
TossiKind::Neun => NEUN,
TossiKind::Ni => NI,
TossiKind::Rado => RADO,
TossiKind::Rago => RAGO,
TossiKind::Ran => RAN,
TossiKind::Rang => RANG,
TossiKind::Raya => RAYA,
TossiKind::Ya => YA,
TossiKind::Yamalro => YAMALRO,
TossiKind::Yeo => YEO,
TossiKind::Wa => WA,
TossiKind::Ro => RO,
TossiKind::Roseo => ROSEO,
TossiKind::Rosseo => ROSSEO,
TossiKind::Robuteo => ROBUTEO,
TossiKind::Illang => ILLANG,
TossiKind::Ji => JI,
TossiKind::Jiman => JIMAN,
TossiKind::Nikka => NIKKA,
TossiKind::Geon => GEON,
TossiKind::Geodeun => GEODEUN,
TossiKind::Geona => GEONA,
TossiKind::Nya => NYA,
TossiKind::Ramyeon => RAMYEON,
TossiKind::Raseo => RASEO,
TossiKind::Raneun => RANEUN,
TossiKind::Eyo => EYO,
TossiKind::Eotda => EOTDA,
TossiKind::Eoseo => EOSEO,
TossiKind::Rodo => RODO,
TossiKind::Roman => ROMAN,
TossiKind::Roneun => RONEUN,
TossiKind::Roui => ROUI,
TossiKind::Rani => RANI,
TossiKind::Randa => RANDA,
TossiKind::Ramyeonseo => RAMYEONSEO,
TossiKind::Radeunka => RADEUNKA,
TossiKind::Radeunji => RADEUNJI,
TossiKind::Yo => YO,
TossiKind::Eotdeon => EOTDEON,
TossiKind::Ragoneun => RAGONEUN,
TossiKind::Roseoui => ROSEOUI,
TossiKind::Others => (" ", " ", " "),
}
}
pub fn tossi(word: &str, tossi: Tossi) -> String {
let tossi_variants = get_variants(&tossi.kind);
match tossi.when {
TransTossiWhen::Blank => when_blank(word, tossi_variants).to_string(),
TransTossiWhen::RiEulAndBlank => when_rieul_and_blank(word, tossi_variants).to_string(),
TransTossiWhen::OnlyKa => only_ka(word, tossi_variants),
TransTossiWhen::LastJamoNieun => when_last_jamo_nieun(word, tossi_variants),
TransTossiWhen::LastJamoRieul => when_last_jamo_rieul(word, tossi_variants),
TransTossiWhen::Nothing => " ".to_string(),
}
}
pub fn split_word_tossi(word: &str, tossi: Tossi) -> (String, String) {
let tossi_variants = get_variants(&tossi.kind);
let mut variants = [tossi_variants.0, tossi_variants.1, tossi_variants.2];
variants.sort_by_key(|b| std::cmp::Reverse(b.len()));
for tossi in variants {
if word.ends_with(tossi) {
let word_length = word.len() - tossi.len();
let word = &word[..word_length];
return (word.to_string(), tossi.to_string());
}
}
(word.to_string(), "".to_string())
}
fn when_rieul_and_blank<'a>(word: &'a str, tossi_variants: (&'a str, &'a str, &'a str)) -> &'a str {
let filtered = guess_final_letter(word);
if filtered == 'N' {
tossi_variants.0
} else if filtered == ' ' || filtered == 'ㄹ' {
tossi_variants.1
} else {
tossi_variants.2
}
}
fn only_ka<'a>(word: &'a str, tossi_variants: (&'a str, &'a str, &'a str)) -> String {
let filtered = guess_final_letter(word);
if filtered == 'N' {
word.to_string() + tossi_variants.0
} else if filtered == ' ' {
if word == "누구" {
"누가".to_string()
} else if word == "나" {
"내가".to_string()
} else if word == "저" {
"제가".to_string()
} else if word == "너" {
"네가".to_string()
} else {
word.to_string() + tossi_variants.1
}
} else {
word.to_string() + tossi_variants.2
}
}
fn when_last_jamo_nieun<'a>(word: &'a str, tossi_variants: (&'a str, &'a str, &'a str)) -> String {
let filtered = guess_final_letter(word);
if filtered == 'N' {
word.to_string() + tossi_variants.2
} else if filtered == ' ' {
let mut temp_word: String = word.to_string();
let last_char = temp_word.pop();
if let Some(temp) = last_char {
let temp_last_char = modify_final_jamo(temp, 'ㄴ');
temp_word.push(temp_last_char);
temp_word + tossi_variants.1
} else {
word.to_string() + tossi_variants.1
}
} else {
word.to_string() + tossi_variants.2
}
}
fn when_last_jamo_rieul<'a>(word: &'a str, tossi_variants: (&'a str, &'a str, &'a str)) -> String {
let filtered = guess_final_letter(word);
if filtered == 'N' {
word.to_string() + tossi_variants.2
} else if filtered == ' ' {
let mut temp_word: String = word.to_string();
let last_char = temp_word.pop();
if let Some(temp) = last_char {
let temp_last_char = modify_final_jamo(temp, 'ㄹ');
temp_word.push(temp_last_char);
temp_word + tossi_variants.1
} else {
word.to_string() + tossi_variants.1
}
} else {
word.to_string() + tossi_variants.2
}
}
fn when_blank<'a>(word: &'a str, tossi_variants: (&'a str, &'a str, &'a str)) -> &'a str {
let filtered = guess_final_letter(word);
if filtered == 'N' {
tossi_variants.0
} else if filtered == ' ' {
tossi_variants.1
} else {
tossi_variants.2
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn _when_blank_rago() {
let temp = "고향";
let result = "이라고";
assert_eq!(result, when_blank(temp, RAGO));
let temp = "자네";
let result = "라고";
assert_eq!(result, when_blank(temp, RAGO));
let temp = "아이";
let result = "라고";
assert_eq!(result, when_blank(temp, RAGO));
let temp = "google";
let result = "(이)라고";
assert_eq!(result, when_blank(temp, RAGO));
let temp = "넥슨(코리아)";
let result = "이라고";
assert_eq!(result, when_blank(temp, RAGO));
let temp = "비타500";
let result = "이라고";
assert_eq!(result, when_blank(temp, RAGO));
}
#[test]
fn _when_only_ka() {
let temp = "철수";
let result = "철수가";
assert_eq!(result, only_ka(temp, KA));
let temp = "법원";
let result = "법원이";
assert_eq!(result, only_ka(temp, KA));
let temp = "google";
let result = "google(이)가";
assert_eq!(result, only_ka(temp, KA));
let temp = "넥슨(코리아)";
let result = "넥슨(코리아)이";
assert_eq!(result, only_ka(temp, KA));
let temp = "비타500";
let result = "비타500이";
assert_eq!(result, only_ka(temp, KA));
let temp = "누구";
let result = "누가";
assert_eq!(result, only_ka(temp, KA));
let temp = "나";
let result = "내가";
assert_eq!(result, only_ka(temp, KA));
let temp = "저";
let result = "제가";
assert_eq!(result, only_ka(temp, KA));
let temp = "너";
let result = "네가";
assert_eq!(result, only_ka(temp, KA));
}
#[test]
fn _when_last_jamo_rieul() {
let temp = "자네";
let result = "자넬랑";
assert_eq!(result, when_last_jamo_rieul(temp, ILLANG));
let temp = "여기서";
let result = "여기설랑";
assert_eq!(result, when_last_jamo_rieul(temp, ILLANG));
let temp = "나";
let result = "날랑";
assert_eq!(result, when_last_jamo_rieul(temp, ILLANG));
let temp = "술";
let result = "술일랑";
assert_eq!(result, when_last_jamo_rieul(temp, ILLANG));
let temp = "google";
let result = "google일랑";
assert_eq!(result, when_last_jamo_rieul(temp, ILLANG));
let temp = "naver";
let result = "naver일랑";
assert_eq!(result, when_last_jamo_rieul(temp, ILLANG));
let temp = "넥슨(코리아)";
let result = "넥슨(코리아)일랑";
assert_eq!(result, when_last_jamo_rieul(temp, ILLANG));
let temp = "비타500";
let result = "비타500일랑";
assert_eq!(result, when_last_jamo_rieul(temp, ILLANG));
}
#[test]
fn _when_last_jamo_nieun() {
let temp = "철수";
let result = "철순들";
assert_eq!(result, when_last_jamo_nieun(temp, INDEUL));
let temp = "아버지";
let result = "아버진들";
assert_eq!(result, when_last_jamo_nieun(temp, INDEUL));
let temp = "나";
let result = "난들";
assert_eq!(result, when_last_jamo_nieun(temp, INDEUL));
let temp = "법원";
let result = "법원인들";
assert_eq!(result, when_last_jamo_nieun(temp, INDEUL));
let temp = "google";
let result = "google인들";
assert_eq!(result, when_last_jamo_nieun(temp, INDEUL));
let temp = "naver";
let result = "naver인들";
assert_eq!(result, when_last_jamo_nieun(temp, INDEUL));
let temp = "넥슨(코리아)";
let result = "넥슨(코리아)인들";
assert_eq!(result, when_last_jamo_nieun(temp, INDEUL));
let temp = "비타500";
let result = "비타500인들";
assert_eq!(result, when_last_jamo_nieun(temp, INDEUL));
let temp = "철수";
let result = "철순즉";
assert_eq!(result, when_last_jamo_nieun(temp, INJEUK));
let temp = "아버지";
let result = "아버진즉";
assert_eq!(result, when_last_jamo_nieun(temp, INJEUK));
let temp = "나";
let result = "난즉";
assert_eq!(result, when_last_jamo_nieun(temp, INJEUK));
let temp = "법원";
let result = "법원인즉";
assert_eq!(result, when_last_jamo_nieun(temp, INJEUK));
let temp = "google";
let result = "google인즉";
assert_eq!(result, when_last_jamo_nieun(temp, INJEUK));
let temp = "naver";
let result = "naver인즉";
assert_eq!(result, when_last_jamo_nieun(temp, INJEUK));
let temp = "넥슨(코리아)";
let result = "넥슨(코리아)인즉";
assert_eq!(result, when_last_jamo_nieun(temp, INJEUK));
let temp = "비타500";
let result = "비타500인즉";
assert_eq!(result, when_last_jamo_nieun(temp, INJEUK));
}
#[test]
fn _when_rieul_and_blank() {
let temp = "네이버";
let result = "로";
assert_eq!(result, when_rieul_and_blank(temp, RO));
let temp = "법원";
let result = "으로";
assert_eq!(result, when_rieul_and_blank(temp, RO));
let temp = "구글";
let result = "로";
assert_eq!(result, when_rieul_and_blank(temp, RO));
let temp = "google";
let result = "(으)로";
assert_eq!(result, when_rieul_and_blank(temp, RO));
let temp = "넥슨(코리아)";
let result = "으로";
assert_eq!(result, when_rieul_and_blank(temp, RO));
let temp = "비타500";
let result = "으로";
assert_eq!(result, when_rieul_and_blank(temp, RO));
}
#[test]
fn _when_blank() {
let temp = "네이버";
let result = "를";
assert_eq!(result, when_blank(temp, EUL));
let temp = "google";
let result = "(을)를";
assert_eq!(result, when_blank(temp, EUL));
let temp = "넥슨(코리아)";
let result = "을";
assert_eq!(result, when_blank(temp, EUL));
let temp = "비타500";
let result = "을";
assert_eq!(result, when_blank(temp, EUL));
}
#[test]
fn _when_blank_na() {
let temp = "도서관";
let result = "이나";
assert_eq!(result, when_blank(temp, NA));
let temp = "학교";
let result = "나";
assert_eq!(result, when_blank(temp, NA));
let temp = "어제";
let result = "나";
assert_eq!(result, when_blank(temp, NA));
let temp = "google";
let result = "(이)나";
assert_eq!(result, when_blank(temp, NA));
let temp = "넥슨(코리아)";
let result = "이나";
assert_eq!(result, when_blank(temp, NA));
let temp = "비타500";
let result = "이나";
assert_eq!(result, when_blank(temp, NA));
}
#[test]
fn _when_blank_rang() {
let temp = "도서관";
let result = "이랑";
assert_eq!(result, when_blank(temp, RANG));
let temp = "학교";
let result = "랑";
assert_eq!(result, when_blank(temp, RANG));
let temp = "어제";
let result = "랑";
assert_eq!(result, when_blank(temp, RANG));
let temp = "google";
let result = "(이)랑";
assert_eq!(result, when_blank(temp, RANG));
let temp = "넥슨(코리아)";
let result = "이랑";
assert_eq!(result, when_blank(temp, RANG));
let temp = "비타500";
let result = "이랑";
assert_eq!(result, when_blank(temp, RANG));
}
#[test]
fn _when_blank_ran() {
let temp = "사람";
let result = "이란";
assert_eq!(result, when_blank(temp, RAN));
let temp = "책";
let result = "이란";
assert_eq!(result, when_blank(temp, RAN));
let temp = "우주";
let result = "란";
assert_eq!(result, when_blank(temp, RAN));
let temp = "어제";
let result = "란";
assert_eq!(result, when_blank(temp, RAN));
let temp = "google";
let result = "(이)란";
assert_eq!(result, when_blank(temp, RAN));
let temp = "넥슨(코리아)";
let result = "이란";
assert_eq!(result, when_blank(temp, RAN));
let temp = "비타500";
let result = "이란";
assert_eq!(result, when_blank(temp, RAN));
}
#[test]
fn _when_blank_nama() {
let temp = "못하";
let result = "나마";
assert_eq!(result, when_blank(temp, NAMA));
let temp = "책";
let result = "이나마";
assert_eq!(result, when_blank(temp, NAMA));
let temp = "몸";
let result = "이나마";
assert_eq!(result, when_blank(temp, NAMA));
let temp = "힘";
let result = "이나마";
assert_eq!(result, when_blank(temp, NAMA));
let temp = "google";
let result = "(이)나마";
assert_eq!(result, when_blank(temp, NAMA));
let temp = "넥슨(코리아)";
let result = "이나마";
assert_eq!(result, when_blank(temp, NAMA));
let temp = "비타500";
let result = "이나마";
assert_eq!(result, when_blank(temp, NAMA));
}
#[test]
fn _when_blank_myeo() {
let temp = "그림";
let result = "이며";
assert_eq!(result, when_blank(temp, MYEO));
let temp = "조각";
let result = "이며";
assert_eq!(result, when_blank(temp, MYEO));
let temp = "학자";
let result = "며";
assert_eq!(result, when_blank(temp, MYEO));
let temp = "정치가";
let result = "며";
assert_eq!(result, when_blank(temp, MYEO));
let temp = "google";
let result = "(이)며";
assert_eq!(result, when_blank(temp, MYEO));
let temp = "넥슨(코리아)";
let result = "이며";
assert_eq!(result, when_blank(temp, MYEO));
let temp = "비타500";
let result = "이며";
assert_eq!(result, when_blank(temp, MYEO));
}
#[test]
fn _when_blank_yamalro() {
let temp = "삶";
let result = "이야말로";
assert_eq!(result, when_blank(temp, YAMALRO));
let temp = "조각";
let result = "이야말로";
assert_eq!(result, when_blank(temp, YAMALRO));
let temp = "한자";
let result = "야말로";
assert_eq!(result, when_blank(temp, YAMALRO));
let temp = "정치가";
let result = "야말로";
assert_eq!(result, when_blank(temp, YAMALRO));
let temp = "google";
let result = "(이)야말로";
assert_eq!(result, when_blank(temp, YAMALRO));
let temp = "넥슨(코리아)";
let result = "이야말로";
assert_eq!(result, when_blank(temp, YAMALRO));
let temp = "비타500";
let result = "이야말로";
assert_eq!(result, when_blank(temp, YAMALRO));
}
#[test]
fn _when_blank_ko() {
let temp = "산";
let result = "이고";
assert_eq!(result, when_blank(temp, KO));
let temp = "강";
let result = "이고";
assert_eq!(result, when_blank(temp, KO));
let temp = "공부";
let result = "고";
assert_eq!(result, when_blank(temp, KO));
let temp = "뭐";
let result = "고";
assert_eq!(result, when_blank(temp, KO));
let temp = "직장에서";
let result = "고";
assert_eq!(result, when_blank(temp, KO));
let temp = "가정에서고";
let result = "고";
assert_eq!(result, when_blank(temp, KO));
let temp = "google";
let result = "(이)고";
assert_eq!(result, when_blank(temp, KO));
let temp = "넥슨(코리아)";
let result = "이고";
assert_eq!(result, when_blank(temp, KO));
let temp = "비타500";
let result = "이고";
assert_eq!(result, when_blank(temp, KO));
}
#[test]
fn _when_blank_ni() {
let temp = "떡";
let result = "이니";
assert_eq!(result, when_blank(temp, NI));
let temp = "과일";
let result = "이니";
assert_eq!(result, when_blank(temp, NI));
let temp = "옥수수";
let result = "니";
assert_eq!(result, when_blank(temp, NI));
let temp = "조";
let result = "니";
assert_eq!(result, when_blank(temp, NI));
let temp = "고추";
let result = "니";
assert_eq!(result, when_blank(temp, NI));
let temp = "google";
let result = "(이)니";
assert_eq!(result, when_blank(temp, NI));
let temp = "넥슨(코리아)";
let result = "이니";
assert_eq!(result, when_blank(temp, NI));
let temp = "비타500";
let result = "이니";
assert_eq!(result, when_blank(temp, NI));
}
#[test]
fn _when_blank_deun() {
let temp = "짐승";
let result = "이든";
assert_eq!(result, when_blank(temp, DEUN));
let temp = "사람";
let result = "이든";
assert_eq!(result, when_blank(temp, DEUN));
let temp = "사과";
let result = "든";
assert_eq!(result, when_blank(temp, DEUN));
let temp = "배";
let result = "든";
assert_eq!(result, when_blank(temp, DEUN));
let temp = "고추";
let result = "든";
assert_eq!(result, when_blank(temp, DEUN));
let temp = "google";
let result = "(이)든";
assert_eq!(result, when_blank(temp, DEUN));
let temp = "넥슨(코리아)";
let result = "이든";
assert_eq!(result, when_blank(temp, DEUN));
let temp = "비타500";
let result = "이든";
assert_eq!(result, when_blank(temp, DEUN));
}
#[test]
fn _when_blank_deunji() {
let temp = "일";
let result = "이든지";
assert_eq!(result, when_blank(temp, DEUNJI));
let temp = "짐승";
let result = "이든지";
assert_eq!(result, when_blank(temp, DEUNJI));
let temp = "비행기";
let result = "든지";
assert_eq!(result, when_blank(temp, DEUNJI));
let temp = "기차";
let result = "든지";
assert_eq!(result, when_blank(temp, DEUNJI));
let temp = "google";
let result = "(이)든지";
assert_eq!(result, when_blank(temp, DEUNJI));
let temp = "넥슨(코리아)";
let result = "이든지";
assert_eq!(result, when_blank(temp, DEUNJI));
let temp = "비타500";
let result = "이든지";
assert_eq!(result, when_blank(temp, DEUNJI));
}
#[test]
fn _when_blank_deunka() {
let temp = "재작년";
let result = "이든가";
assert_eq!(result, when_blank(temp, DEUNKA));
let temp = "작년";
let result = "이든가";
assert_eq!(result, when_blank(temp, DEUNKA));
let temp = "운전이라";
let result = "든가";
assert_eq!(result, when_blank(temp, DEUNKA));
let temp = "뭐";
let result = "든가";
assert_eq!(result, when_blank(temp, DEUNKA));
let temp = "google";
let result = "(이)든가";
assert_eq!(result, when_blank(temp, DEUNKA));
let temp = "넥슨(코리아)";
let result = "이든가";
assert_eq!(result, when_blank(temp, DEUNKA));
let temp = "비타500";
let result = "이든가";
assert_eq!(result, when_blank(temp, DEUNKA));
}
#[test]
fn _when_blank_yeo() {
let temp = "슬픔";
let result = "이여";
assert_eq!(result, when_blank(temp, YEO));
let temp = "기쁨";
let result = "이여";
assert_eq!(result, when_blank(temp, YEO));
let temp = "겨레";
let result = "여";
assert_eq!(result, when_blank(temp, YEO));
let temp = "나라";
let result = "여";
assert_eq!(result, when_blank(temp, YEO));
let temp = "google";
let result = "(이)여";
assert_eq!(result, when_blank(temp, YEO));
let temp = "넥슨(코리아)";
let result = "이여";
assert_eq!(result, when_blank(temp, YEO));
let temp = "비타500";
let result = "이여";
assert_eq!(result, when_blank(temp, YEO));
}
#[test]
fn _when_blank_raya() {
let temp = "사람";
let result = "이라야";
assert_eq!(result, when_blank(temp, RAYA));
let temp = "기쁨";
let result = "이라야";
assert_eq!(result, when_blank(temp, RAYA));
let temp = "저녁에";
let result = "라야";
assert_eq!(result, when_blank(temp, RAYA));
let temp = "호랑이";
let result = "라야";
assert_eq!(result, when_blank(temp, RAYA));
let temp = "google";
let result = "(이)라야";
assert_eq!(result, when_blank(temp, RAYA));
let temp = "넥슨(코리아)";
let result = "이라야";
assert_eq!(result, when_blank(temp, RAYA));
let temp = "비타500";
let result = "이라야";
assert_eq!(result, when_blank(temp, RAYA));
}
#[test]
fn _when_blank_wa() {
let temp = "얼음";
let result = "과";
assert_eq!(result, when_blank(temp, WA));
let temp = "친구들";
let result = "과";
assert_eq!(result, when_blank(temp, WA));
let temp = "소";
let result = "와";
assert_eq!(result, when_blank(temp, WA));
let temp = "친구";
let result = "와";
assert_eq!(result, when_blank(temp, WA));
let temp = "google";
let result = "(와)과";
assert_eq!(result, when_blank(temp, WA));
let temp = "넥슨(코리아)";
let result = "과";
assert_eq!(result, when_blank(temp, WA));
let temp = "비타500";
let result = "과";
assert_eq!(result, when_blank(temp, WA));
}
#[test]
fn _when_blank_ya() {
let temp = "사람";
let result = "아";
assert_eq!(result, when_blank(temp, YA));
let temp = "친구들";
let result = "아";
assert_eq!(result, when_blank(temp, YA));
let temp = "철수";
let result = "야";
assert_eq!(result, when_blank(temp, YA));
let temp = "영희";
let result = "야";
assert_eq!(result, when_blank(temp, YA));
let temp = "google";
let result = "(아)야";
assert_eq!(result, when_blank(temp, YA));
let temp = "넥슨(코리아)";
let result = "아";
assert_eq!(result, when_blank(temp, YA));
let temp = "비타500";
let result = "아";
assert_eq!(result, when_blank(temp, YA));
}
#[test]
fn _when_blank_rado() {
let temp = "얼음";
let result = "이라도";
assert_eq!(result, when_blank(temp, RADO));
let temp = "친구들";
let result = "이라도";
assert_eq!(result, when_blank(temp, RADO));
let temp = "소";
let result = "라도";
assert_eq!(result, when_blank(temp, RADO));
let temp = "친구";
let result = "라도";
assert_eq!(result, when_blank(temp, RADO));
let temp = "google";
let result = "(이)라도";
assert_eq!(result, when_blank(temp, RADO));
let temp = "넥슨(코리아)";
let result = "이라도";
assert_eq!(result, when_blank(temp, RADO));
let temp = "비타500";
let result = "이라도";
assert_eq!(result, when_blank(temp, RADO));
}
}