diff --git a/VERSION.txt b/VERSION.txt index 36769b920..20169d42c 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -1.20260708.2 +1.20260713.0 diff --git a/tests/bindings/javascript/sed.coverage.test.js b/tests/bindings/javascript/sed.coverage.test.js index c4646c9f7..ecfb9c5ba 100644 --- a/tests/bindings/javascript/sed.coverage.test.js +++ b/tests/bindings/javascript/sed.coverage.test.js @@ -820,4 +820,26 @@ test.describe('Sed coverage tests', () => { file.setContents(utils.fileContents(utils.resourcePath('cellml_2.sedml'))); }); + + test('Simulation results are of Float64Array type', () => { + const file = new loc.File(utils.resourcePath('cellml_2.cellml')); + + file.setContents(utils.fileContents(file.path)); + + const document = new loc.SedDocument(file); + const instance = document.instantiate(); + + instance.run(); + + assert.strictEqual(instance.hasIssues, false); + + const instanceTask = instance.tasks[0]; + + assert.strictEqual(instanceTask.voi instanceof Float64Array, true); + assert.strictEqual(instanceTask.state(0) instanceof Float64Array, true); + assert.strictEqual(instanceTask.rate(0) instanceof Float64Array, true); + assert.strictEqual(instanceTask.constant(0) instanceof Float64Array, true); + assert.strictEqual(instanceTask.computedConstant(0) instanceof Float64Array, true); + assert.strictEqual(instanceTask.algebraicVariable(0) instanceof Float64Array, true); + }); }); diff --git a/tests/bindings/python/test_sed_coverage.py b/tests/bindings/python/test_sed_coverage.py index a8f7c986b..f6f90678c 100644 --- a/tests/bindings/python/test_sed_coverage.py +++ b/tests/bindings/python/test_sed_coverage.py @@ -15,6 +15,7 @@ import libopencor as loc import math +import numpy import utils from utils import assert_issues, assert_values @@ -830,3 +831,22 @@ def test_sedml_file_with_bare_filename(): file.contents = utils.text_to_list( utils.text_file_contents(utils.resource_path("cellml_2.sedml")) ) + + +def test_simulation_results_are_numpy_arrays(): + file = loc.File(utils.resource_path("cellml_2.cellml")) + document = loc.SedDocument(file) + instance = document.instantiate() + + instance.run() + + assert not instance.has_issues + + instance_task = instance.tasks[0] + + assert isinstance(instance_task.voi, numpy.ndarray) + assert isinstance(instance_task.state(0), numpy.ndarray) + assert isinstance(instance_task.rate(0), numpy.ndarray) + assert isinstance(instance_task.constant(0), numpy.ndarray) + assert isinstance(instance_task.computed_constant(0), numpy.ndarray) + assert isinstance(instance_task.algebraic_variable(0), numpy.ndarray)