[
https://issues.apache.org/jira/browse/CALCITE-2480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16585262#comment-16585262
]
Vladimir Sitnikov edited comment on CALCITE-2480 at 8/19/18 7:54 PM:
---------------------------------------------------------------------
[~julianhyde],
please add toString to {{NameSet}} as well:
{code:java}
@Override public String toString() {
return names.toString();
}
{code}
+ some more tests
{code:java} @Test public void testNameSetContains1() {
final NameSet names = new NameSet();
names.add("COUNT");
names.add("COVAR_POP");
assertNsContains(names,"count", true, false);
assertNsContains(names, "count", false, true);
assertNsContains(names,"cOunt", true, false);
assertNsContains(names, "cOunt", false, true);
}
@Test public void testNameSetContains2() {
final NameSet names = new NameSet();
names.add("count");
names.add("COVAR_POP");
assertNsContains(names,"COUNT", true, false);
assertNsContains(names, "COUNT", false, true);
assertNsContains(names,"CoUNT", true, false);
assertNsContains(names, "CoUNT", false, true);
}
@Test public void testNameSetContains3() {
final NameSet names = new NameSet();
names.add("cOunt");
names.add("COVAR_POP");
assertNsContains(names,"count", true, false);
assertNsContains(names, "count", false, true);
assertNsContains(names,"COUNT", true, false);
assertNsContains(names, "COUNT", false, true);
assertNsContains(names,"cOunt", true, true);
assertNsContains(names, "cOunt", false, true);
}
@Test public void testNameSetContains4() {
List<String> tst = Arrays.asList("cOunt", "coUnt", "couNt");
final NameSet names = new NameSet();
for (String s : tst) {
names.add(s);
}
names.add("COVAR_POP");
for (String s : tst) {
assertNsContains(names, s, true, true);
assertNsContains(names, s, false, true);
}
List<String> caseInsensitive = Arrays.asList("count", "cOUnt", "cOuNt",
"Count");
for (String s : caseInsensitive) {
assertNsContains(names, s, true, false);
assertNsContains(names, s, false, true);
}
}
private void assertNsContains(NameSet names, String item, boolean
caseSensitive, boolean result) {
assertEquals(
names + ", contains(" + item + (caseSensitive ? ", caseSensitive" : "")
+ ")",
result, names.contains(item, caseSensitive));
}
{code}
was (Author: vladimirsitnikov):
[~julianhyde],
please add toString to {{NameSet}} as well:
{code:java}
@Override public String toString() {
return names.toString();
}
{code}
+ some more tests
{code:java} @Test public void testNameSetContains1() {
final NameSet names = new NameSet();
names.add("COUNT");
names.add("COVAR_POP");
assertNsContains(names,"count", true, false);
assertNsContains(names, "count", false, true);
assertNsContains(names,"cOunt", true, false);
assertNsContains(names, "cOunt", false, true);
}
@Test public void testNameSetContains2() {
final NameSet names = new NameSet();
names.add("count");
names.add("COVAR_POP");
assertNsContains(names,"COUNT", true, false);
assertNsContains(names, "COUNT", false, true);
assertNsContains(names,"CoUNT", true, false);
assertNsContains(names, "CoUNT", false, true);
}
@Test public void testNameSetContains3() {
final NameSet names = new NameSet();
names.add("cOunt");
names.add("COVAR_POP");
assertNsContains(names,"count", true, false);
assertNsContains(names, "count", false, true);
assertNsContains(names,"COUNT", true, false);
assertNsContains(names, "COUNT", false, true);
assertNsContains(names,"cOunt", true, true);
assertNsContains(names, "cOunt", false, true);
}
@Test public void testNameSetContains4() {
List<String> tst = Arrays.asList("cOunt", "coUnt", "couNt");
final NameSet names = new NameSet();
for (String s : tst) {
names.add(s);
}
names.add("COVAR_POP");
assertNsContains(names,"count", true, false);
assertNsContains(names, "count", false, true);
for (String s : tst) {
assertNsContains(names, s, true, true);
assertNsContains(names, s, false, true);
}
List<String> caseInsensitive = Arrays.asList("cOUnt", "cOuNt", "Count");
for (String s : caseInsensitive) {
assertNsContains(names, s, true, false);
assertNsContains(names, s, false, true);
}
}
private void assertNsContains(NameSet names, String item, boolean
caseSensitive, boolean result) {
assertEquals(
names + ", contains(" + item + (caseSensitive ? ", caseSensitive" : "")
+ ")",
result, names.contains(item, caseSensitive));
}
{code}
> calcite.util.NameSet does not work
> ----------------------------------
>
> Key: CALCITE-2480
> URL: https://issues.apache.org/jira/browse/CALCITE-2480
> Project: Calcite
> Issue Type: Bug
> Components: core
> Reporter: Vladimir Sitnikov
> Assignee: Julian Hyde
> Priority: Major
>
> {code:java} @Test public void testNameSetContains() {
> final NameSet names = new NameSet();
> names.add("COUNT");
> names.add("COVAR_POP");
> assertThat(names.contains("count", true), is(false));
> assertNsContains(names, "count", false, true);
> }
> private void assertNsContains(NameSet names, String item, boolean
> caseSensitive, boolean result) {
> assertEquals(names + ", contains(" + item + (caseSensitive ? ",
> caseSensitive" : "")
> + ")",
> result, names.contains(item, caseSensitive));
> }{code}
> Output
> {noformat}java.lang.AssertionError: [COUNT, COVAR_POP], contains(count)
> Expected :true
> Actual :false{noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)