operations.add(new SimpleOperation(String.class,Ops.EQ, args));
operations.add(new StringOperation(Ops.CONCAT, args));
operations.add(new TimeOperation(Time.class,Ops.DateTimeOps.CURRENT_TIME, args));
for (Operation<?> operation : operations) {
Operation<?> other = new OperationImpl(operation.getType(), operation.getOperator(),
ImmutableList.copyOf(operation.getArgs()));
assertEquals(operation.toString(), operation.accept(ToStringVisitor.DEFAULT, Templates.DEFAULT));
assertEquals(operation.hashCode(), other.hashCode());
assertEquals(operation, other);
assertNotNull(operation.getOperator());
assertNotNull(operation.getArgs());
assertNotNull(operation.getType());
}