Skip to content

Commit

Permalink
Fix StartWith function for binary
Browse files Browse the repository at this point in the history
  • Loading branch information
nadment committed Jun 30, 2024
1 parent 1e8be8f commit 9bf4f61
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -94,13 +94,13 @@ public Object eval(final IExpression[] operands) {

if (offset < 0) {
return Boolean.FALSE;
} else {
for (int i = 0; i < suffix.length; i++) {
if (value[offset + i] != suffix[i]) {
return Boolean.FALSE;
}
}
for (int i = 0; i < suffix.length; i++) {
if (value[offset + i] != suffix[i]) {
return Boolean.FALSE;
}
}

return Boolean.TRUE;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,15 +93,16 @@ public Object eval(final IExpression[] operands) {
if (prefix == null) return null;

if (prefix.length > value.length) {
return Boolean.TRUE;
} else {
int end = prefix.length;
for (int i = 0; i < end; i++) {
if (value[i] != prefix[i]) {
return Boolean.FALSE;
}
return Boolean.FALSE;
}

int end = prefix.length;
for (int i = 0; i < end; i++) {
if (value[i] != prefix[i]) {
return Boolean.FALSE;
}
}

return Boolean.TRUE;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3163,12 +3163,13 @@ public void Contains() throws Exception {
public void StartsWith() throws Exception {
// String
evalTrue("StartsWith('TEST FROM','TES')").returnType(Types.BOOLEAN);
evalFalse("StartsWith('-TEST FROM','TES')");
evalFalse("StartsWith('XXXTEST FROM','TES')");
evalFalse("StartsWith('TEST','TESTXXX')");

// Binary
evalTrue("StartsWith(BINARY 'FAA12345',BINARY 'fA')").returnType(Types.BOOLEAN);
evalFalse("StartsWith(BINARY 'FAA12345',BINARY 'EE')");
evalFalse("StartsWith(BINARY '12345',BINARY '123456')");
evalFalse("StartsWith(BINARY '1234',BINARY '123456')");

evalNull("StartsWith(NULL_STRING,'ROMA')");
evalNull("StartsWith('TEST FROM',NULL_STRING)");
Expand All @@ -3180,13 +3181,15 @@ public void EndsWith() throws Exception {
// String
evalTrue("EndsWith('TEST FROM','ROM')").returnType(Types.BOOLEAN);
evalFalse("EndsWith('TEST FROM','ROMA')");
evalFalse("EndsWith('TEST','TESTXX')");
evalFalse("EndsWith('TEST','XXTEST')");
evalNull("EndsWith(NULL_STRING,'ROMA')").returnType(Types.BOOLEAN);
evalNull("EndsWith('TEST FROM',NULL_STRING)").returnType(Types.BOOLEAN);

// Binary
evalTrue("EndsWith(BINARY 'FAA12345',BINARY '2345')").returnType(Types.BOOLEAN);
evalFalse("EndsWith(BINARY 'FAA12345',BINARY '88')");
evalFalse("EndsWith(BINARY '12345',BINARY 'FFFF12345')");
evalFalse("EndsWith(BINARY '1234',BINARY 'FFFF1234')");

evalFails("EndsWith()");
}
Expand Down

0 comments on commit 9bf4f61

Please sign in to comment.