From 670e21a7aa4b1eb9ed1862a4faa7e0d62d0899cf Mon Sep 17 00:00:00 2001 From: Jed Barber Date: Thu, 10 Jan 2019 23:29:16 +1100 Subject: Test framework for Lexer Combinators --- test/ratnest-tests.ads | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) (limited to 'test/ratnest-tests.ads') diff --git a/test/ratnest-tests.ads b/test/ratnest-tests.ads index 3c83a23..e9ea347 100644 --- a/test/ratnest-tests.ads +++ b/test/ratnest-tests.ads @@ -29,8 +29,48 @@ package Ratnest.Tests is function Token_Store_Check return Test_Result; Token_Tests : Test_Array := - ((+"Token Adjust", Token_Adjust_Check'Access), - (+"Token Storage", Token_Store_Check'Access)); + ((+"Adjust", Token_Adjust_Check'Access), + (+"Storage", Token_Store_Check'Access)); + + + + + function Lex_Sequence_Check return Test_Result; + function Lex_Count_Check return Test_Result; + function Lex_Many_Check return Test_Result; + function Lex_Many_Until_Check return Test_Result; + + function Lex_Satisfy_Check return Test_Result; + function Lex_Satisfy_With_Check return Test_Result; + function Lex_Match_Check return Test_Result; + function Lex_Match_With_Check return Test_Result; + function Lex_Multimatch_Check return Test_Result; + function Lex_Take_Check return Test_Result; + function Lex_Take_While_Check return Test_Result; + function Lex_Take_Until_Check return Test_Result; + + function Line_Start_Check return Test_Result; + function Line_End_Check return Test_Result; + function Input_Start_Check return Test_Result; + function Input_End_Check return Test_Result; + + Lexer_Combinator_Tests : Test_Array := + ((+"Sequence", Lex_Sequence_Check'Access), + (+"Count", Lex_Count_Check'Access), + (+"Many", Lex_Many_Check'Access), + (+"Many_Until", Lex_Many_Until_Check'Access), + (+"Satisfy", Lex_Satisfy_Check'Access), + (+"Satisfy With", Lex_Satisfy_With_Check'Access), + (+"Match", Lex_Match_Check'Access), + (+"Match With", Lex_Match_With_Check'Access), + (+"Multimatch", Lex_Multimatch_Check'Access), + (+"Take", Lex_Take_Check'Access), + (+"Take While", Lex_Take_While_Check'Access), + (+"Take Until", Lex_Take_Until_Check'Access), + (+"Line Start", Line_Start_Check'Access), + (+"Line End", Line_End_Check'Access), + (+"Input Start", Input_Start_Check'Access), + (+"Input_End", Input_End_Check'Access)); -- cgit