summaryrefslogtreecommitdiff
path: root/test/unit/parser/cvc/cvc_parser_black.h
blob: b34185e0151fed32c2821535d57b6d008e2dccf9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/* Black box testing of CVC4::Node. */

#include <cxxtest/TestSuite.h>
//#include <string>
#include <sstream>

#include "expr/expr_manager.h"
#include "parser/cvc/cvc_parser.h"

using namespace CVC4;
using namespace CVC4::parser;
using namespace std;

const string d_goodInputs[] = {
      "ASSERT TRUE;",
      "QUERY TRUE;",
      "CHECKSAT FALSE;",
      "a, b : BOOLEAN;",
      "x, y : INT;",
      "a, b : BOOLEAN; QUERY (a => b) AND a => b;"
  };

class CvcParserBlack : public CxxTest::TestSuite {
private:

  ExprManager *d_exprManager;


public:
  void setUp() {
//    cout << "In setUp()\n";
    d_exprManager = new ExprManager();
//    cout << "Leaving setUp()\n";
  }

  void testGoodInputs() {
//    cout << "In testGoodInputs()\n";
    for( int i=0; i < sizeof(d_goodInputs); ++i ) {
      istringstream stream(d_goodInputs[i]);
      CvcParser cvcParser(d_exprManager,stream);
      TS_ASSERT( !cvcParser.done() );
      while( !cvcParser.done() ) {
        TS_ASSERT( cvcParser.parseNextCommand() );
      }
  }
};
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback