@Test public void repro() { client.add("name", "Jeff", 1); Set<Long> expected = Sets.newHashSet(1L); Timestamp ts = Timestamp.now(); client.remove("name", "Jeff", 1); Assert.assertEquals(expected, client.find(Criteria.where().key("name") .operator(Operator.EQUALS).value("Jeff").at(ts))); }
@Test public void testSimpleWithTime() { Set<Long> results = client.find(Criteria.where().key("graduation_rate") .operator(Operator.GREATER_THAN).value(90)); Timestamp t1 = Timestamp.now(); System.out.println("Importing college data into Concourse"); Importer importer = new CsvImporter(client); importer.importFile(Resources.get("/college.csv").getFile()); Assert.assertEquals(results, client.find(Criteria.where().key("graduation_rate") .operator(Operator.GREATER_THAN).value(90).at(t1))); }
@Test public void testComplexTObjectBinaryFormat() { Criteria criteria = Criteria.where().key("name") .operator(Operator.EQUALS).value("jeff").at(Timestamp.now()) .and().key("comapny").operator(Operator.EQUALS) .value("cinchapi").at(Timestamp.now()).build(); TCriteria tcriteria = Language.translateToThriftCriteria(criteria); ComplexTObject expected = ComplexTObject.fromJavaObject(tcriteria); ComplexTObject actual = ComplexTObject .fromByteBuffer(expected.toByteBuffer()); Assert.assertEquals(expected, actual); }
@Test public void testTimestampPinningSomeTimestamps() { Criteria criteria = Criteria.where().key("name") .operator(Operator.EQUALS).value("Jeff Nelson").and() .group(Criteria.where().key("company").operator(Operator.EQUALS) .value("Cinchapi").at(Timestamp.now()).or() .key("company").operator(Operator.EQUALS) .value("Blavity")) .build(); Timestamp timestamp = Timestamp.now(); criteria = criteria.at(timestamp); List<Symbol> symbols = Parsing.groupExpressions(criteria.getSymbols()); symbols.forEach((symbol) -> { if(symbol instanceof Expression) { Expression expression = (Expression) symbol; Assert.assertEquals(expression.raw().timestamp(), timestamp.getMicros()); } }); }