Directory: | ./ |
---|---|
File: | tmp_project/PhoenixXml/TESTS/TEST_PARSESEQ/main.cpp |
Date: | 2025-03-14 12:04:36 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 63 | 63 | 100.0% |
Branches: | 113 | 113 | 100.0% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | |||
2 | /*************************************** | ||
3 | Auteur : Pierre Aubert | ||
4 | Mail : pierre.aubert@lapp.in2p3.fr | ||
5 | Licence : CeCILL-C | ||
6 | ****************************************/ | ||
7 | |||
8 | #include <iostream> | ||
9 | #include "phoenix_assert.h" | ||
10 | #include "phoenix_check.h" | ||
11 | #include "pxml_utils.h" | ||
12 | #include "PParseSeq_utils.h" | ||
13 | |||
14 | |||
15 | ///Check the ParseSeq | ||
16 | /** @param fileName : name of the file to be used | ||
17 | * @param strToBeParsed : string to be parsed | ||
18 | * @param expextedResult : expected result | ||
19 | * @return true on success, false otherwise | ||
20 | */ | ||
21 | 7 | bool checkParseSeq(const PPath & fileName, const PString & strToBeParsed, bool expextedResult){ | |
22 | 7 | bool b(true); | |
23 |
1/1✓ Branch 1 taken 7 times.
|
7 | PXml root; |
24 |
1/1✓ Branch 1 taken 7 times.
|
7 | b &= pxml_parserFile(root, fileName); |
25 | |||
26 |
2/2✓ Branch 1 taken 7 times.
✓ Branch 4 taken 7 times.
|
7 | PXml * xml = pxml_getChildPtr(root, "sequence"); |
27 | |||
28 |
1/1✓ Branch 1 taken 7 times.
|
7 | PParseSeq seq; |
29 |
1/1✓ Branch 1 taken 7 times.
|
7 | b &= loadParserSeq(seq, *xml); |
30 | |||
31 |
2/2✓ Branch 1 taken 7 times.
✓ Branch 4 taken 7 times.
|
7 | b &= pxml_getFullContent(*xml) != ""; |
32 | |||
33 |
1/1✓ Branch 1 taken 7 times.
|
7 | PFileParser parser; |
34 |
1/1✓ Branch 1 taken 7 times.
|
7 | parser.setFileContent(strToBeParsed); |
35 | |||
36 |
2/2✓ Branch 1 taken 7 times.
✓ Branch 4 taken 7 times.
|
7 | b &= (parser.isMatch(seq) != "") == expextedResult; |
37 | // phoenix_functionOk("checkParseSeq", b); | ||
38 | 7 | return b; | |
39 | 7 | } | |
40 | |||
41 | ///Check the ParseSeq | ||
42 | 1 | void checkParseSeqFromVec(){ | |
43 | 1 | std::vector<PString> vecStr; | |
44 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | vecStr.push_back("\\begin"); |
45 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | vecStr.push_back("{"); |
46 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | vecStr.push_back("someName"); |
47 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | vecStr.push_back("}"); |
48 | |||
49 |
1/1✓ Branch 1 taken 1 times.
|
1 | PParseSeq seq = createSequenceAllMatch(vecStr); |
50 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | PParseSeq seq2(seq), seq3; |
51 |
1/1✓ Branch 1 taken 1 times.
|
1 | seq3 = seq; |
52 | 1 | } | |
53 | |||
54 | ///Check the ParseSeq | ||
55 | 1 | void checkTestParseSeq(){ | |
56 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | PPath fileName1("testFile1.xml"); |
57 |
1/1✓ Branch 1 taken 1 times.
|
1 | PString content1("<sequence>\t<step>\n\t<s>1234567890</s>\n\t</step>\n\t<step optional=\"true\">\n\t<s>lu</s>\n\t</step>\n</sequence>\n"); |
58 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(fileName1.saveFileContent(content1)); |
59 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkParseSeq(fileName1, "24140812", true)); |
60 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkParseSeq(fileName1, "2414lu", true)); |
61 | |||
62 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | PPath fileName2("testFile2.xml"); |
63 |
1/1✓ Branch 1 taken 1 times.
|
1 | PString content2("<sequence>\n\t<step>\n\t\t<m>.</m>\n\t</step>\n\t<step>\n\t\t<s>1234567890</s>\n\t</step>\n\t<step optional=\"true\">\n\t\t<s>f</s>\n\t\t\t</step>\n</sequence>\n"); |
64 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(fileName2.saveFileContent(content2)); |
65 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkParseSeq(fileName2, ".124", true)); |
66 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkParseSeq(fileName2, ".12f", true)); |
67 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkParseSeq(fileName2, "2414lu", false)); |
68 | |||
69 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | PPath fileName3("testFile3.xml"); |
70 |
1/1✓ Branch 1 taken 1 times.
|
1 | PString content3("<sequence>\n\t<step>\n\t\t<m>0x</m>\n\t</step>\n\t<step>\n\t\t<s>1234567890abcdef</s>\n\t</step>\n</sequence>\n"); |
71 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(fileName3.saveFileContent(content3)); |
72 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkParseSeq(fileName3, "0x124ef", true)); |
73 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkParseSeq(fileName3, "0xa2b5e2f", true)); |
74 |
1/1✓ Branch 1 taken 1 times.
|
1 | checkParseSeqFromVec(); |
75 | 1 | } | |
76 | |||
77 | ///Check the ParseCmd | ||
78 | 1 | void checkPParseCmd(){ | |
79 |
1/1✓ Branch 1 taken 1 times.
|
1 | PParseCmd cmd; |
80 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(!cmd.getIsMatch()); |
81 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 17 taken 1 times.
|
1 | phoenix_assert(cmd.getStr() == ""); |
82 |
1/1✓ Branch 1 taken 1 times.
|
1 | PParseCmd cmd2; |
83 |
1/1✓ Branch 1 taken 1 times.
|
1 | cmd2 = cmd; |
84 | 1 | } | |
85 | |||
86 | ///Check the ParseCmd | ||
87 | 1 | void testPParseStep(){ | |
88 |
1/1✓ Branch 1 taken 1 times.
|
1 | PParseStep step; |
89 | 1 | std::vector<PParseCmd> vecCmd; | |
90 |
1/1✓ Branch 1 taken 1 times.
|
1 | step.setVecCmd(vecCmd); |
91 | |||
92 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(!step.getIsOptional()); |
93 | |||
94 |
1/1✓ Branch 1 taken 1 times.
|
1 | PParseSeq seq; |
95 | 1 | std::vector<PParseStep> vecStep; | |
96 |
1/1✓ Branch 1 taken 1 times.
|
1 | seq.setVecStep(vecStep); |
97 | 1 | } | |
98 | |||
99 | 1 | int main(int argc, char** argv){ | |
100 | 1 | checkTestParseSeq(); | |
101 | 1 | checkPParseCmd(); | |
102 | 1 | testPParseStep(); | |
103 | 1 | return 0; | |
104 | } | ||
105 | |||
106 | |||
107 |