mirror of
https://github.com/kennethreitz/context.git
synced 2026-06-05 23:00:17 +00:00
69 lines
1.4 KiB
Plaintext
69 lines
1.4 KiB
Plaintext
/*
|
|
* @progname st_name.li
|
|
* @version 1.0
|
|
* @author Perry Rapp
|
|
* @category self-test
|
|
* @output none
|
|
* @description validate name functions
|
|
*/
|
|
|
|
char_encoding("ASCII")
|
|
|
|
require("lifelines-reports.version:1.3")
|
|
option("explicitvars") /* Disallow use of undefined variables */
|
|
include("st_aux")
|
|
|
|
/* entry point in case not invoked via st_all.ll */
|
|
proc main()
|
|
{
|
|
call testNames()
|
|
}
|
|
|
|
|
|
/*
|
|
test some name functions
|
|
*/
|
|
proc testNames()
|
|
{
|
|
set(testok, 0)
|
|
set(testfail, 0)
|
|
|
|
set(namestr, "Fyodor Nikolaievich Medvedev")
|
|
call testExtract(namestr, 3, 0)
|
|
|
|
set(namestr, "Jose Antonio Martinez de Garcia")
|
|
call testExtract(namestr, 5, 0)
|
|
|
|
set(namestr, "Jose Antonio /Martinez/ de Garcia")
|
|
call testExtract(namestr, 5, 3)
|
|
|
|
set(namestr, "Kara /Hattersley-Smith/")
|
|
call testExtract(namestr, 2, 2)
|
|
|
|
set(namestr, "L. /Vitellius/ Tancinus Cives Hisp. Caurie[n]sis")
|
|
call testExtract(namestr, 6, 2)
|
|
|
|
call reportSubsection("name tests")
|
|
}
|
|
|
|
/* test extractnames on passed string */
|
|
proc testExtract(namestr, fragcount, surn)
|
|
{
|
|
set(node, createnode("NAME", namestr))
|
|
list(namelist)
|
|
extractnames(node, namelist, count, surna)
|
|
|
|
if (ne(count, fragcount)) {
|
|
call reportfail(concat("extractnames failed count "
|
|
, d(count), "<>", d(fragcount), " on ", namestr))
|
|
}
|
|
else { incr(testok) }
|
|
|
|
if (ne(surna, surn)) {
|
|
call reportfail(concat("extractnames failed surname "
|
|
, d(surna), "<>", d(surn), " on ", namestr))
|
|
}
|
|
else { incr(testok) }
|
|
}
|
|
|