use of com.walmartlabs.concord.plugins.s3.Result in project oracle-db-examples by oracle.
the class MultiOperationTest method multiRowOperation.
/**
* Execute a query returning a single result.
*/
@Test
public void multiRowOperation() {
fail("TODO: Fix this test");
DataSourceFactory factory = DataSourceFactory.newFactory(FACTORY_NAME);
try (DataSource ds = factory.builder().url(URL).username(USER).password(PASSWORD).build();
Session session = ds.getSession(t -> fail("ERROR: " + t.getMessage()))) {
assertNotNull(session);
MultiOperation multiOp = session.multiOperation("select * from forum_user").onError(t -> {
fail(t.toString());
});
RowOperation rowOp = multiOp.<Integer>rowOperation();
multiOp.submit();
rowOp.collect(Collector.<Result.RowColumn, int[], Integer>of(() -> new int[1], (int[] a, Result.RowColumn r) -> {
a[0] = a[0] + r.at("sal").get(Integer.class);
}, (l, r) -> l, a -> (Integer) a[0])).onError(t -> {
fail(t.toString());
}).submit().getCompletionStage().thenAccept(n -> {
assertTrue(((long) n > 0));
}).toCompletableFuture().get(TestConfig.getTimeout().toMillis(), TimeUnit.MILLISECONDS);
} catch (Exception e) {
fail(e.getMessage());
e.printStackTrace();
}
}
use of com.walmartlabs.concord.plugins.s3.Result in project java-smt by sosy-lab.
the class CVC4NativeAPITest method checkSimpleInequalityUnsat.
@Test
public void checkSimpleInequalityUnsat() {
Expr one = exprMgr.mkConst(new Rational(1));
Expr assertion = exprMgr.mkExpr(Kind.NOT, exprMgr.mkExpr(Kind.EQUAL, one, one));
smtEngine.assertFormula(assertion);
Result satCheck = smtEngine.checkSat();
assertThat(satCheck.isSat()).isEqualTo(Sat.UNSAT);
}
use of com.walmartlabs.concord.plugins.s3.Result in project java-smt by sosy-lab.
the class CVC4NativeAPITest method checkSimpleLIASat.
@Test
public void checkSimpleLIASat() {
// x + y = 4 AND x * y = 4
Expr four = exprMgr.mkConst(new Rational(4));
Expr varX = exprMgr.mkVar("x", exprMgr.integerType());
Expr varY = exprMgr.mkVar("y", exprMgr.integerType());
Expr assertion1 = exprMgr.mkExpr(Kind.EQUAL, exprMgr.mkExpr(Kind.MULT, varX, varY), four);
Expr assertion2 = exprMgr.mkExpr(Kind.EQUAL, exprMgr.mkExpr(Kind.PLUS, varX, varY), four);
smtEngine.assertFormula(assertion1);
smtEngine.assertFormula(assertion2);
Result satCheck = smtEngine.checkSat();
assertThat(satCheck.isSat()).isEqualTo(Sat.SAT);
assertThat(getInt(varX) + getInt(varY)).isEqualTo(4);
assertThat(getInt(varX) * getInt(varY)).isEqualTo(4);
}
use of com.walmartlabs.concord.plugins.s3.Result in project java-smt by sosy-lab.
the class CVC4NativeAPITest method checkSimpleLIRASat.
@Test
public void checkSimpleLIRASat() {
// x + y = 8/5 AND x > 0 AND y > 0 AND x < 8/5 AND y < 8/5
Expr zero = exprMgr.mkConst(new Rational(0));
Expr eightFifth = exprMgr.mkConst(new Rational(8, 5));
Expr varX = exprMgr.mkVar("x", exprMgr.realType());
Expr varY = exprMgr.mkVar("y", exprMgr.integerType());
Expr assertion1 = exprMgr.mkExpr(Kind.GT, varX, zero);
Expr assertion2 = exprMgr.mkExpr(Kind.GT, varY, zero);
Expr assertion3 = exprMgr.mkExpr(Kind.LT, varX, eightFifth);
Expr assertion4 = exprMgr.mkExpr(Kind.LT, varY, eightFifth);
Expr assertion5 = exprMgr.mkExpr(Kind.EQUAL, exprMgr.mkExpr(Kind.PLUS, varX, varY), eightFifth);
smtEngine.assertFormula(assertion1);
smtEngine.assertFormula(assertion2);
smtEngine.assertFormula(assertion3);
smtEngine.assertFormula(assertion4);
smtEngine.assertFormula(assertion5);
Result satCheck = smtEngine.checkSat();
assertThat(satCheck.isSat()).isEqualTo(Sat.SAT);
}
use of com.walmartlabs.concord.plugins.s3.Result in project java-smt by sosy-lab.
the class CVC4NativeAPITest method checkInvalidModelGetValue.
/**
* Note that model and getValue are seperate!
*/
@Test
public void checkInvalidModelGetValue() {
Expr assertion = exprMgr.mkConst(false);
Result result = smtEngine.checkSat(assertion);
assertThat(result.isSat()).isEqualTo(Sat.UNSAT);
Exception e = assertThrows(edu.stanford.CVC4.Exception.class, () -> smtEngine.getValue(assertion));
assertThat(e.toString()).contains(INVALID_GETVALUE_STRING);
}
Aggregations