Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion data/3!stations.csv
Original file line number Diff line number Diff line change
Expand Up @@ -7292,7 +7292,7 @@ station_cd,station_g_cd,station_name,station_name_k,station_name_r,station_name_
3600124,3600124,櫛原,クシワラ,Kushiwara,Kushiwara,栉原,구시와라,26,,,,,36001,40,830-0013,福岡県久留米市櫛原町原口1516-4,130.524319,33.319592,0000-00-00,0000-00-00,0,3600124
3600125,3600125,西鉄久留米,ニシテツクルメ,Nishitetsu-Kurume,Nishitetsu-Kurume,西铁久留米,니시테쓰쿠루메,27,,,,,36001,40,830-0032,福岡県久留米市東町309-2,130.521053,33.312276,0000-00-00,0000-00-00,0,3600125
3600126,3600126,花畑,ハナバタケ,Hanabatake,Hanabatake,花畑,하나바타케,28,,,,,36001,40,830-0038,福岡県久留米市西町968,130.515972,33.306643,0000-00-00,0000-00-00,0,3600126
3600127,3600127,聖マリア病院前,セイマリアビョウインマエ,Shikenjo-Mae,Shikenjo-Mae,试验场前,시켄조마에,29,,,,,36001,40,830-0047,福岡県久留米市津福本町235,130.509923,33.301985,0000-00-00,0000-00-00,0,3600127
3600127,3600127,聖マリア病院前,セイマリアビョウインマエ,St. Mary's Hospital,St. Mary's Hospital,圣玛丽病院前,성마리아병원마에,29,,,,,36001,40,830-0047,福岡県久留米市津福本町235,130.509923,33.301985,0000-00-00,0000-00-00,0,3600127
3600128,3600128,津福,ツブク,Tsubuku,Tsubuku,津福,쓰부쿠,30,,,,,36001,40,830-0047,福岡県久留米市津福本町1587,130.497788,33.296505,0000-00-00,0000-00-00,0,3600128
3600129,3600129,安武,ヤスタケ,Yasutake,Yasutake,安武,야스타케,31,,,,,36001,40,830-0072,福岡県久留米市安武町安武本3327,130.489061,33.286311,0000-00-00,0000-00-00,0,3600129
3600130,3600130,大善寺,ダイゼンジ,Daisenji,Daisenji,大善寺,다이젠지,32,,,,,36001,40,830-0073,福岡県久留米市大善寺町宮本1173,130.473897,33.270432,0000-00-00,0000-00-00,0,3600130
Expand Down
2 changes: 1 addition & 1 deletion data/5!station_station_types.csv
Original file line number Diff line number Diff line change
Expand Up @@ -10058,7 +10058,7 @@ DEFAULT,3600105,306,267,0,大橋
DEFAULT,3600106,306,267,1,井尻
DEFAULT,3600107,306,267,1,雑餉隈
DEFAULT,3600150,306,267,1,桜並木
DEFAULT,3600108,306,267,1,春日原
DEFAULT,3600108,306,267,0,春日原
DEFAULT,3600109,306,267,1,白木原
DEFAULT,3600110,306,267,1,下大利
DEFAULT,3600111,306,267,1,都府楼前
Expand Down
69 changes: 69 additions & 0 deletions stationapi/src/domain/normalize.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,73 @@ mod tests {
// ひらがな・カタカナ混合のテスト
assert_eq!(normalize_for_search("とうキョウ"), "トウキョウ");
}

#[test]
fn test_normalize_hiragana_to_katakana() {
// 全ひらがな→カタカナ変換
assert_eq!(normalize_for_search("しんじゅく"), "シンジュク");
assert_eq!(normalize_for_search("おおさか"), "オオサカ");
assert_eq!(normalize_for_search("きょうと"), "キョウト");
// 小さいひらがな
assert_eq!(normalize_for_search("ぁぃぅぇぉ"), "ァィゥェォ");
assert_eq!(normalize_for_search("っゃゅょ"), "ッャュョ");
// ひらがなの範囲の端(ぁ〜ん)
assert_eq!(normalize_for_search("ぁ"), "ァ");
assert_eq!(normalize_for_search("ん"), "ン");
}

#[test]
fn test_normalize_fullwidth_numbers() {
// 全角数字→半角数字変換
assert_eq!(normalize_for_search("0123456789"), "0123456789");
assert_eq!(normalize_for_search("東京123"), "東京123");
}

#[test]
fn test_normalize_fullwidth_alphabet() {
// 全角英字→半角英字変換
assert_eq!(normalize_for_search("ABCDE"), "ABCDE");
assert_eq!(normalize_for_search("abcde"), "abcde");
assert_eq!(normalize_for_search("Z"), "Z");
assert_eq!(normalize_for_search("z"), "z");
}

#[test]
fn test_normalize_mixed_input() {
// 漢字+ひらがな+全角数字の混合
assert_eq!(normalize_for_search("東京駅1番線"), "東京駅1番線");
// ひらがな+漢字+全角英字
assert_eq!(
normalize_for_search("しんじゅく駅WEST"),
"シンジュク駅WEST"
);
// 複合パターン
assert_eq!(
normalize_for_search("とうきょう123ABC"),
"トウキョウ123ABC"
);
}

#[test]
fn test_normalize_preserves_other_characters() {
// カタカナはそのまま
assert_eq!(normalize_for_search("トウキョウ"), "トウキョウ");
// 漢字はそのまま
assert_eq!(normalize_for_search("東京"), "東京");
// 半角英数字はそのまま
assert_eq!(normalize_for_search("Tokyo123"), "Tokyo123");
// 記号はそのまま
assert_eq!(normalize_for_search("東京-品川"), "東京-品川");
assert_eq!(normalize_for_search("(テスト)"), "(テスト)");
}

#[test]
fn test_normalize_station_name_search_patterns() {
// 実際の駅名検索で使われるパターン
assert_eq!(normalize_for_search("しながわ"), "シナガワ");
assert_eq!(normalize_for_search("うえの"), "ウエノ");
assert_eq!(normalize_for_search("あきはばら"), "アキハバラ");
assert_eq!(normalize_for_search("いけぶくろ"), "イケブクロ");
assert_eq!(normalize_for_search("しぶや"), "シブヤ");
}
}
Loading