DefaultVersionRange implements VersionRange { @Override public String getValue() { if (this.value == null) { StringBuilder buffer = new StringBuilder(); buffer.append(this.lowerBoundInclusive ? '[' : '('); if (this.lowerBound != null) { buffer.append(this.lowerBound); } buffer.append(RANGE_SEPARATOR); if (this.upperBound != null) { buffer.append(this.upperBound); } buffer.append(this.upperBoundInclusive ? ']' : ')'); this.value = buffer.toString(); } return this.value; } DefaultVersionRange(String rawRange);  DefaultVersionRange(Version lowerBound, boolean lowerBoundInclusive, Version upperBound,
        boolean upperBoundInclusive); Version getLowerBound(); Version getUpperBound(); @Override boolean containsVersion(Version version); boolean containsVersion(DefaultVersion version); @Override String getValue(); @Override boolean isCompatible(VersionRange otherRange); boolean isCompatible(DefaultVersionRange otherRange); @Override String toString(); @Override int hashCode(); @Override boolean equals(Object obj); boolean equals(DefaultVersionRange version);  }
@Test void getValue() { assertEquals("[1.0,2.0]", new DefaultVersionRange(new DefaultVersion("1.0"), true, new DefaultVersion( "2.0"), true).getValue()); assertEquals("(1.0,2.0]", new DefaultVersionRange(new DefaultVersion("1.0"), false, new DefaultVersion( "2.0"), true).getValue()); assertEquals("[1.0,2.0)", new DefaultVersionRange(new DefaultVersion("1.0"), true, new DefaultVersion( "2.0"), false).getValue()); assertEquals("(1.0,2.0)", new DefaultVersionRange(new DefaultVersion("1.0"), false, new DefaultVersion( "2.0"), false).getValue()); assertEquals("(1.0,)", new DefaultVersionRange(new DefaultVersion("1.0"), false, null, false).getValue()); assertEquals("[1.0,)", new DefaultVersionRange(new DefaultVersion("1.0"), true, null, false).getValue()); assertEquals("(1.0,]", new DefaultVersionRange(new DefaultVersion("1.0"), false, null, true).getValue()); assertEquals("[1.0,]", new DefaultVersionRange(new DefaultVersion("1.0"), true, null, true).getValue()); }