ENIG-0.0.1.0: test/Test/ENIG.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
module Test.ENIG where
import Test.Framework
import Test.Framework.Providers.HUnit
import Test.Framework.TH
import Test.HUnit.Base
import qualified Data.Text as T
import Data.Text.Normalize
import Data.Text.ENIG
import Data.Text.ENIG.Data
import Data.Text.ENIG.Show
tests = $(testGroupGenerator)
test_UsualCases =
[ testCase "과자을(를) => 과자를" c_01
, testCase "무엇을(를) => 무엇을" c_02
, testCase "한글을(를) => 한글을" c_03
]
test_EuXCases =
[ testCase "과자(으)로 => 과자로" c_11
, testCase "무엇(으)로 => 무엇으로" c_12
, testCase "한글(으)로 => 한글로" c_13
]
test_AutoBaseCases =
[ testCase "enigAuto 과자을(를) = 과자를" c_a01
, testCase "enigAuto 무엇을(를) = 무엇을" c_a02
, testCase "enigAuto 한글을(를) = 한글을" c_a03
, testCase "enigAuto 과자(으)로 = 과자로" c_a11
, testCase "enigAuto 무엇(으)로 = 무엇으로" c_a12
, testCase "enigAuto 한글(으)로 = 한글로" c_a13
]
test_AutoComplexPatternCases =
[ testCase "enigAuto 과자을(를) = 과자를" c_acp01
, testCase "enigAuto 무엇을(를) = 무엇을" c_acp02
, testCase "enigAuto 한글을(를) = 한글을" c_acp03
, testCase "enigAuto 과자(으)로 = 과자로" c_acp11
, testCase "enigAuto 무엇(으)로 = 무엇으로" c_acp12
, testCase "enigAuto 한글(으)로 = 한글로" c_acp13
]
preHangulStrList = ["과자", "무엇", "한글", "ㄱ", "ㅏ"]
preNotHangulStrList = ["1", "2", "test", "harm"]
c_01 = tShowPPPId Leul @?= (enigPPP arg EL)
where arg = preHangulStrList !! 0
c_02 = tShowPPPId Eul @?= (enigPPP arg EL)
where arg = preHangulStrList !! 1
c_03 = tShowPPPId Eul @?= (enigPPP arg EL)
where arg = preHangulStrList !! 3
c_11 = tShowPPPId X @?= (enigPPP arg EuX)
where arg = preHangulStrList !! 0
c_12 = tShowPPPId Eux @?= (enigPPP arg EuX)
where arg = preHangulStrList !! 1
c_13 = tShowPPPId X @?= (enigPPP arg EuX)
where arg = preHangulStrList !! 2
c_a01 = enigAuto "과자을(를)" @?= "과자를"
c_a02 = enigAuto "무엇을(를)" @?= "무엇을"
c_a03 = enigAuto "한글을(를)" @?= "한글을"
c_a11 = enigAuto "과자(으)로" @?= "과자로"
c_a12 = enigAuto "무엇(으)로" @?= "무엇으로"
c_a13 = enigAuto "한글(으)로" @?= "한글로"
c_acp01 = enigAuto "나은(는) 과자을(를) 먹었다." @?= "나는 과자를 먹었다."
c_acp02 = enigAuto "너은(는) 무엇을(를) 하였느냐?" @?= "너는 무엇을 하였느냐?"
c_acp03 = enigAuto "네, 한글을(를) 다루었습니다." @?= "네, 한글을 다루었습니다."
c_acp11 = enigAuto "배고픔을 과자(으)로 때웠다" @?= "배고픔을 과자로 때웠다"
c_acp12 = enigAuto "이것은, 무엇(으)로 만들었는가?" @?= "이것은, 무엇으로 만들었는가?"
c_acp13 = enigAuto "예(Yes)! 한글(으)로 썼습니다" @?= "예(Yes)! 한글로 썼습니다"
-- TODO: Add enigAuto test code