Skip to content

Commit

Permalink
test: Add main_test.py (#23)
Browse files Browse the repository at this point in the history
  • Loading branch information
peaceiris authored Jul 27, 2020
1 parent f12b560 commit 1723d0d
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 18 deletions.
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ jobs:
- uses: actions/checkout@v2.3.1
- run: docker-compose build
- run: make build
- run: make test
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
.DS_Store
build
__pycache__
9 changes: 9 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
.PHONY: build
build:
docker-compose run --rm -T dev python main.py

.PHONY: test
test:
docker-compose run --rm -T dev python main_test.py

.PHONY: all
all:
$(MAKE) test
$(MAKE) build
38 changes: 20 additions & 18 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,22 @@
EMOJI_JSON_URL = 'https://raw.githubusercontent.com/yagays/emoji-ja/20190726/data/emoji_ja.json'
EMOJI_DICT_PATH = 'tsv/emoji.tsv'
kakasi = kakasi()
kakasi.setMode("J","H")
conv_j2h = kakasi.getConverter()
kakasi.setMode("K","H")
conv_k2h = kakasi.getConverter()


def hiraganafy(keyword):
k = keyword.upper()
k = conv_j2h.do(k)
k = conv_k2h.do(k)
return k


def add_word_to_dict(emoji, keyword, emoji_dict):
word = f':{keyword}\t{emoji}\t記号\t'
emoji_dict.append(word)


class EmojiDict():
Expand All @@ -31,28 +47,14 @@ def create_emoji_dict(self) -> None:
for k in self.emoji_json[emoji]['keywords']:
if k.isalpha() is False:
continue
k = k.upper()
kakasi.setMode("J","H")
conv = kakasi.getConverter()
k = conv.do(k)
kakasi.setMode("K","H")
conv = kakasi.getConverter()
k = conv.do(k)
w = f':{k}\t{emoji}\t記号\t'
self.emoji_dict.append(w)
k = hiraganafy(k)
add_word_to_dict(emoji, k, self.emoji_dict)

k = self.emoji_json[emoji]['short_name']
if k.isalpha() is False:
continue
k = k.upper()
kakasi.setMode("J","H")
conv = kakasi.getConverter()
k = conv.do(k)
kakasi.setMode("K","H")
conv = kakasi.getConverter()
k = conv.do(k)
w = f':{k}\t{emoji}\t記号\t'
self.emoji_dict.append(w)
k = hiraganafy(k)
add_word_to_dict(emoji, k, self.emoji_dict)

self.emoji_dict.sort()
self.emoji_dict = '\n'.join(self.emoji_dict)
Expand Down
22 changes: 22 additions & 0 deletions main_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import unittest
import main

class TestStringMethods(unittest.TestCase):

def test_hiraganafy(self):
katakana = 'カタカナ'
self.assertEqual(main.hiraganafy(katakana), 'かたかな')
kanji = '漢字'
self.assertEqual(main.hiraganafy(kanji), 'かんじ')
hiragana = 'ひらがな'
self.assertEqual(main.hiraganafy(hiragana), 'ひらがな')

def test_add_word_to_dict(self):
emoji_dict = []
main.add_word_to_dict('🇯🇵', 'にっぽん', emoji_dict)
expected_row = f':にっぽん\t🇯🇵\t記号\t'
self.assertEqual(expected_row, emoji_dict[0])


if __name__ == '__main__':
unittest.main(verbosity=2)

0 comments on commit 1723d0d

Please sign in to comment.