File indexing completed on 2024-04-28 11:20:34

0001 /*
0002     SPDX-License-Identifier: GPL-2.0-or-later
0003     SPDX-FileCopyrightText: 2009 Alexander Rieder <alexanderrieder@gmail.com>
0004     SPDX-FileCopyrightText: 2018-2023 by Alexander Semke (alexander.semke@web.de)
0005 */
0006 
0007 #ifndef _TESTMAXIMA_H
0008 #define _TESTMAXIMA_H
0009 
0010 #include "backendtest.h"
0011 
0012 /** This class test some of the basic functions of the maxima backend
0013     The different tests represent some general expressions, as well
0014     as expressions, that are known to have caused problems in earlier
0015     versions
0016 **/
0017 class TestMaxima : public BackendTest
0018 {
0019   Q_OBJECT
0020 
0021 private Q_SLOTS:
0022     void initTestCase();
0023 
0024     //tests evaluating a simple command
0025     void testSimpleCommand();
0026 
0027     //tests a command, containing more than 1 line
0028     void testMultilineCommand01();
0029     void testMultilineCommand02();
0030     void testMultilineCommand03();
0031 
0032     //tests if the command queue works correctly
0033     void testCommandQueue();
0034 
0035     //tests doing a plot
0036     void testPlot();
0037     void testPlotMultiline();
0038     void testPlotWithWhitespaces();
0039     void testPlotWithAnotherTextResults();
0040     void testDraw();
0041     void testDrawMultiline();
0042     void testDrawWithAnotherTextResults();
0043 
0044     /* errors and warnings */
0045 
0046     //tests a syntax error (not closing bracket)
0047     void testInvalidSyntax();
0048     void testWarning01();
0049     void testWarning02();
0050     //tests if the expression numbering works
0051     void testExprNumbering();
0052     void testInvalidAssignment();
0053 
0054     /* comments */
0055     void testSimpleExpressionWithComment();
0056     void testCommentExpression();
0057     void testNestedComment();
0058     void testUnmatchedComment();
0059 
0060     /* tests where additional input is required */
0061     void testInformationRequest();
0062     void testHelpRequest();
0063     void testSyntaxHelp();
0064 
0065     void testCompletion();
0066 
0067     void testVariableModel();
0068 
0069     void testLispMode01();
0070 
0071     void testTextQuotes();
0072 
0073     void testLoginLogout();
0074     void testRestartWhileRunning();
0075 
0076 private:
0077     QString backendName() override;
0078 };
0079 
0080 #endif /* _TESTMAXIMA_H */