protected boolean compareVersionRange(String targetVersion) {
        return compareVersions(this, targetVersion);
    }
@Test
    public void testCompareVersionRange() throws CpeValidationException {
        VulnerableSoftwareBuilder builder = new VulnerableSoftwareBuilder();
        VulnerableSoftware instance = builder.version("2.0.0").build();
        assertTrue(instance.compareVersionRange("2.0.0"));
        assertFalse(instance.compareVersionRange("2.0.1"));

        instance = builder.version(LogicalValue.ANY).build();
        assertTrue(instance.compareVersionRange("2.0.1"));

        instance = builder.version(LogicalValue.NA).build();
        assertFalse(instance.compareVersionRange("2.0.1"));

        instance = builder.version(LogicalValue.ANY).versionEndIncluding("2.0.1").build();
        assertTrue(instance.compareVersionRange("2.0.1"));
        assertFalse(instance.compareVersionRange("2.0.2"));

        instance = builder.version(LogicalValue.ANY).versionEndExcluding("2.0.2").build();
        assertTrue(instance.compareVersionRange("2.0.1"));
        assertFalse(instance.compareVersionRange("2.0.2"));

        instance = builder.version(LogicalValue.ANY).versionStartIncluding("1.0.1").build();
        assertTrue(instance.compareVersionRange("1.0.1"));
        assertFalse(instance.compareVersionRange("1.0.0"));

        instance = builder.version(LogicalValue.ANY).versionStartExcluding("1.0.0").build();
        assertTrue(instance.compareVersionRange("1.0.1"));
        assertFalse(instance.compareVersionRange("1.0.0"));
    }