package dev.caskeleton.adapter.outbound.persistence.postgresql.range; public final class RangeProbe { public static void main(String[] args) { var codec = new PgRangeCodec(s -> s, s -> s); var cases = new String[][] { {"comma", "left,inside", "right"}, {"quote", "left\"inside", "right"}, {"quote-comma", "left\",inside", "right"}, {"backslash-quote-comma", "left\\\",inside", "right"} }; for (var c : cases) { var range = PgRange.closedOpen(c[1], c[2]); String literal = codec.format(range); try { var parsed = codec.parse(literal); System.out.println(c[0] + ".literal=" + literal); System.out.println(c[0] + ".roundTrip=" + parsed.equals(range)); System.out.println(c[0] + ".lower=" + parsed.lower().orElse("")); } catch (Throwable t) { System.out.println(c[0] + ".literal=" + literal); System.out.println(c[0] + ".error=" + t.getClass().getSimpleName() + ":" + t.getMessage()); } } } }