#
# Tests for norwegian Bokmål minimal stemmer
# It only tries to stem nouns, i.e. being very little agressive
#
# Nouns masculine
bil	bil
bilen	bil
biler	bil
bilene	bil
bilens	bil
bilenes	bil
sekretæren	sekretær
sekretær	sekretær
sekretærene	sekretær
kaker	kak
kaken	kak
kakene	kak
kakenes	kak
bibliotekar	bibliotekar
bibliotekarer	bibliotekar
bibliotekaren	bibliotekar
bibliotekarens	bibliotekar
bibliotekarene	bibliotekar
bibliotekarenes	bibliotekar
# Nouns feminine
veske	vesk
veska	vesk
vesken	vesk
veskene	vesk
veskas	vesk
# Nouns neutral
huset	hus
husene	hus
husets	hus
hus	hus
huset	hus
husene	hus
husenes	hus
flagg	flagg
flagga	flagg
flaggene	flagg
flaggets	flagg
flaggenes	flagg
politi	politi
politiet	politi
politiets	politi
politienes	politi
#########################################
# Words that should not be stemmed
#
# Irregular masculine nouns (not supposed to be handled correctly)
# Fetched from http://no.wiktionary.org/wiki/Kategori:Substantiv_i_norsk_med_uregelrett_flertallsb%C3%B8yning
vaffel	vaffel
vafler	vafl
vaflene	vafl
tittel	tittel
titler	titl
titlene	titl
kam	kam
kammer	kamm
kammene	kamm
kamrene	kamr
# Irregular feminine nouns, not handled
ku	ku
ku	ku
kyr	kyr
kuer	kuer
kyrne	kyrn
kuene	kuen
datter	datt
døtre	døtr
døtrene	døtr
# Other words that should not be touched
abc	abc
123	123
Jens	Jens
# Adjective, should not be stemmed
billig	billig
billigere	billiger
billigst	billigst
billige	billig
god	god
bedre	bedr
best	best
# General endings, should not be stemmed
god	god
godhet	godh
forelskelse	forelskels
kristendom	kristendom
# Verbs, should not be stemmed
føle	føl
følte	følt
følt	følt
hemmelig	hemmelig
hemmelighet	hemmeligh
hemmeligheten	hemmelighet
kjærlig	kjærlig
kjærlighet	kjærligh
kjærligheten	kjærlighet