Author: echatellier Date: 2012-01-20 18:11:12 +0100 (Fri, 20 Jan 2012) New Revision: 1352 Url: http://nuiton.org/repositories/revision/wikitty/1352 Log: Move almost operators test in wikitty client test. Removed: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/InMemorySearchTest.java Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientAbstractTest.java trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java trunk/wikitty-api/src/test/resources/csv/importbooks.csv Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientAbstractTest.java =================================================================== --- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientAbstractTest.java 2012-01-20 16:28:12 UTC (rev 1351) +++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientAbstractTest.java 2012-01-20 17:11:12 UTC (rev 1352) @@ -169,7 +169,7 @@ Product bookLan = new ProductImpl("Lanfeust"); bookLan.setPrice(0); bookLan.setPicturePrice(5); - bookLan.setPriceFromProduct(14); + bookLan.setPriceFromProduct(13); bookLan.setCategory(fantastic.getWikittyId()); bookLan.addColors("red", "yellow"); bookLan.setDate(df.parse("January 12, 2002")); Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java =================================================================== --- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-20 16:28:12 UTC (rev 1351) +++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-20 17:11:12 UTC (rev 1352) @@ -26,6 +26,10 @@ package org.nuiton.wikitty; import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; import org.junit.Assert; import org.junit.Test; @@ -48,6 +52,10 @@ import org.nuiton.wikitty.query.WikittyQueryMaker; import org.nuiton.wikitty.query.WikittyQueryParser; import org.nuiton.wikitty.query.WikittyQueryResult; +import org.nuiton.wikitty.search.Criteria; +import org.nuiton.wikitty.search.PagedResult; +import org.nuiton.wikitty.search.Search; +import org.nuiton.wikitty.search.operators.Like; import org.nuiton.wikitty.test.Category; import org.nuiton.wikitty.test.Product; @@ -307,4 +315,456 @@ WikittyQueryResult<Wikitty> wikitties = WikittyLabelUtil.findAllByLabel(wikittyClient, "hello", 0, 1); Assert.assertEquals(wikitties.get(0), w); } + + /** + * Test eq() operator. + */ + @Test + public void testQueryMakerEq() { + assumeTrueSearchEngineCanRunTest(); // ant like patterns + + // test strict equals + WikittyQuery query = new WikittyQueryMaker().eq(Product.ELEMENT_FIELD_PRODUCT_PRICE, 42).end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(1, results.getTotalResult()); + Assert.assertEquals(1, results.getAll().size()); + + Product resultP = results.peek(); + Assert.assertEquals("Answer to life the universe and everything", resultP.getName()); + Assert.assertEquals(42, resultP.getPriceFromProduct()); + + //Test using pattern matching + WikittyQuery query2 = new WikittyQueryMaker().eq(Product.ELEMENT_FIELD_PRODUCT_NAME, "Indign*").end(); + WikittyQueryResult<Product> results2 = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(1, results2.getTotalResult()); + Assert.assertEquals(1, results2.getAll().size()); + + //Test using pattern matching + WikittyQuery query3 = new WikittyQueryMaker().eq(Product.ELEMENT_FIELD_PRODUCT_NAME, "Indign*").end(); + WikittyQueryResult<Product> results3 = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(1, results3.getTotalResult()); + Assert.assertEquals(1, results3.getAll().size()); + } + + /** + * Test eq() operator. + */ + @Test + public void testQueryMakerEqFqf() { + assumeTrueSearchEngineCanRunTest(); // ant like patterns + + // test strict equals + WikittyQuery query = new WikittyQueryMaker().eq(Product.FQ_FIELD_PRODUCT_PRICE, 42).end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(1, results.getTotalResult()); + Assert.assertEquals(1, results.getAll().size()); + + Product resultP = results.peek(); + Assert.assertEquals("Answer to life the universe and everything", resultP.getName()); + Assert.assertEquals(42, resultP.getPriceFromProduct()); + + //Test using pattern matching + WikittyQuery query2 = new WikittyQueryMaker().eq(Product.FQ_FIELD_PRODUCT_NAME, "Indign*").end(); + WikittyQueryResult<Product> results2 = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(1, results2.getTotalResult()); + Assert.assertEquals(1, results2.getAll().size()); + + //Test using pattern matching + WikittyQuery query3 = new WikittyQueryMaker().eq(Product.FQ_FIELD_PRODUCT_NAME, "Indign*").end(); + WikittyQueryResult<Product> results3 = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(1, results3.getTotalResult()); + Assert.assertEquals(1, results3.getAll().size()); + } + + /** + * Test neq() operator. + */ + @Test + public void testQueryMakerNeq() { + // test strict equals + WikittyQuery query = new WikittyQueryMaker().ne(Product.FQ_FIELD_PRODUCT_PRICE, 42).end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(3, results.getTotalResult()); + Assert.assertEquals(3, results.getAll().size()); + } + + /** + * Test between. + */ + @Test + public void testQueryMakerBw() { + + // test strict equals + WikittyQuery query = new WikittyQueryMaker().bw(Product.FQ_FIELD_PRODUCT_PRICE, 14, 99).end(); + query.setLimit(-1); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(2, results.getTotalResult()); + Assert.assertEquals(0, results.getAll().size()); + } + + @Test + public void testQueryMakerLt() { + WikittyQuery query = new WikittyQueryMaker().lt(Product.FQ_FIELD_PRODUCT_PRICE, 15).end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(1, results.getTotalResult()); + Assert.assertEquals(1, results.getAll().size()); + } + + @Test + public void testQueryParserLe() { + WikittyQuery query = WikittyQueryParser.parse("Product.price <= 15"); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(2, results.getTotalResult()); + Assert.assertEquals(2, results.getAll().size()); + } + + @Test + public void testQueryMakerGt() { + WikittyQuery query = new WikittyQueryMaker().gt(Product.FQ_FIELD_PRODUCT_PRICE, 15).end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(2, results.getTotalResult()); + Assert.assertEquals(2, results.getAll().size()); + } + + @Test + public void testQueryParserGe() { + WikittyQuery query = WikittyQueryParser.parse("Product.price >= 15"); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(3, results.getTotalResult()); + Assert.assertEquals(3, results.getAll().size()); + } + + @Test + public void testQueryMakerContainsAll() throws IOException { + importBooks(); // add 13 livres + WikittyQuery query = new WikittyQueryMaker() + .containsAll(Product.ELEMENT_FIELD_PRODUCT_COLORS, Arrays.asList("white", "black")).end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(2, results.getTotalResult()); + Assert.assertEquals(2, results.getAll().size()); + } + + @Test + public void testQueryParserContainsAll() throws IOException { + importBooks(); // add 13 livres + WikittyQuery query = WikittyQueryParser.parse("Product.colors=[white, black]"); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(2, results.getTotalResult()); + Assert.assertEquals(2, results.getAll().size()); + } + + @Test + public void testQueryMakerContainsOne() throws IOException { + importBooks(); // add 13 livres + WikittyQuery query = new WikittyQueryMaker() + .containsOne(Product.ELEMENT_FIELD_PRODUCT_COLORS, Arrays.asList("white", "black")).end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(9, results.getTotalResult()); + Assert.assertEquals(9, results.getAll().size()); + } + + @Test + public void testQueryParserContainsOne() throws IOException { + importBooks(); // add 13 livres + WikittyQuery query = WikittyQueryParser.parse("Product.colors={white, black}"); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + // FIXME mais la doc de [] correspond a contains one + Assert.assertEquals(9, results.getTotalResult()); + Assert.assertEquals(9, results.getAll().size()); + } + + @Test + public void testQueryParserExteq() throws IOException { + importBooks(); // add 13 livres + WikittyQuery query = WikittyQueryParser.parse("extension=Product"); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(17, results.getTotalResult()); + Assert.assertEquals(17, results.getAll().size()); + } + + @Test + public void testQueryMakerIdeq() throws IOException { + importBooks(); // pour un wid connu + WikittyQuery query = new WikittyQueryMaker().ideq("db9dc782-e650-4fd4-83ac-3c1c5c136cde").end(); + Product p = wikittyClient.findByQuery(Product.class, query); + Assert.assertEquals("Da vinci code", p.getName()); + } + + @Test + public void testQueryParserIdeq() throws IOException { + importBooks(); // pour un wid connu + WikittyQuery query = WikittyQueryParser.parse("id=db9dc782-e650-4fd4-83ac-3c1c5c136cde"); + Product p = wikittyClient.findByQuery(Product.class, query); + Assert.assertEquals("Da vinci code", p.getName()); + } + + @Test + public void testQueryMakerIdneq() throws IOException { + importBooks(); // pour un wid connu + WikittyQuery query = new WikittyQueryMaker().idne("db9dc782-e650-4fd4-83ac-3c1c5c136cde").end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(28, results.getTotalResult()); + } + + @Test + public void testQueryParserIdneq() throws IOException { + importBooks(); // pour un wid connu + WikittyQuery query = WikittyQueryParser.parse("id!=db9dc782-e650-4fd4-83ac-3c1c5c136cde"); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(16, results.getTotalResult()); + } + + @Test + public void testQueryMakerUnlike() throws IOException { + importBooks(); + WikittyQuery query = new WikittyQueryMaker().unlike(Product.ELEMENT_FIELD_PRODUCT_NAME, "*potter*").end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(11, results.getTotalResult()); + } + + @Test + public void testQueryParserUnlike() throws IOException { + importBooks(); + WikittyQuery query = WikittyQueryParser.parse("Product.name UNLIKE *potter*"); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(11, results.getTotalResult()); + } + + @Test + public void testQueryMakerLike() throws IOException { + importBooks(); + WikittyQuery query = new WikittyQueryMaker().like(Product.ELEMENT_FIELD_PRODUCT_NAME, "*potter*").end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(6, results.getTotalResult()); + } + + @Test + public void testQueryParserLike() throws IOException { + importBooks(); + WikittyQuery query = WikittyQueryParser.parse("Product.name LIKE *potter*"); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(6, results.getTotalResult()); + } + + @Test + public void testQueryMakerSw() throws IOException { + importBooks(); + WikittyQuery query = new WikittyQueryMaker().sw(Product.ELEMENT_FIELD_PRODUCT_NAME, "Harry").end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(6, results.getTotalResult()); + } + + @Test + public void testQueryParserEw() throws IOException { + importBooks(); + WikittyQuery query = WikittyQueryParser.parse("Product.name=*sorciers"); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(1, results.getTotalResult()); + } + + @Test + public void testQueryMakerNotsw() throws IOException { + importBooks(); + WikittyQuery query = new WikittyQueryMaker().notsw(Product.ELEMENT_FIELD_PRODUCT_NAME, "Harry").end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(11, results.getTotalResult()); + } + + @Test + public void testQueryParserNotew() throws IOException { + importBooks(); + WikittyQuery query = WikittyQueryParser.parse("Product.name!=*sorciers"); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(16, results.getTotalResult()); + } + + @Test + public void testQuerymakerKeyword() throws IOException { + importBooks(); + WikittyQuery query = new WikittyQueryMaker().keyword("potter").end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(6, results.getTotalResult()); + + WikittyQuery query2 = new WikittyQueryMaker().keyword("yellow").end(); + WikittyQueryResult<Product> results2 = wikittyClient.findAllByQuery(Product.class, query2); + Assert.assertEquals(2, results2.getTotalResult()); + } + + @Test + public void testQueryParserKeyword() throws IOException { + importBooks(); + WikittyQuery query = WikittyQueryParser.parse("potter"); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(6, results.getTotalResult()); + + WikittyQuery query2 = WikittyQueryParser.parse("yellow"); + WikittyQueryResult<Product> results2 = wikittyClient.findAllByQuery(Product.class, query2); + Assert.assertEquals(2, results2.getTotalResult()); + } + + @Test + public void testQueryMakerIsNull() throws IOException { + importBooks(); + WikittyQuery query = new WikittyQueryMaker().isNull(Product.ELEMENT_FIELD_PRODUCT_CATEGORY).end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(2, results.getTotalResult()); + } + + @Test + public void testQueryParserIsNull() throws IOException { + importBooks(); + WikittyQuery query = WikittyQueryParser.parse("Produit.category=NULL"); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(1, results.getTotalResult()); + } + + @Test + public void testQueryMakerIsNotNull() throws IOException { + importBooks(); + WikittyQuery query = new WikittyQueryMaker().isNotNull(Product.ELEMENT_FIELD_PRODUCT_CATEGORY).end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(15, results.getTotalResult()); + } + + @Test + public void testQueryParserIsNotNull() throws IOException { + importBooks(); + WikittyQuery query = WikittyQueryParser.parse("Produit.category!=NULL"); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(15, results.getTotalResult()); + } + + @Test + public void testQueryMakerFalse() { + WikittyQuery query = new WikittyQueryMaker().rFalse().end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(0, results.getTotalResult()); + } + + @Test + public void testQueryParseTrue() { + WikittyQuery query = WikittyQueryParser.parse("TRUE"); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(1, results.getTotalResult()); + } + + @Test + public void testQueryMakerAnd() throws IOException { + importBooks(); + WikittyQuery query = new WikittyQueryMaker().and() + .sw(Product.FQ_FIELD_PRODUCT_NAME, "Harry") + .notew(Product.ELEMENT_FIELD_PRODUCT_NAME, "sorcier").end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(5, results.getTotalResult()); + } + + @Test + public void testQueryParserAnd() throws IOException { + importBooks(); + WikittyQuery query = WikittyQueryParser.parse("Product.name=Harry* Product.name!=*sorciers"); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(5, results.getTotalResult()); + } + + @Test + public void testQueryMakerOr() throws IOException { + importBooks(); + WikittyQuery query = new WikittyQueryMaker().or() + .sw(Product.FQ_FIELD_PRODUCT_NAME, "Harry") + .like(Product.ELEMENT_FIELD_PRODUCT_NAME, "*code*").end(); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(7, results.getTotalResult()); + } + + @Test + public void testQueryParserOr() throws IOException { + importBooks(); + WikittyQuery query = WikittyQueryParser.parse("Product.name=Harry* OR Product.name LIKE *code*"); + WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query); + Assert.assertEquals(7, results.getTotalResult()); + } + + @Test + public void testQueryMakerNot() { + WikittyQuery query = new WikittyQueryMaker().not().exteq(Product.EXT_PRODUCT).end(); + WikittyQueryResult<String> results = wikittyClient.findAllByQuery(query); + Assert.assertEquals(13, results.getTotalResult()); + } + + /** + * Test avec des requettes imbriquées. + * + * @throws IOException + */ + @Test + public void testQueryMakerSelect() throws IOException { + importBooks(); + + // les livres dont le prix est entre 0 et 75 + // et qui appartiennet a une catégory nommé "history" + WikittyQuery query = new WikittyQueryMaker().and() + .bw(Product.ELEMENT_FIELD_PRODUCT_PRICE, 0, 75) + .select(Product.ELEMENT_FIELD_PRODUCT_CATEGORY) + .eq(Category.FQ_FIELD_CATEGORY_CODE, "history").end(); + WikittyQueryResult<String> results = wikittyClient.findAllByQuery(query); + Assert.assertEquals(9, results.getTotalResult()); + } + + /** + * Test avec des requettes imbriquées. + * + * @throws IOException + */ + @Test + public void testQueryParserSelect() throws IOException { + importBooks(); + + // les livres dont le prix est entre 0 et 75 + // et qui appartiennet a une catégory nommé "history" + WikittyQuery query = WikittyQueryParser.parse("Product.price=[0 TO 75] AND Product.category={SELECT id WHERE Category.code = history}"); + WikittyQueryResult<String> results = wikittyClient.findAllByQuery(query); + Assert.assertEquals(3, results.getTotalResult()); + } + + @Test + public void testQueryMarkerWilcardEquals() { + WikittyQuery query1 = new WikittyQueryMaker().eq(Product.FQ_FIELD_PRODUCT_NAME, "Lanfeust").end(); + WikittyQueryResult<Product> results1 = wikittyClient.findAllByQuery(Product.class, query1); + Assert.assertEquals(1, results1.getTotalResult()); + + WikittyQuery query2 = new WikittyQueryMaker().eq("*" + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + Product.FIELD_PRODUCT_NAME, "Lanfeust").end(); + WikittyQueryResult<Product> results2 = wikittyClient.findAllByQuery(Product.class, query2); + Assert.assertEquals(1, results2.getTotalResult()); + + // ??? + WikittyQuery query3 = new WikittyQueryMaker().eq("Product.name." + WikittyTypes.STRING, "Lanfeust").end(); + WikittyQueryResult<Product> results3 = wikittyClient.findAllByQuery(Product.class, query3); + Assert.assertEquals(1, results3.getTotalResult()); + + // ??? + WikittyQuery query4 = new WikittyQueryMaker().eq("*.name." + WikittyTypes.STRING, "Lanfeust").end(); + WikittyQueryResult<Product> results4 = wikittyClient.findAllByQuery(Product.class, query4); + Assert.assertEquals(1, results4.getTotalResult()); + } + + @Test + public void testQueryParserWilcardEquals() { + WikittyQuery query1 = WikittyQueryParser.parse("Product.name=Lanfeust"); + WikittyQueryResult<Product> results1 = wikittyClient.findAllByQuery(Product.class, query1); + Assert.assertEquals(1, results1.getTotalResult()); + + WikittyQuery query2 = WikittyQueryParser.parse("*.name=Lanfeust"); + WikittyQueryResult<Product> results2 = wikittyClient.findAllByQuery(Product.class, query2); + Assert.assertEquals(1, results2.getTotalResult()); + + // ??? + WikittyQuery query3 = WikittyQueryParser.parse("Product.name.STRING=Lanfeust"); + WikittyQueryResult<Product> results3 = wikittyClient.findAllByQuery(Product.class, query3); + Assert.assertEquals(1, results3.getTotalResult()); + + // ??? + WikittyQuery query4 = WikittyQueryParser.parse("*.name.STRING=Lanfeust"); + WikittyQueryResult<Product> results4 = wikittyClient.findAllByQuery(Product.class, query4); + Assert.assertEquals(1, results4.getTotalResult()); + } } Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java =================================================================== --- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java 2012-01-20 16:28:12 UTC (rev 1351) +++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java 2012-01-20 17:11:12 UTC (rev 1352) @@ -203,7 +203,7 @@ } protected void assumeNotYetImplementedInMemory() { - boolean isInMomory = this instanceof InMemorySearchTest; + boolean isInMomory = true; if (isInMomory) { log.warn("Not yet implemented in memory, skipping"); } @@ -211,1126 +211,6 @@ } @Test - public void testEq() throws Exception { - - Search query = Search.query().eq("Product.price", "3"); - - Criteria eqCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(eqCriteria); - - assertPagedResultSizeEquals(1, results); - - Wikitty resultW = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW.getFieldAsString(EXT_PRODUCT, - PRODUCT_NAME)); - Assert.assertEquals(3, resultW.getFieldAsInt(EXT_PRODUCT, - PRODUCT_PRICE)); - - - //Test using pattern matching - Search query2 = Search.query().eq("Product.name", "*dri*"); - - Criteria eqCriteria2 = query2.criteria(); - - PagedResult<Wikitty> results2 = proxy.findAllByCriteria(eqCriteria2); - - assertPagedResultSizeEquals(1, results2); - - Wikitty resultW2 = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW2.getFieldAsString(EXT_PRODUCT, - PRODUCT_NAME)); - Assert.assertEquals(3, resultW2.getFieldAsInt(EXT_PRODUCT, - PRODUCT_PRICE)); - - //Test using pattern matching - Search query3 = Search.query().eq("Product.name", "*dri?er"); - - Criteria eqCriteria3 = query3.criteria(); - - PagedResult<Wikitty> results3 = proxy.findAllByCriteria(eqCriteria3); - - assertPagedResultSizeEquals(1, results3); - - Wikitty resultW3 = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW3.getFieldAsString(EXT_PRODUCT, - PRODUCT_NAME)); - Assert.assertEquals(3, resultW3.getFieldAsInt(EXT_PRODUCT, - PRODUCT_PRICE)); - } - - @Test - public void testEntitiesEq() throws Exception { - - Search query = Search.query().eq(Product.FQ_FIELD_PRODUCT_PRICE, "3"); - - Criteria eqCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, eqCriteria); - - assertPagedResultSizeEquals(1, results); - - Product resultW = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW.getName()); - Assert.assertEquals(3, resultW.getPriceFromProduct()); - - - //Test using pattern matching - Search query2 = Search.query().eq(Product.FQ_FIELD_PRODUCT_NAME, "*dri*"); - - Criteria eqCriteria2 = query2.criteria(); - - PagedResult<Product> results2 = proxy.findAllByCriteria(Product.class, eqCriteria2); - - assertPagedResultSizeEquals(1, results2); - - Product resultW2 = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW2.getName()); - Assert.assertEquals(3, resultW2.getPriceFromProduct()); - - //Test using pattern matching - Search query3 = Search.query().eq(Product.FQ_FIELD_PRODUCT_NAME, "*dri?er"); - - Criteria eqCriteria3 = query3.criteria(); - - PagedResult<Product> results3 = proxy.findAllByCriteria(Product.class, eqCriteria3); - - assertPagedResultSizeEquals(1, results3); - - Product resultW3 = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW3.getName()); - Assert.assertEquals(3, resultW3.getPriceFromProduct()); - } - - @Test - public void testNeq() throws Exception { - Search query = Search.query().exteq(EXT_PRODUCT).neq("Product.price", "3"); - - Criteria neqCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(neqCriteria); - - assertPagedResultSizeEquals(2, results); - - } - - @Test - public void testEntitiesNeq() throws Exception { - Search query = Search.query().exteq(Product.EXT_PRODUCT).neq(Product.FQ_FIELD_PRODUCT_PRICE, "3"); - - Criteria neqCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, neqCriteria); - - assertPagedResultSizeEquals(2, results); - - } - - @Test - public void testBw() throws Exception { - - Search query = Search.query().bw("Product.price", "3", "5"); - - Criteria bwCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(bwCriteria); - - assertPagedResultSizeEquals(1, results); - - Wikitty resultW = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW.getFieldAsString(EXT_PRODUCT, - PRODUCT_NAME)); - Assert.assertEquals(3, resultW.getFieldAsInt(EXT_PRODUCT, - PRODUCT_PRICE)); - } - - @Test - public void testEntitiesBw() throws Exception { - - Search query = Search.query().bw(Product.FQ_FIELD_PRODUCT_PRICE, "3", "5"); - - Criteria bwCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, bwCriteria); - - assertPagedResultSizeEquals(1, results); - - Product resultW = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW.getName()); - Assert.assertEquals(3, resultW.getPriceFromProduct()); - } - - @Test - public void testLt() throws Exception { - - Search query = Search.query().lt("Product.price", "20"); - - Criteria bwCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(bwCriteria); - - assertPagedResultSizeEquals(1, results); - - Wikitty resultW = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW.getFieldAsString(EXT_PRODUCT, - PRODUCT_NAME)); - Assert.assertEquals(3, resultW.getFieldAsInt(EXT_PRODUCT, - PRODUCT_PRICE)); - - } - - @Test - public void testEntitiesLt() throws Exception { - - Search query = Search.query().lt(Product.FQ_FIELD_PRODUCT_PRICE, "20"); - - Criteria bwCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, bwCriteria); - - assertPagedResultSizeEquals(1, results); - - Product resultW = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW.getName()); - Assert.assertEquals(3, resultW.getPriceFromProduct()); - - } - - @Test - public void testLe() throws Exception { - - Search query = Search.query().le("Product.price", "20"); - - Criteria bwCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(bwCriteria); - - assertPagedResultSizeEquals(2, results); - } - - @Test - public void testEntitiesLe() throws Exception { - - Search query = Search.query().le(Product.FQ_FIELD_PRODUCT_PRICE, "20"); - - Criteria bwCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, bwCriteria); - - assertPagedResultSizeEquals(2, results); - } - - @Test - public void testGt() throws Exception { - - Search query = Search.query().gt("Product.price", "20"); - - Criteria bwCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(bwCriteria); - - assertPagedResultSizeEquals(1, results); - - Wikitty resultW = results.getFirst(); - - Assert.assertEquals("Paint Blue", resultW.getFieldAsString(EXT_PRODUCT, - PRODUCT_NAME)); - Assert.assertEquals(22, resultW.getFieldAsInt(EXT_PRODUCT, - PRODUCT_PRICE)); - - } - - @Test - public void testEntitiesGt() throws Exception { - - Search query = Search.query().gt(Product.FQ_FIELD_PRODUCT_PRICE, "20"); - - Criteria bwCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, bwCriteria); - - assertPagedResultSizeEquals(1, results); - - Product resultW = results.getFirst(); - - Assert.assertEquals("Paint Blue", resultW.getName()); - Assert.assertEquals(22, resultW.getPriceFromProduct()); - - } - - @Test - public void testGe() throws Exception { - - Search query = Search.query().ge("Product.price", "20"); - - Criteria bwCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(bwCriteria); - - assertPagedResultSizeEquals(2, results); - - } - - @Test - public void testEntitiesGe() throws Exception { - - Search query = Search.query().ge(Product.FQ_FIELD_PRODUCT_PRICE, "20"); - - Criteria bwCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, bwCriteria); - - assertPagedResultSizeEquals(2, results); - - } - - @Test - public void testContains() throws Exception { - - Search query = Search.query().contains("Product.price", "3"); - - Criteria inCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(inCriteria); - - assertPagedResultSizeEquals(1, results); - - Wikitty resultW = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW.getFieldAsString(EXT_PRODUCT, - PRODUCT_NAME)); - Assert.assertEquals(3, resultW.getFieldAsInt(EXT_PRODUCT, - PRODUCT_PRICE)); - - //TODO JC-07-04-2011 do a test with multi-valued field - - } - - @Test - public void testEntitiesContains() throws Exception { - - Search query = Search.query().contains(Product.FQ_FIELD_PRODUCT_PRICE, "3"); - - Criteria inCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, inCriteria); - - assertPagedResultSizeEquals(1, results); - - Product resultW = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW.getName()); - Assert.assertEquals(3, resultW.getPriceFromProduct()); - - //TODO JC-07-04-2011 do a test with multi-valued field - - } - - @Test - public void testIn() throws Exception { - - Search query = Search.query().in("Product.price", "1", "2", "3", "4", "5"); - - Criteria inCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(inCriteria); - - assertPagedResultSizeEquals(1, results); - - Wikitty resultW = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW.getFieldAsString(EXT_PRODUCT, - PRODUCT_NAME)); - Assert.assertEquals(3, resultW.getFieldAsInt(EXT_PRODUCT, - PRODUCT_PRICE)); - } - - @Test - public void testEntitiesIn() throws Exception { - - Search query = Search.query().in(Product.FQ_FIELD_PRODUCT_PRICE, "1", "2", "3", "4", "5"); - - Criteria inCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, inCriteria); - - assertPagedResultSizeEquals(1, results); - - Product resultW = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW.getName()); - Assert.assertEquals(3, resultW.getPriceFromProduct()); - } - - @Test - public void testExteq() throws Exception { - Search query = Search.query().exteq(EXT_PRODUCT); - - Criteria exteqCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(exteqCriteria); - - assertPagedResultSizeEquals(3, results); - } - - @Test - public void testEntitiesExteq() throws Exception { - Search query = Search.query().exteq(Product.EXT_PRODUCT); - - Criteria exteqCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, exteqCriteria); - - assertPagedResultSizeEquals(3, results); - } - - @Test - public void testExtneq() throws Exception { - Search query = Search.query().extneq(EXT_PRODUCT); - - Criteria extneqCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(extneqCriteria); - - assertPagedResultSizeEquals(7, results); - - } - - @Test - public void testIdeq() throws Exception { - Search query = Search.query().ideq(W_ID); - - Criteria ideqCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(ideqCriteria); - - assertPagedResultSizeEquals(1, results); - - Wikitty resultW = results.getFirst(); - - Assert.assertEquals("Paint Blue", resultW.getFieldAsString(EXT_PRODUCT, - PRODUCT_NAME)); - Assert.assertEquals(22, resultW.getFieldAsInt(EXT_PRODUCT, - PRODUCT_PRICE)); - - } - - @Test - public void testEntitiesIdeq() throws Exception { - Search query = Search.query().ideq(W_ENTITY_ID); - - Criteria ideqCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, ideqCriteria); - - assertPagedResultSizeEquals(1, results); - - Product resultW = results.getFirst(); - - Assert.assertEquals("Paint Blue", resultW.getName()); - Assert.assertEquals(22, resultW.getPriceFromProduct()); - - } - - @Test - public void testIdneq() throws Exception { - - Search query = Search.query().exteq(EXT_PRODUCT).idneq(W_ID); - - Criteria idneqCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(idneqCriteria); - - assertPagedResultSizeEquals(2, results); - } - - @Test - public void testEntitiesIdneq() throws Exception { - - Search query = Search.query().idneq(W_ENTITY_ID); - - Criteria idneqCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, idneqCriteria); - - assertPagedResultSizeEquals(2, results); - } - - @Test - public void testUnlike() throws Exception { - - // FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming - assumeNotYetImplementedInMemory(); - - Search query = Search.query().exteq(EXT_PRODUCT).unlike("Product.name", "*dri*"); - - Criteria likeCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(likeCriteria); - - assertPagedResultSizeEquals(2, results); - } - - @Test - public void testEntitiesUnlike() throws Exception { - - // FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming - assumeNotYetImplementedInMemory(); - - Search query = Search.query().unlike(Product.FQ_FIELD_PRODUCT_NAME, "*dri*"); - - Criteria likeCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, likeCriteria); - - assertPagedResultSizeEquals(2, results); - } - - @Test - public void testLike() throws Exception { - - // FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming - assumeNotYetImplementedInMemory(); - - Search query = Search.query().like("Product.name", "*dri*"); - - Criteria likeCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(likeCriteria); - - assertPagedResultSizeEquals(1, results); - } - - @Test - public void testEntitiesLike() throws Exception { - - // FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming - assumeNotYetImplementedInMemory(); - - Search query = Search.query().like(Product.FQ_FIELD_PRODUCT_NAME, "*dri*"); - - Criteria likeCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, likeCriteria); - - assertPagedResultSizeEquals(1, results); - } - - @Test - public void testSw() throws Exception { - Search query = Search.query().sw("Product.name", "Scre"); - - Criteria swCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(swCriteria); - - assertPagedResultSizeEquals(1, results); - - Wikitty resultW = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW.getFieldAsString(EXT_PRODUCT, - PRODUCT_NAME)); - Assert.assertEquals(3, resultW.getFieldAsInt(EXT_PRODUCT, - PRODUCT_PRICE)); - - } - - @Test - public void testEntitiesSw() throws Exception { - Search query = Search.query().sw(Product.FQ_FIELD_PRODUCT_NAME, "Scre"); - - Criteria swCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, swCriteria); - - assertPagedResultSizeEquals(1, results); - - Product resultW = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW.getName()); - Assert.assertEquals(3, resultW.getPriceFromProduct()); - - } - - @Test - public void testNsw() throws Exception { - - Search query = Search.query().exteq(EXT_PRODUCT).nsw("Product.name", "Scre"); - - Criteria nswCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(nswCriteria); - - assertPagedResultSizeEquals(2, results); - } - - @Test - public void testEntitiesNsw() throws Exception { - - Search query = Search.query().nsw(Product.FQ_FIELD_PRODUCT_NAME, "Scre"); - - Criteria nswCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, nswCriteria); - - assertPagedResultSizeEquals(2, results); - } - - @Test - public void testEw() throws Exception { - - Search query = Search.query().ew("Product.name", "ver"); - - Criteria ewCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(ewCriteria); - - assertPagedResultSizeEquals(1, results); - - Wikitty resultW = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW.getFieldAsString(EXT_PRODUCT, - PRODUCT_NAME)); - Assert.assertEquals(3, resultW.getFieldAsInt(EXT_PRODUCT, - PRODUCT_PRICE)); - - } - - @Test - public void testEntitiesEw() throws Exception { - - Search query = Search.query().ew(Product.FQ_FIELD_PRODUCT_NAME, "ver"); - - Criteria ewCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, ewCriteria); - - assertPagedResultSizeEquals(1, results); - - Product resultW = results.getFirst(); - - Assert.assertEquals("Screwdriver", resultW.getName()); - Assert.assertEquals(3, resultW.getPriceFromProduct()); - - } - - @Test - public void testNotew() throws Exception { - - Search query = Search.query().exteq(EXT_PRODUCT).notew("Product.name", "ver"); - - Criteria notewCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(notewCriteria); - - assertPagedResultSizeEquals(2, results); - - } - - @Test - public void testEntitiesNotew() throws Exception { - - Search query = Search.query().notew(Product.FQ_FIELD_PRODUCT_NAME, "ver"); - - Criteria notewCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, notewCriteria); - - assertPagedResultSizeEquals(2, results); - - } - - @Test - public void testKeyword() throws Exception { - - Search query = Search.query().exteq(EXT_PRODUCT).keyword("Paint"); - - Criteria keywordCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(keywordCriteria); - - assertPagedResultSizeEquals(2, results); - - } - - @Test - public void testEntitiesKeyword() throws Exception { - - Search query = Search.query().exteq(Product.EXT_PRODUCT).keyword("Paint"); - - Criteria keywordCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, keywordCriteria); - - assertPagedResultSizeEquals(2, results); - - } - - @Test - public void testIsNull() throws Exception { - - Search query = Search.query().isNull("Product.name"); - - Criteria isNull = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(isNull); - - assertPagedResultSizeEquals(0, results); - - } - - @Test - public void testEntitiesIsNull() throws Exception { - - Search query = Search.query().isNull(Product.FQ_FIELD_PRODUCT_NAME); - - Criteria isNull = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, isNull); - - assertPagedResultSizeEquals(0, results); - - } - - @Test - public void testIsNotNull() throws Exception { - - Search query = Search.query().isNotNull("Product.name"); - - Criteria isNotNull = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(isNotNull); - - assertPagedResultSizeEquals(3, results); - - } - - @Test - public void testEntitiesIsNotNull() throws Exception { - - Search query = Search.query().isNotNull(Product.FQ_FIELD_PRODUCT_NAME); - - Criteria isNotNull = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, isNotNull); - - assertPagedResultSizeEquals(3, results); - - } - - @Test - public void testFalse() throws Exception { - - Search query = Search.query().rFalse(); - - Criteria rFalse = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(rFalse); - - assertPagedResultSizeEquals(0, results); - - } - - @Test - public void testEntitiesFalse() throws Exception { - - Search query = Search.query().rFalse(); - - Criteria rFalse = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, rFalse); - - assertPagedResultSizeEquals(0, results); - - } - - @Test - public void testTrue() throws Exception { - - Search query = Search.query().exteq(EXT_PRODUCT).rTrue(); - - Criteria rTrue = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(rTrue); - - assertPagedResultSizeEquals(3, results); - - } - - @Test - public void testEntitiesTrue() throws Exception { - - Search query = Search.query().exteq(Product.EXT_PRODUCT).rTrue(); - - Criteria rTrue = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, rTrue); - - assertPagedResultSizeEquals(3, results); - - } - - @Test - public void testAnd() throws Exception { - - Search query = Search.query().and().bw("Product.price", "15", "25") - .sw("Product.name", "Paint"); - - Criteria andCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(andCriteria); - - assertPagedResultSizeEquals(2, results); - - } - - @Test - public void testEntitiesAnd() throws Exception { - - Search query = Search.query().and().bw(Product.FQ_FIELD_PRODUCT_PRICE, "15", "25") - .sw(Product.FQ_FIELD_PRODUCT_NAME, "Paint"); - - Criteria andCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, andCriteria); - - assertPagedResultSizeEquals(2, results); - - } - - @Test - public void testOr() throws Exception { - - Search query = Search.query(); - - query.or().gt("Product.price", "20").sw("Product.name", "Screw"); - - Criteria bwCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(bwCriteria); - - assertPagedResultSizeEquals(2, results); - - } - - @Test - public void testEntitiesOr() throws Exception { - - Search query = Search.query(); - - query.or().gt(Product.FQ_FIELD_PRODUCT_PRICE, "20").sw(Product.FQ_FIELD_PRODUCT_NAME, "Screw"); - - Criteria bwCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, bwCriteria); - - assertPagedResultSizeEquals(2, results); - - } - - @Test - public void testNot() throws Exception { - - Search query = Search.query(); - - query.exteq(EXT_PRODUCT).not().ge("Product.price", "20"); - - Criteria bwCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(bwCriteria); - - assertPagedResultSizeEquals(1, results); - } - - @Test - public void testEntitiesNot() throws Exception { - - Search query = Search.query(); - - query.exteq(Product.EXT_PRODUCT).not().ge(Product.FQ_FIELD_PRODUCT_PRICE, "20"); - - Criteria bwCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, bwCriteria); - - assertPagedResultSizeEquals(1, results); - } - - @Test - public void testAssociated() throws Exception { - - /* Following request mean is : - * Looking for any product which price is between 15 and 25, - * and name starts with 'Paint', - * and with an associated category which name is 'Hardware' - */ - - Search query = Search.query().bw("Product.price", "15", "25") - .sw("Product.name", "Paint").associated("Product.category") - .eq("Category.name", "HardWare"); - - Criteria associatedCriteria = query.criteria(); - - PagedResult<Wikitty> results = proxy.findAllByCriteria(associatedCriteria); - - assertPagedResultSizeEquals(1, results); - - Wikitty resultW = results.getFirst(); - - Assert.assertEquals("Paint", resultW.getFieldAsString(EXT_PRODUCT, PRODUCT_NAME)); - Assert.assertEquals(20, resultW.getFieldAsInt(EXT_PRODUCT, PRODUCT_PRICE)); - - //Test with an associated search that returns nothing - query = Search.query().bw("Product.price", "15", "25") - .sw("Product.name", "Paint").associated("Product.category") - .eq("Category.name", "don't return anything"); - - associatedCriteria = query.criteria(); - - results = proxy.findAllByCriteria(associatedCriteria); - - assertPagedResultSizeEquals(0, results); - } - - @Test - public void testEntitiesAssociated() throws Exception { - - /* Following request mean is : - * Looking for any product which price is between 15 and 25, - * and name starts with 'Paint', - * and with an associated category which name is 'Hardware' - */ - - Search query = Search.query().bw(Product.FQ_FIELD_PRODUCT_PRICE, "15", "25") - .sw(Product.FQ_FIELD_PRODUCT_NAME, "Paint").associated(Product.FQ_FIELD_PRODUCT_CATEGORY) - .eq(Category.FQ_FIELD_CATEGORY_NAME, "HardWare"); - - Criteria associatedCriteria = query.criteria(); - - PagedResult<Product> results = proxy.findAllByCriteria(Product.class, associatedCriteria); - - assertPagedResultSizeEquals(1, results); - - Product resultW = results.getFirst(); - - Assert.assertEquals("Paint", resultW.getName()); - Assert.assertEquals(20, resultW.getPriceFromProduct()); - - //Test with an associated search that returns nothing - query = Search.query().bw(Product.FQ_FIELD_PRODUCT_PRICE, "15", "25") - .sw(Product.FQ_FIELD_PRODUCT_NAME, "Paint").associated(Product.FQ_FIELD_PRODUCT_CATEGORY) - .eq(Category.FQ_FIELD_CATEGORY_NAME, "don't return anything"); - - associatedCriteria = query.criteria(); - - results = proxy.findAllByCriteria(Product.class, associatedCriteria); - - assertPagedResultSizeEquals(0, results); - } - - /** - * <li> monext.monfield - * <li> *.monfield - * <li> monext.monfield.NUMERIC - * <li> *.monfield.NUMERIC - **/ - @Test - public void testSearchAllEquals() { - // FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming - assumeNotYetImplementedInMemory(); - { - Criteria criteria = Search.query().eq("Category.name", "HardWare").criteria(); - PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - { - Criteria criteria = Search.query().eq("*.name", "HardWare").criteria(); - PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria); - assertPagedResultSizeEquals(2, pagedResult); - } - { - Criteria criteria = Search.query().eq("Category.name" + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "HardWare").criteria(); - PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - { - Criteria criteria = Search.query().eq("*.name" + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "HardWare").criteria(); - PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria); - assertPagedResultSizeEquals(2, pagedResult); - } - } - - /** - * <li> monext.monfield - * <li> *.monfield - * <li> monext.monfield.NUMERIC - * <li> *.monfield.NUMERIC - **/ - @Test - public void testEntitiesSearchAllEquals() { - // FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming - assumeNotYetImplementedInMemory(); - { - Criteria criteria = Search.query().eq(Category.FQ_FIELD_CATEGORY_NAME, "HardWare").criteria(); - PagedResult<Category> pagedResult = proxy.findAllByCriteria(Category.class, criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - { - Criteria criteria = Search.query().eq("*.name", "HardWare").criteria(); - PagedResult<Category> pagedResult = proxy.findAllByCriteria(Category.class, criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - { - Criteria criteria = Search.query().eq(Category.FQ_FIELD_CATEGORY_NAME + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "HardWare").criteria(); - PagedResult<Category> pagedResult = proxy.findAllByCriteria(Category.class, criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - { - Criteria criteria = Search.query().eq("*.name" + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "HardWare").criteria(); - PagedResult<Category> pagedResult = proxy.findAllByCriteria(Category.class, criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - } - - /** - * <li> monext.monfield - * <li> *.monfield - * <li> monext.monfield.NUMERIC - * <li> *.monfield.NUMERIC - **/ - @Test - public void testSearchAllContains() { - // FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming - assumeNotYetImplementedInMemory(); - { - Criteria criteria = Search.query().contains("Product.colors", "Red").criteria(); - PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - { - Criteria criteria = Search.query().contains("*.colors", "Red").criteria(); - PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria); - assertPagedResultSizeEquals(2, pagedResult); - } - { - Criteria criteria = Search.query().contains("Product.colors" + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "Red").criteria(); - PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - { - Criteria criteria = Search.query().contains("*.colors" + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "Red").criteria(); - PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria); - assertPagedResultSizeEquals(2, pagedResult); - } - } - - /** - * <li> monext.monfield - * <li> *.monfield - * <li> monext.monfield.NUMERIC - * <li> *.monfield.NUMERIC - **/ - @Test - public void testEntitiesSearchAllContains() { - // FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming - assumeNotYetImplementedInMemory(); - { - Criteria criteria = Search.query().contains(Product.FQ_FIELD_PRODUCT_COLORS, "Red").criteria(); - PagedResult<Product> pagedResult = proxy.findAllByCriteria(Product.class, criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - { - Criteria criteria = Search.query().contains("*.colors", "Red").criteria(); - PagedResult<Product> pagedResult = proxy.findAllByCriteria(Product.class, criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - { - Criteria criteria = Search.query().contains(Product.FQ_FIELD_PRODUCT_COLORS + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "Red").criteria(); - PagedResult<Product> pagedResult = proxy.findAllByCriteria(Product.class, criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - { - Criteria criteria = Search.query().contains("*.colors" + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "Red").criteria(); - PagedResult<Product> pagedResult = proxy.findAllByCriteria(Product.class, criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - } - - /** - * <li> monext.monfield - * <li> *.monfield - * <li> monext.monfield.NUMERIC - * <li> *.monfield.NUMERIC - **/ - @Test - public void testSearchAllLike() { - // FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming - assumeNotYetImplementedInMemory(); - { - Criteria criteria = Search.query().like("Product.name", "*Blue").criteria(); - PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - { - Criteria criteria = Search.query().like("*.name", "*Blue").criteria(); - PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria); - assertPagedResultSizeEquals(2, pagedResult); - } - { - Criteria criteria = Search.query().like("Product.name" + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "*Blue").criteria(); - PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - { - Criteria criteria = Search.query().like("*.name" + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "*Blue").criteria(); - PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria); - assertPagedResultSizeEquals(2, pagedResult); - } - } - - /** - * <li> monext.monfield - * <li> *.monfield - * <li> monext.monfield.NUMERIC - * <li> *.monfield.NUMERIC - **/ - @Test - public void testEntitiesSearchAllLike() { - // FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming - assumeNotYetImplementedInMemory(); - { - Criteria criteria = Search.query().like(Product.FQ_FIELD_PRODUCT_NAME, "*Blue").criteria(); - PagedResult<Product> pagedResult = proxy.findAllByCriteria(Product.class, criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - { - Criteria criteria = Search.query().like("*.name", "*Blue").criteria(); - PagedResult<Product> pagedResult = proxy.findAllByCriteria(Product.class, criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - { - Criteria criteria = Search.query().like(Product.FQ_FIELD_PRODUCT_NAME + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "*Blue").criteria(); - PagedResult<Product> pagedResult = proxy.findAllByCriteria(Product.class, criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - { - Criteria criteria = Search.query().like("*.name" + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "*Blue").criteria(); - PagedResult<Product> pagedResult = proxy.findAllByCriteria(Product.class, criteria); - assertPagedResultSizeEquals(1, pagedResult); - } - } - - @Test public void testSearchAllLowerCase() { // FIXME implement it in memory assumeNotYetImplementedInMemory(); Deleted: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/InMemorySearchTest.java =================================================================== --- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/InMemorySearchTest.java 2012-01-20 16:28:12 UTC (rev 1351) +++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/InMemorySearchTest.java 2012-01-20 17:11:12 UTC (rev 1352) @@ -1,51 +0,0 @@ -/* - * #%L - * Wikitty :: api - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2009 - 2011 CodeLutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Lesser Public License for more details. - * - * You should have received a copy of the GNU General Lesser Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. - * #L% - */ -package org.nuiton.wikitty.api; - -import org.junit.Ignore; -import org.nuiton.util.ApplicationConfig; -import org.nuiton.wikitty.WikittyConfig; -import org.nuiton.wikitty.WikittyService; -import org.nuiton.wikitty.services.WikittyServiceInMemory; - -/** - * User: couteau - * Date: 05/04/11 - */ -public class InMemorySearchTest extends AbstractSearchTest { - - WikittyService service; - - @Override - public WikittyService getWikittyService() { - - if (service == null) { - ApplicationConfig config = WikittyConfig.getConfig(); - service = new WikittyServiceInMemory(config); - } - - return service; - } -} Modified: trunk/wikitty-api/src/test/resources/csv/importbooks.csv =================================================================== --- trunk/wikitty-api/src/test/resources/csv/importbooks.csv 2012-01-20 16:28:12 UTC (rev 1351) +++ trunk/wikitty-api/src/test/resources/csv/importbooks.csv 2012-01-20 17:11:12 UTC (rev 1352) @@ -4,7 +4,7 @@ "36b8e47d-5d38-4818-b915-6a318f7b74d8","ProductPicture,ProductDocumentation,Product","Category.code=history","(white),(black)","1983-12-24T23:00:00.000+0000Z","Oliver Twist","42",,"2",,"5" "94f4c6ca-49cd-4e4f-954f-cee8654582be","ProductPicture,ProductDocumentation,Product","Category.code=history","(white)","2011-04-11T22:00:00.000+0000Z","Guerre et Paix","15",,"1",,"2" "aa3dc36f-cb12-4bad-a405-ae1146975567","ProductPicture,ProductDocumentation,Product","Category.code=history","(pink)","2011-04-11T22:00:00.000+0000Z","Les Quatre filles du Dr March","15",,"1",,"2" -"6ee97a12-0f2b-4d6f-8d28-ad40e8d4e178","ProductPicture,ProductDocumentation,Product","Category.code=history","(white)","2011-04-11T22:00:00.000+0000Z","Les Chevaliers de La Table Ronde","15",,"1",,"2" +"6ee97a12-0f2b-4d6f-8d28-ad40e8d4e178","ProductPicture,ProductDocumentation,Product",,"(white)","2011-04-11T22:00:00.000+0000Z","Les Chevaliers de La Table Ronde","15",,"1",,"2" "db9dc782-e650-4fd4-83ac-3c1c5c136cde","ProductPicture,ProductDocumentation,Product","Category.code=sf","(white)","2011-04-08T22:00:00.000+0000Z","Da vinci code","49",,"1",,"2" "584adc1e-726d-4348-9a57-77153d245b34","ProductPicture,ProductDocumentation,Product","Category.code=sf","(red)","2011-02-11T22:00:00.000+0000Z","Le Symbole perdu","49",,"0",,"2" "0f30c93f-7ad5-4f03-8714-b2e62f2446af","ProductPicture,ProductDocumentation,Product","Category.code=sf","(blue)","1998-05-27T22:00:00.000+0000Z","Harry Potter et la Chambre des secrets","30",,"0",,"10"