Sfoglia il codice sorgente

more tests

git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/trunk@1177 f203690c-595d-4dc9-a70b-905162fa7fd2
tags/jackcess-2.2.0
James Ahlborn 5 anni fa
parent
commit
0a182fbac9

+ 1
- 0
src/main/java/com/healthmarketscience/jackcess/impl/expr/Expressionator.java Vedi File

buf.next(); buf.next();
t = buf.peekNext(); t = buf.peekNext();
if(isString(t, "null")) { if(isString(t, "null")) {
buf.next();
return SpecOp.IS_NOT_NULL; return SpecOp.IS_NOT_NULL;
} }
} }

+ 35
- 0
src/test/java/com/healthmarketscience/jackcess/impl/expr/ExpressionatorTest.java Vedi File

-1.0000002d,-1.0d,-0.0002013d,0.0d, 0.9234d,1.0d,1.954d,2.200032d,3.001d, -1.0000002d,-1.0d,-0.0002013d,0.0d, 0.9234d,1.0d,1.954d,2.200032d,3.001d,
4.9321d,5.0d,6.66666d,7.396d,8.1d,9.20456200d,10.325d}; 4.9321d,5.0d,6.66666d,7.396d,8.1d,9.20456200d,10.325d};


private static final int TRUE_NUM = -1;
private static final int FALSE_NUM = 0;

public ExpressionatorTest(String name) { public ExpressionatorTest(String name) {
super(name); super(name);
} }
} }
} }


public void testComparison() throws Exception
{
assertEquals(TRUE_NUM, eval("='blah'<'fuzz'"));
assertEquals(FALSE_NUM, eval("=23>56"));
assertEquals(TRUE_NUM, eval("=13.2<=45.8"));
assertEquals(FALSE_NUM, eval("='blah'='fuzz'"));
assertEquals(TRUE_NUM, eval("='blah'<>'fuzz'"));
assertEquals(TRUE_NUM, eval("=CDbl(13.2)<=CDbl(45.8)"));

assertEquals(FALSE_NUM, eval("='blah' Is Null"));
assertEquals(TRUE_NUM, eval("='blah' Is Not Null"));

assertEquals(TRUE_NUM, eval("='blah' Between 'a' And 'z'"));
assertEquals(FALSE_NUM, eval("='blah' Not Between 'a' And 'z'"));

assertEquals(TRUE_NUM, eval("='blah' In ('foo','bar','blah')"));
assertEquals(FALSE_NUM, eval("='blah' Not In ('foo','bar','blah')"));

assertEquals(TRUE_NUM, eval("=True Xor False"));
assertEquals(TRUE_NUM, eval("=True Or False"));
assertEquals(FALSE_NUM, eval("=True Imp False"));
assertEquals(FALSE_NUM, eval("=True Eqv False"));
assertEquals(TRUE_NUM, eval("=Not(True Eqv False)"));
}

public void testDateArith() throws Exception
{
assertEquals(new Date(1041508800000L), eval("=#01/02/2003# + #7:00:00#"));
}

public void testTrickyMathExpressions() throws Exception public void testTrickyMathExpressions() throws Exception
{ {
assertEquals(37, eval("=30+7")); assertEquals(37, eval("=30+7"));
"<THIS_COL> Like \"[abc*\""); "<THIS_COL> Like \"[abc*\"");
assertFalse(evalCondition("Like \"[abc*\"", "afcd")); assertFalse(evalCondition("Like \"[abc*\"", "afcd"));
assertFalse(evalCondition("Like \"[abc*\"", "fcd")); assertFalse(evalCondition("Like \"[abc*\"", "fcd"));
// FIXME, does access support "not like"
//assertTrue(evalCondition("Not Like \"[abc*\"", "fcd"));
assertFalse(evalCondition("Like \"[abc*\"", "")); assertFalse(evalCondition("Like \"[abc*\"", ""));
} }



Loading…
Annulla
Salva