Compare commits
	
		
			2 Commits
		
	
	
		
			e1b994bae1
			...
			516066d322
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 516066d322 | |||
| 85f1377328 | 
@@ -237,18 +237,12 @@ const default_rules_list = [
 | 
			
		||||
  ),
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
pub fn main() {
 | 
			
		||||
  io.println("Hello from paicehusk!")
 | 
			
		||||
  let assert Ok(rules) = load_rules("paice-husk-rules.txt")
 | 
			
		||||
  stem("abominable", rules)
 | 
			
		||||
  |> echo
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub fn default_rules() -> Rules {
 | 
			
		||||
  dict.from_list(default_rules_list)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub fn stem(word: String, rules: Rules) -> String {
 | 
			
		||||
  let word = string.lowercase(word)
 | 
			
		||||
  case is_valid(word) {
 | 
			
		||||
    True -> {
 | 
			
		||||
      do_stem(word, rules, True)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,7 @@
 | 
			
		||||
import gleeunit
 | 
			
		||||
import lancaster_stemmer
 | 
			
		||||
import simplifile
 | 
			
		||||
import splitter
 | 
			
		||||
 | 
			
		||||
pub fn main() -> Nil {
 | 
			
		||||
  gleeunit.main()
 | 
			
		||||
@@ -6,8 +9,29 @@ pub fn main() -> Nil {
 | 
			
		||||
 | 
			
		||||
// gleeunit test functions end in `_test`
 | 
			
		||||
pub fn hello_world_test() {
 | 
			
		||||
  let name = "Joe"
 | 
			
		||||
  let greeting = "Hello, " <> name <> "!"
 | 
			
		||||
 | 
			
		||||
  assert greeting == "Hello, Joe!"
 | 
			
		||||
  let line_split = splitter.new(["\n", "\r\n"])
 | 
			
		||||
  let row_split = splitter.new([" ", "\t"])
 | 
			
		||||
  let rules = lancaster_stemmer.default_rules()
 | 
			
		||||
  let assert Ok(tests) = simplifile.read("./test/wordlist.txt")
 | 
			
		||||
  run_test(tests, line_split, row_split, rules)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fn run_test(
 | 
			
		||||
  tests: String,
 | 
			
		||||
  line_split: splitter.Splitter,
 | 
			
		||||
  row_split: splitter.Splitter,
 | 
			
		||||
  rules: lancaster_stemmer.Rules,
 | 
			
		||||
) -> Nil {
 | 
			
		||||
  case splitter.split(line_split, tests) {
 | 
			
		||||
    #("", "", "") -> Nil
 | 
			
		||||
    #(line, _, rest) -> {
 | 
			
		||||
      case splitter.split(row_split, line) |> echo {
 | 
			
		||||
        #("", "", "") -> Nil
 | 
			
		||||
        #(word, _, stem) -> {
 | 
			
		||||
          assert lancaster_stemmer.stem(word, rules) == stem
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      run_test(rest, line_split, row_split, rules)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										25135
									
								
								test/wordlist.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25135
									
								
								test/wordlist.txt
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user