begin adding tests for regex
This commit is contained in:
43
test/regex-tests.sml
Normal file
43
test/regex-tests.sml
Normal file
@@ -0,0 +1,43 @@
|
||||
structure RegexTests =
|
||||
struct
|
||||
open Railroad
|
||||
open Railroad.Test
|
||||
|
||||
structure CiDfa = CaseInsensitiveDfa
|
||||
structure CsDfa = CaseSensitiveDfa
|
||||
|
||||
val caseInsensitiveTests = describe "case insensitive regex"
|
||||
[ test "recognises word 'hello' in string 'Hello world'" (fn _ =>
|
||||
let
|
||||
(* arrange *)
|
||||
val regexString = "hello"
|
||||
val dfa = CiDfa.fromString regexString
|
||||
val inputString = "Hello world"
|
||||
|
||||
(* act *)
|
||||
val matches = CiDfa.matchString (dfa, inputString)
|
||||
|
||||
(* assert *)
|
||||
val expectedMatches = [(0, 4)]
|
||||
in
|
||||
Expect.isTrue (matches = expectedMatches)
|
||||
end)
|
||||
, test "recognises word 'world' in string 'HELLO WORLD'" (fn _ =>
|
||||
let
|
||||
(* arrange *)
|
||||
val regexString = "world"
|
||||
val dfa = CiDfa.fromString regexString
|
||||
val inputString = "HELLO WORLD"
|
||||
|
||||
(* act *)
|
||||
val matches = CiDfa.matchString (dfa, inputString)
|
||||
|
||||
(* assert *)
|
||||
val expectedMatches = [(6, 10)]
|
||||
in
|
||||
Expect.isTrue (matches = expectedMatches)
|
||||
end)
|
||||
]
|
||||
|
||||
val tests = [caseInsensitiveTests]
|
||||
end
|
||||
@@ -6,7 +6,12 @@ struct
|
||||
fun main () =
|
||||
let
|
||||
val tests =
|
||||
List.concat [NormalMove.tests, NormalDelete.tests, Regression.tests]
|
||||
List.concat
|
||||
[ NormalMove.tests
|
||||
, NormalDelete.tests
|
||||
, Regression.tests
|
||||
, RegexTests.tests
|
||||
]
|
||||
val tests = concat tests
|
||||
in
|
||||
runWithConfig [Configuration.PrintPassed false] tests
|
||||
|
||||
Reference in New Issue
Block a user