Repository: ResearchObject/ro-crate-py (python)

Issue:
Remove software version defaults
E.g., [`PLANEMO_DEFAULT_VERSION = "0.74"`](https://github.com/ResearchObject/ro-crate-py/blob/81d74b3c40241235229500d30b4747a392c65a0b/rocrate/model/softwareapplication.py#L57). No info is better than arbitrary (thus likely wrong) info.

Pull request description:
Remove engine version default
Fixes #130.

Patch:
diff --git a/rocrate/model/softwareapplication.py b/rocrate/model/softwareapplication.py
index c7bc8a5..29d8b2b 100644
--- a/rocrate/model/softwareapplication.py
+++ b/rocrate/model/softwareapplication.py
@@ -54,7 +54,6 @@ class SoftwareApplication(ContextEntity, CreativeWork):
 
 
 PLANEMO_ID = "https://w3id.org/ro/terms/test#PlanemoEngine"
-PLANEMO_DEFAULT_VERSION = "0.74"
 
 
 def planemo(crate):
diff --git a/rocrate/rocrate.py b/rocrate/rocrate.py
index 76f9105..02c57f8 100644
--- a/rocrate/rocrate.py
+++ b/rocrate/rocrate.py
@@ -42,7 +42,7 @@ from .model.computationalworkflow import ComputationalWorkflow, WorkflowDescript
 from .model.computerlanguage import ComputerLanguage, get_lang
 from .model.testinstance import TestInstance
 from .model.testservice import TestService, get_service
-from .model.softwareapplication import SoftwareApplication, get_app, PLANEMO_DEFAULT_VERSION
+from .model.softwareapplication import SoftwareApplication, get_app
 from .model.testsuite import TestSuite
 
 from .utils import is_url, subclasses, get_norm_value, walk
@@ -509,9 +509,6 @@ class ROCrate():
             self, suite, source=None, dest_path=None, fetch_remote=False, validate_url=False, properties=None,
             engine="planemo", engine_version=None
     ):
-        if engine_version is None:
-            # FIXME: this should be engine-specific
-            engine_version = PLANEMO_DEFAULT_VERSION
         suite = self.__validate_suite(suite)
         definition = self.add(
             TestDefinition(self, source=source, dest_path=dest_path, fetch_remote=fetch_remote,
@@ -523,7 +520,8 @@ class ROCrate():
             engine = get_app(self, engine)
             self.add(engine)
         definition.engine = engine
-        definition.engineVersion = engine_version
+        if engine_version is not None:
+            definition.engineVersion = engine_version
         suite.definition = definition
         self.metadata.extra_terms.update(TESTING_EXTRA_TERMS)
         return definition


Test patch:
diff --git a/test/test_test_metadata.py b/test/test_test_metadata.py
index 219baa4..6ba584d 100644
--- a/test/test_test_metadata.py
+++ b/test/test_test_metadata.py
@@ -243,6 +243,8 @@ def test_add_test_definition(test_data_dir, engine, engine_version):
     assert crate.dereference(PLANEMO) is d.engine
     if engine_version:
         assert d.engineVersion == engine_version
+    else:
+        assert "engineVersion" not in d
 
 
 def test_test_suites_prop(test_data_dir):