test_class.file: server-core/src/test/java/io/onedev/server/util/VersionTest.java
test_class.identifier: VersionTest
test_case.body: @Test
  	public void shouldHandleCompatibleVersions() {
  		assertTrue(new Version("1.0").isCompatible(new Version("1.0.1")));
  		assertFalse(new Version("1.0").isCompatible(new Version("1.1")));
  		assertTrue(new Version("1.0.2").isCompatible(new Version("1.0.3")));
  		assertTrue(new Version("1.0.2").isCompatible(new Version("1.0.4-build-100")));
  		assertFalse(new Version("6.0").isCompatible(new Version("5-beta-5")));
  		assertTrue(new Version("6.3").isCompatible(new Version("6.3.2-rc-4")));
  	}
test_case.class_method_signature: VersionTest.shouldHandleCompatibleVersions()
test_case.full_signature: @Test public void shouldHandleCompatibleVersions()
test_case.identifier: shouldHandleCompatibleVersions
test_case.invocations: assertTrue isCompatible assertFalse isCompatible assertTrue isCompatible assertTrue isCompatible assertFalse isCompatible assertTrue isCompatible
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldHandleCompatibleVersions()
focal_class.declarator: major = 0
focal_class.modifier: private
focal_class.original_string: private int major = 0;
focal_class.type: int
focal_class.var_name: major
focal_class.declarator: minor = -1
focal_class.modifier: private
focal_class.original_string: private int minor = -1;
focal_class.type: int
focal_class.var_name: minor
focal_class.declarator: patch = -1
focal_class.modifier: private
focal_class.original_string: private int patch = -1;
focal_class.type: int
focal_class.var_name: patch
focal_class.declarator: qualifier = ""
focal_class.modifier: private
focal_class.original_string: private String qualifier = "";
focal_class.type: String
focal_class.var_name: qualifier
focal_class.declarator: build = -1
focal_class.modifier: private
focal_class.original_string: private int build = -1;
focal_class.type: int
focal_class.var_name: build
focal_class.file: server-core/src/main/java/io/onedev/server/util/Version.java
focal_class.identifier: Version
focal_class.interfaces: implements Comparable<Version>
focal_class.class_method_signature: Version.getMajor()
focal_class.full_signature: public int getMajor()
focal_class.identifier: getMajor
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getMajor()
focal_class.class_method_signature: Version.getMinor()
focal_class.full_signature: public int getMinor()
focal_class.identifier: getMinor
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getMinor()
focal_class.class_method_signature: Version.getPatch()
focal_class.full_signature: public int getPatch()
focal_class.identifier: getPatch
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getPatch()
focal_class.class_method_signature: Version.getQualifier()
focal_class.full_signature: public String getQualifier()
focal_class.identifier: getQualifier
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getQualifier()
focal_class.class_method_signature: Version.getBuild()
focal_class.full_signature: public int getBuild()
focal_class.identifier: getBuild
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getBuild()
focal_class.class_method_signature: Version.Version(String versionStr)
focal_class.full_signature: public  Version(String versionStr)
focal_class.identifier: Version
focal_class.modifiers: public
focal_class.parameters: (String versionStr)
focal_class.signature:  Version(String versionStr)
focal_class.class_method_signature: Version.Version(int major, int minor, int patch, String qualifier, int build)
focal_class.full_signature: public  Version(int major, int minor, int patch, String qualifier, int build)
focal_class.identifier: Version
focal_class.modifiers: public
focal_class.parameters: (int major, int minor, int patch, String qualifier, int build)
focal_class.signature:  Version(int major, int minor, int patch, String qualifier, int build)
focal_class.class_method_signature: Version.Version(int major, int minor, int patch)
focal_class.full_signature: public  Version(int major, int minor, int patch)
focal_class.identifier: Version
focal_class.modifiers: public
focal_class.parameters: (int major, int minor, int patch)
focal_class.signature:  Version(int major, int minor, int patch)
focal_class.class_method_signature: Version.Version(int major, int minor)
focal_class.full_signature: public  Version(int major, int minor)
focal_class.identifier: Version
focal_class.modifiers: public
focal_class.parameters: (int major, int minor)
focal_class.signature:  Version(int major, int minor)
focal_class.class_method_signature: Version.Version(int major)
focal_class.full_signature: public  Version(int major)
focal_class.identifier: Version
focal_class.modifiers: public
focal_class.parameters: (int major)
focal_class.signature:  Version(int major)
focal_class.class_method_signature: Version.isCompatible(Version version)
focal_class.full_signature: public boolean isCompatible(Version version)
focal_class.identifier: isCompatible
focal_class.modifiers: public
focal_class.parameters: (Version version)
focal_class.return: boolean
focal_class.signature: boolean isCompatible(Version version)
focal_class.class_method_signature: Version.compareTo(Version version)
focal_class.full_signature: @Override public int compareTo(Version version)
focal_class.identifier: compareTo
focal_class.modifiers: @Override public
focal_class.parameters: (Version version)
focal_class.return: int
focal_class.signature: int compareTo(Version version)
focal_class.class_method_signature: Version.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: public boolean isCompatible(Version version) {
  		return major == version.getMajor() && (minor<0?0:minor) == (version.getMinor()<0?0:version.getMinor());
  	}
focal_method.class_method_signature: Version.isCompatible(Version version)
focal_method.full_signature: public boolean isCompatible(Version version)
focal_method.identifier: isCompatible
focal_method.invocations: getMajor getMinor getMinor
focal_method.modifiers: public
focal_method.parameters: (Version version)
focal_method.return: boolean
focal_method.signature: boolean isCompatible(Version version)