use of edu.uci.ics.textdb.api.schema.Attribute in project textdb by TextDB.
the class RegexMatcherTest method testRegexText3.
@Test
public void testRegexText3() throws Exception {
String query = "([a-zA-Z])+o[a-z]a[a-z]o";
List<Tuple> exactResults = RegexMatcherTestHelper.getQueryResults(TEXT_TABLE, query, Arrays.asList(RegexTestConstantsText.CONTENT));
List<Tuple> expectedResults = new ArrayList<Tuple>();
// expected to match "Tomato" & "tomato"
List<Tuple> data = RegexTestConstantsText.getSampleTextTuples();
Schema spanSchema = Utils.addAttributeToSchema(RegexTestConstantsText.SCHEMA_TEXT, new Attribute(RESULTS, AttributeType.LIST));
List<Span> spans = new ArrayList<Span>();
spans.add(new Span(RegexTestConstantsText.CONTENT, 0, 6, query, "Tomato"));
spans.add(new Span(RegexTestConstantsText.CONTENT, 94, 100, query, "tomato"));
IField spanField = new ListField<Span>(new ArrayList<Span>(spans));
List<IField> fields = new ArrayList<IField>(data.get(7).getFields());
fields.add(spanField);
expectedResults.add(new Tuple(spanSchema, fields.toArray(new IField[fields.size()])));
// expected to match "Potato"
spans.clear();
spans.add(new Span(RegexTestConstantsText.CONTENT, 0, 6, query, "Potato"));
spanField = new ListField<Span>(new ArrayList<Span>(spans));
fields = new ArrayList<IField>(data.get(8).getFields());
fields.add(spanField);
expectedResults.add(new Tuple(spanSchema, fields.toArray(new IField[fields.size()])));
// expected to match "avocado"
spans.clear();
spans.add(new Span(RegexTestConstantsText.CONTENT, 53, 60, query, "avocado"));
spanField = new ListField<Span>(new ArrayList<Span>(spans));
fields = new ArrayList<IField>(data.get(9).getFields());
fields.add(spanField);
expectedResults.add(new Tuple(spanSchema, fields.toArray(new IField[fields.size()])));
Assert.assertTrue(TestUtils.equals(expectedResults, exactResults));
}
use of edu.uci.ics.textdb.api.schema.Attribute in project textdb by TextDB.
the class RegexMatcherTest method testGetNextTupleCorpIP.
@Test
public void testGetNextTupleCorpIP() throws Exception {
String query = "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$";
List<Tuple> exactResults = RegexMatcherTestHelper.getQueryResults(CORP_TABLE, query, Arrays.asList(RegexTestConstantsCorp.IP_ADDRESS));
List<Tuple> expectedResults = new ArrayList<Tuple>();
// expected to match "66.220.144.0"
List<Tuple> data = RegexTestConstantsCorp.getSampleCorpTuples();
Schema spanSchema = Utils.addAttributeToSchema(RegexTestConstantsCorp.SCHEMA_CORP, new Attribute(RESULTS, AttributeType.LIST));
List<Span> spans = new ArrayList<Span>();
spans.add(new Span(RegexTestConstantsCorp.IP_ADDRESS, 0, 12, query, "66.220.144.0"));
IField spanField = new ListField<Span>(new ArrayList<Span>(spans));
List<IField> fields = new ArrayList<IField>(data.get(0).getFields());
fields.add(spanField);
expectedResults.add(new Tuple(spanSchema, fields.toArray(new IField[fields.size()])));
// expected to match "180.149.134.141"
spans.clear();
spans.add(new Span(RegexTestConstantsCorp.IP_ADDRESS, 0, 15, query, "180.149.134.141"));
spanField = new ListField<Span>(new ArrayList<Span>(spans));
fields = new ArrayList<IField>(data.get(1).getFields());
fields.add(spanField);
expectedResults.add(new Tuple(spanSchema, fields.toArray(new IField[fields.size()])));
// expected to match "131.107.0.89"
spans.clear();
spans.add(new Span(RegexTestConstantsCorp.IP_ADDRESS, 0, 12, query, "131.107.0.89"));
spanField = new ListField<Span>(new ArrayList<Span>(spans));
fields = new ArrayList<IField>(data.get(2).getFields());
fields.add(spanField);
expectedResults.add(new Tuple(spanSchema, fields.toArray(new IField[fields.size()])));
Assert.assertTrue(TestUtils.equals(expectedResults, exactResults));
}
use of edu.uci.ics.textdb.api.schema.Attribute in project textdb by TextDB.
the class NlpEntityTestConstants method getTest8ResultTuples.
public static List<Tuple> getTest8ResultTuples() {
List<Tuple> resultList = new ArrayList<>();
List<Span> spanList = new ArrayList<Span>();
Span span1 = new Span("sentence_one", 23, 34, NlpEntityType.MONEY.toString(), "300 dollars");
spanList.add(span1);
IField[] fields1 = { new TextField("This backpack costs me 300 dollars.") };
Tuple tuple1 = new Tuple(SCHEMA_ONE_SENTENCE, fields1);
Schema returnSchema = Utils.addAttributeToSchema(tuple1.getSchema(), new Attribute(RESULTS, AttributeType.LIST));
Tuple returnTuple = DataflowUtils.getSpanTuple(tuple1.getFields(), spanList, returnSchema);
resultList.add(returnTuple);
return resultList;
}
use of edu.uci.ics.textdb.api.schema.Attribute in project textdb by TextDB.
the class RegexMatcherTest method testRegexWithLimitOffset.
@Test
public void testRegexWithLimitOffset() throws Exception {
String query = "patient";
List<Tuple> exactResultsWithLimitOffset = RegexMatcherTestHelper.getQueryResults(TEXT_TABLE, query, Arrays.asList(RegexTestConstantsText.CONTENT), true, 2, 1);
List<Tuple> expectedResults = new ArrayList<Tuple>();
List<Tuple> data = RegexTestConstantsText.getSampleTextTuples();
Schema spanSchema = Utils.addAttributeToSchema(RegexTestConstantsText.SCHEMA_TEXT, new Attribute(RESULTS, AttributeType.LIST));
List<Span> spans = new ArrayList<Span>();
spans.add(new Span(RegexTestConstantsText.CONTENT, 4, 11, query, "patient"));
IField spanField = new ListField<Span>(new ArrayList<Span>(spans));
List<IField> fields = new ArrayList<IField>(data.get(4).getFields());
fields.add(spanField);
expectedResults.add(new Tuple(spanSchema, fields.toArray(new IField[fields.size()])));
spans.clear();
fields.clear();
spans.add(new Span(RegexTestConstantsText.CONTENT, 4, 11, query, "patient"));
spans.add(new Span(RegexTestConstantsText.CONTENT, 65, 72, query, "patient"));
spanField = new ListField<Span>(new ArrayList<Span>(spans));
fields = new ArrayList<IField>(data.get(5).getFields());
fields.add(spanField);
expectedResults.add(new Tuple(spanSchema, fields.toArray(new IField[fields.size()])));
spans.clear();
fields.clear();
spans.add(new Span(RegexTestConstantsText.CONTENT, 4, 11, query, "patient"));
spanField = new ListField<Span>(new ArrayList<Span>(spans));
fields = new ArrayList<IField>(data.get(6).getFields());
fields.add(spanField);
expectedResults.add(new Tuple(spanSchema, fields.toArray(new IField[fields.size()])));
Assert.assertTrue(TestUtils.containsAll(expectedResults, exactResultsWithLimitOffset));
Assert.assertEquals(expectedResults.size(), 3);
Assert.assertEquals(exactResultsWithLimitOffset.size(), 2);
}
use of edu.uci.ics.textdb.api.schema.Attribute in project textdb by TextDB.
the class RegexMatcherTest method testRegexText4.
@Test
public void testRegexText4() throws Exception {
String query = "\\[(.)?\\]";
List<Tuple> exactResults = RegexMatcherTestHelper.getQueryResults(TEXT_TABLE, query, Arrays.asList(RegexTestConstantsText.CONTENT));
List<Tuple> expectedResults = new ArrayList<Tuple>();
// expected to match [a] & [!]
List<Tuple> data = RegexTestConstantsText.getSampleTextTuples();
Schema spanSchema = Utils.addAttributeToSchema(RegexTestConstantsText.SCHEMA_TEXT, new Attribute(RESULTS, AttributeType.LIST));
List<Span> spans = new ArrayList<Span>();
spans.add(new Span(RegexTestConstantsText.CONTENT, 110, 113, query, "[a]"));
spans.add(new Span(RegexTestConstantsText.CONTENT, 120, 123, query, "[!]"));
IField spanField = new ListField<Span>(new ArrayList<Span>(spans));
List<IField> fields = new ArrayList<IField>(data.get(10).getFields());
fields.add(spanField);
expectedResults.add(new Tuple(spanSchema, fields.toArray(new IField[fields.size()])));
Assert.assertTrue(TestUtils.equals(expectedResults, exactResults));
}
Aggregations