+1 to what Julian said.

--
Michael Mior
mm...@apache.org


Le mer. 2 janv. 2019 à 19:57, Julian Hyde <jh...@apache.org> a écrit :

> I wouldn’t do regex by default. Quite a few characters are regex meta
> characters (e.g. “(“ and “.”) and it’s a pain to have to remember to escape
> them when copy-pasting output into the test.
>
> So, my vote is for
>
> >  .returns(regexMatch("id=\\p{Graph}+; a=1")) // separate consumer
>
> I don’t have an opinion on group capturing.
>
> > On Jan 2, 2019, at 4:26 PM, Andrei Sereda <and...@sereda.cc> wrote:
> >
> > Hello,
> >
> >
> > As part of [CALCITE-2755](
> https://issues.apache.org/jira/browse/CALCITE-2755)
> > ([982](https://github.com/apache/calcite/pull/982)) I needed to perform
> > regex comparison of result (since it is not known in advance).
> >
> > The assertion looks like:
> >
> > ```java
> > assertThat()
> > .query("select id, a from view")
> > .returns(regexMatch("id=\\p{Graph}+; a=1"))
> > ```
> > Do you think CalciteAssert might benefit from regular expressions ?
> Should
> > it support expressions natively or as standalone Consumer implementation
> ?
> > Should it also support [group capturing](
> > https://docs.oracle.com/javase/tutorial/essential/regex/groups.html) ?
> If
> > so, what is recommended syntax ?
> >
> > ### Syntax examples
> > ```java
> > .returns(regexMatch("id=\\p{Graph}+; a=1")) // separate consumer
> > .returns("id=\\p{Graph}+; a=1") // native support
> > .returns("id=REGEX{\\p{Graph}+}; a=1") // special syntax
> > .returns("id=(\\p{Graph}+); a=$1-test") // group capturing ?
> > ```
> >
> > Regards,
> > Andrei.
>
>

Reply via email to