;;-*- mode: nendo; syntax: scheme -*- ;;; ;;; util.nnd - ユーティリティー部のテストスイート ;;; ;;; Copyright (c) 2010 Kiyoka Nishiyama ;;; ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; ;;; 1. Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; ;;; 2. Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in the ;;; documentation and/or other materials provided with the distribution. ;;; ;;; 3. Neither the name of the authors nor the names of its contributors ;;; may be used to endorse or promote products derived from this ;;; software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; ;;; $Id: ;;; (use nendo.test) (use sekka.util) (test-start "util") ;;=================================================================== ;;------------------------------------------------------------------- (test-section "string librarys") (test* "string-drop 1" "2345" (string-drop "12345" 1)) (test* "string-drop 2" "" (string-drop "12345" 5)) (test* "string-drop 3" "" (string-drop "12345" 6)) (test* "string-drop 4" "本語" (string-drop "日本語" 1)) (test* "string-drop 5" "自然言語処理" (string-drop "統計的自然言語処理" 3)) (test* "string-split-first-and-rest 1" '("1" . "2345") (string-split-first-and-rest "12345")) (test* "string-split-first-and-rest 2" '("1" . "") (string-split-first-and-rest "1")) (test* "string-split-first-and-rest 3" '("" . "") (string-split-first-and-rest "")) (test* "string-split-first-and-rest 4" '("頭" . "とシッポ") (string-split-first-and-rest "頭とシッポ")) (test* "string-downcase-first 1" "aBCDE" (string-downcase-first "ABCDE")) (test* "string-downcase-first 2" "abcde" (string-downcase-first "abcde")) (test* "string-downcase-first 3" "abcde" (string-downcase-first "Abcde")) (test* "string-downcase-first 4" "a" (string-downcase-first "A")) (test* "string-downcase-first 5" "あいうえお" (string-downcase-first "あいうえお")) (test* "string-downcase-first 6" "aあいう" (string-downcase-first "Aあいう")) ;;=================================================================== (test-end)