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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
/******************************************************************************
* Top contributors (to current version):
* Mudathir Mohamed, Andrew Reynolds
*
* This file is part of the cvc5 project.
*
* Copyright (c) 2009-2025 by the authors listed in the file AUTHORS
* in the top-level source directory and their institutional affiliations.
* All rights reserved. See the file COPYING in the top-level source
* directory for licensing information.
* ****************************************************************************
*
* Black box testing of SymbolManager.
*/
package tests;
import static org.junit.jupiter.api.Assertions.*;
import io.github.cvc5.*;
import io.github.cvc5.modes.*;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
class SymbolManagerTest extends ParserTest
{
void parseAndSetLogic(String logic)
{
parseCommand("(set-logic " + logic + ")\n");
}
void parseCommand(String cmds)
{
InputParser parser = new InputParser(d_solver, d_symman);
parser.setIncrementalStringInput(InputLanguage.SMT_LIB_2_6, "symbol_manager_test");
parser.appendIncrementalStringInput(cmds);
Command cmd = parser.nextCommand();
assertNotEquals(cmd.isNull(), true);
cmd.invoke(d_solver, d_symman);
}
@Test
void isLogicSet()
{
assertEquals(d_symman.isLogicSet(), false);
parseAndSetLogic("QF_LIA");
assertEquals(d_symman.isLogicSet(), true);
}
@Test
void getLogic()
{
assertThrows(CVC5ApiException.class, () -> d_symman.getLogic());
parseAndSetLogic("QF_LIA");
assertEquals(d_symman.getLogic(), "QF_LIA");
}
@Test
void getDeclaredTermsAndSorts()
{
assertEquals(d_symman.getDeclaredSorts().length, 0);
assertEquals(d_symman.getDeclaredTerms().length, 0);
}
@Test
void getNamedTerms()
{
parseAndSetLogic("QF_LIA");
assertEquals(d_symman.getNamedTerms().size(), 0);
parseCommand("(assert (! false :named a0))");
assertEquals(d_symman.getNamedTerms().size(), 1);
}
}
|