===============================
QxCalculator for Windows Test Suite
Created by: Greger Haga (ggh@multi.fi)
https://www.multi.fi/ghaga/
DATE:Fri Jun 21 21:52:46 2024
The documentation created in development of this particular application can be found here:QxCalculator for Windows Test Suite Docs
Please find below the testsuite used for creating the QxCalculator for Windows application. There is about 100 tests so far, more coming as we go. I include this here to display how I work, using try and fail, and testing before implementation. This is the best way I come to write software. Implementation after tests. If you don't test, how do you know what you do?
Please pay attention to tests at lines:568, 571, 577, and 580. They all fail. This means I need to fix the tests to pass before proceeding with the application development. Having focus on the small bits makes it easy to fix and proceed and be content that the application code is "sane". If a problem occures during the development process, then I can roll back and check where the error in fact is. Having the testsuite also helps in this matter, using "divide and conquer".
Further, when implementing new features in a program it is quite common to "break existing code". Having a testsuite which evolves as you go makes it easy to spot and correct erroneus behaviour of the application in development. Simply, it makes you sleep better!
-------------------------------
# 0 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 39 testing equality of two std::strings[FAIL][Should FAIL][SUCCESS]
# 1 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 44 testing equality, different std::strings[FAIL][Should FAIL][SUCCESS]
# 2 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 53 testing equality of two long doubles[Pass][Should pass][SUCCESS]
# 3 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 70 testing that file exists[Pass][Should pass][SUCCESS]
# 4 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 80 check file exists(3)[Pass][Should pass][SUCCESS]
# 5 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 88 testing files(via pointers)[Pass][Should pass][SUCCESS]
# 6 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 92 test equality of pointers[FAIL][Should FAIL][SUCCESS]
# 7 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 101 file exists(QxCalcFile)[Pass][Should pass][SUCCESS]
# 8 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 116 testing equality of calcdocs'(pointers)[FAIL][Should FAIL][SUCCESS]
# 9 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 123 testing equality of calcdocs[Pass][Should pass][SUCCESS]
# 10 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 150 checking flags[Pass][Should pass][SUCCESS]
# 11 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 153 checking flags(2)[Pass][Should pass][SUCCESS]
# 12 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 161 checking flags(2)[Pass][Should pass][SUCCESS]
# 13 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 170 checking files exist[Pass][Should pass][SUCCESS]
# 14 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 177 check file exists[Pass][Should pass][SUCCESS]
# 15 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 184 check file exists(2)[Pass][Should pass][SUCCESS]
# 16 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 191 testing calc files[Pass][Should pass][SUCCESS]
# 17 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 197 calc file with scriptname[Pass][Should pass][SUCCESS]
# 18 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 201 check scriptnames equal[Pass][Should pass][SUCCESS]
# 19 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 207 calc file flags[Pass][Should pass][SUCCESS]
# 20 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 211 testing XML flag[Pass][Should pass][SUCCESS]
# 21 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 215 testing HTML flag[Pass][Should pass][SUCCESS]
# 22 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 219 testing ASCII flag[Pass][Should pass][SUCCESS]
# 23 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 223 testing no header flag[Pass][Should pass][SUCCESS]
# 24 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 227 testing filename member[Pass][Should pass][SUCCESS]
# 25 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 232 testing filename member[FAIL][Should FAIL][SUCCESS]
# 26 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 237 checking file inequality[Pass][Should pass][SUCCESS]
# 27 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 241 checking file inequality(1)[FAIL][Should FAIL][SUCCESS]
# 28 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 245 checking files exist[FAIL][Should FAIL][SUCCESS]
# 29 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 257 checking calc files do not exist[Pass][Should pass][SUCCESS]
# 30 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 263 checking calc file exists:qxcf.qxcf[FAIL][Should FAIL][SUCCESS]
# 31 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 267 checking filesize == 9[FAIL][Should FAIL][SUCCESS]
# 32 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 273 read data from file[FAIL][Should FAIL][SUCCESS]
# 33 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 283 check data members[Pass][Should pass][SUCCESS]
# 34 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 287 after write, check that file exists[Pass][Should pass][SUCCESS]
# 35 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 291 after write, check filesizes the same[Pass][Should pass][SUCCESS]
# 36 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 295 check filesizes == 0[Pass][Should pass][SUCCESS]
# 37 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 303 check that the data is the same[Pass][Should pass][SUCCESS]
# 38 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 327 check if script saved:myscript.calc.csv[Pass][Should pass][SUCCESS]
# 39 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 340 input and output of base64 the same![Pass][Should pass][SUCCESS]
# 40 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 390 open csv file and read from it[Pass][Should pass][SUCCESS]
# 41 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 398 open csvfile.csv for reading into csvlib[Pass][Should pass][SUCCESS]
# 42 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 405 read the file[Pass][Should pass][SUCCESS]
# 43 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 410 got first cell:cell 00[Pass][Should pass][SUCCESS]
# 44 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 415 got second cell:cell 0[Pass][Should pass][SUCCESS]
# 45 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 421 got second row[Pass][Should pass][SUCCESS]
# 46 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 426 got first cell:cell 00[Pass][Should pass][SUCCESS]
# 47 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 431 got second cell:cell 0[Pass][Should pass][SUCCESS]
# 48 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 456 open csvfile.csv for reading into csvlib[Pass][Should pass][SUCCESS]
# 49 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 464 read first row[Pass][Should pass][SUCCESS]
# 50 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 469 got first cell:cell 00[Pass][Should pass][SUCCESS]
# 51 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 474 got second cell:cell 0[Pass][Should pass][SUCCESS]
# 52 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 482 read first row[Pass][Should pass][SUCCESS]
# 53 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 488 got second row[Pass][Should pass][SUCCESS]
# 54 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 493 got third row[Pass][Should pass][SUCCESS]
# 55 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 501 got first cell first row[Pass][Should pass][SUCCESS]
# 56 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 506 got second cell first row[Pass][Should pass][SUCCESS]
# 57 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 515 got first cell second row[Pass][Should pass][SUCCESS]
# 58 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 520 got second cell second row[Pass][Should pass][SUCCESS]
# 59 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 525 got first cell third row[Pass][Should pass][SUCCESS]
# 60 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 530 got second cell third row[Pass][Should pass][SUCCESS]
# 61 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 535 got third cell third row[Pass][Should pass][SUCCESS]
# 62 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 568 0-1 cell 01<=>cell 0 [FAIL][Should Pass][FAILURE]
# 63 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 571 1-0 cell 10<=>"cell 10 [FAIL][Should Pass][FAILURE]
# 64 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 574 1-1 cell 11<=>cell 11[Pass][Should pass][SUCCESS]
# 65 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 577 2-0 cell 20<=>"cell 20 [FAIL][Should Pass][FAILURE]
# 66 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 580 2-1 cell 21<=>cell 21" [FAIL][Should Pass][FAILURE]
# 67 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 583 2-2 cell 22<=>cell 22[Pass][Should pass][SUCCESS]
# 68 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 595 checking file saved[Pass][Should pass][SUCCESS]
# 69 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 613 open csvfile.csv for reading into csvlib[Pass][Should pass][SUCCESS]
# 70 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 620 Table has five rows[Pass][Should pass][SUCCESS]
# 71 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 624 opened csvfile.csv [Pass][Should pass][SUCCESS]
# 72 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 630 "cell 21","cell 22","cell 23"<=>"cell 21","cell 22","cell 23"[Pass][Should pass][SUCCESS]
# 73 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 637 "cell 21","cell 22","cell 23"<=>"cell 21","cell 22","cell 23"[Pass][Should pass][SUCCESS]
# 74 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 656 second cell in third row => cell 32<=>cell 32[Pass][Should pass][SUCCESS]
# 75 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 663 First cell in third row => cell 31<=>cell 31[Pass][Should pass][SUCCESS]
# 76 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 670 First cell in first row => cell 11<=>cell 11[Pass][Should pass][SUCCESS]
# 77 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 677 First cell in second row => cell 21<=>cell 21[Pass][Should pass][SUCCESS]
# 78 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 683 second cell in second row => cell 22<=>cell 22[Pass][Should pass][SUCCESS]
# 79 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 689 second cell in first row => cell 12<=>cell 12[Pass][Should pass][SUCCESS]
# 80 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 696 third cell in third row => cell 33<=>cell 33[Pass][Should pass][SUCCESS]
# 81 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 702 second cell in third row => cell 32<=>cell 32[Pass][Should pass][SUCCESS]
# 82 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 710 last cell in first row => cell 12<=>cell 12[Pass][Should pass][SUCCESS]
# 83 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 716 last cell in second row => cell 22<=>cell 22[Pass][Should pass][SUCCESS]
# 84 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 733 last cell in fourth row => cell 44<=>cell 44[Pass][Should pass][SUCCESS]
# 85 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 740 first cell in first row => cell 11<=>cell 11[Pass][Should pass][SUCCESS]
# 86 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 800 checking document file name is the same [Pass][Should pass][SUCCESS]
# 87 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 810 check first rows are flags[Pass][Should pass][SUCCESS]
# 88 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 819 Check filename correct=>mydocfile.qxcd[Pass][Should pass][SUCCESS]
# 89 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 825 document name => no document name<=>no document name[Pass][Should pass][SUCCESS]
# 90 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 832 document name => no document name<=>no document name[Pass][Should pass][SUCCESS]
# 91 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 845 document file exists=> mycalcfile.qxcd[Pass][Should pass][SUCCESS]
# 92 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 858 filenames !the same:f1.qxcd <=> f2.qxcd[FAIL][Should FAIL][SUCCESS]
# 93 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 877 document names the same:Docume<=>Docume[Pass][Should pass][SUCCESS]
# 94 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 884 Scripts:1 <=> 1[Pass][Should pass][SUCCESS]
# 95 : C:\qxcg_gui\testsuite\templatetestcase.cpp: 899 examples/sample0.calc<=>examples/sample0.calc[Pass][Should pass][SUCCESS]
===============================