def test_comparator_numerical_models_only_succeeds(): left = """ <simulationDefinition> <numericalModel> <needles/> <regions/> <definition> A Definition </definition> </numericalModel> </simulationDefinition> """ right = """ <simulationDefinition> <numericalModel> <regions/> <needles/> <definition> A Definition </definition> </numericalModel> </simulationDefinition> """ comparator = Comparator(left, right) assert comparator.equal()
def test_comparator_numerical_model_needles_only_succeeds(): left = """ <simulationDefinition> <numericalModel> <needles> <needle index='12388' class='solid-boundary' file='library:cryo-two-part-cylinder-1'> <parameters> <parameter name="NEEDLE_TIP_LOCATION" value="[-1, 0.3, 1.2]" type="array(float)"/> <parameter name="NEEDLE_ENTRY_LOCATION" value="[-1, 0.5, 1.2]" type="array(float)"/> </parameters> </needle> </needles> </numericalModel> </simulationDefinition> """ right = """ <simulationDefinition> <numericalModel> <needles> <needle index='12388' class='solid-boundary' file='library:cryo-two-part-cylinder-1'> <parameters> <parameter name="NEEDLE_TIP_LOCATION" value="[-1, 0.3, 1.2]" type="array(float)"/> <parameter name="NEEDLE_ENTRY_LOCATION" value="[-1, 0.5, 1.2]" type="array(float)"/> </parameters> </needle> </needles> </numericalModel> </simulationDefinition> """ comparator = Comparator(left, right) assert comparator.equal()
def test_comparator_algorithms_only_succeeds(): left = """ <simulationDefinition> <algorithms> <algorithm result="CONSTANT_KIWI"> <arguments> <argument name="Time" /> </arguments> <content> </content> </algorithm> <algorithm result="CONSTANT_PASSIONFRUIT"> <arguments> <argument name="Temperature" /> <argument name="Time"/> </arguments> <content> function CONSTANT_PASSIONFRUIT( Temperature, Time ) { _CONSTANT_PASSIONFRUIT = Temperature * Time; } </content> </algorithm> </algorithms> </simulationDefinition> """ right = """ <simulationDefinition> <algorithms> <algorithm result="CONSTANT_KIWI"> <arguments> <argument name="Time" /> </arguments> <content> </content> </algorithm> <algorithm result="CONSTANT_PASSIONFRUIT"> <arguments> <argument name="Temperature" /> <argument name="Time" /> </arguments> <content> function CONSTANT_PASSIONFRUIT( Temperature, Time ) { _CONSTANT_PASSIONFRUIT = Temperature * Time; } </content> </algorithm> </algorithms> </simulationDefinition> """ comparator = Comparator(left, right) assert comparator.equal()
def test_comparator_transferrer_only_succeeds(): both = """ <simulationDefinition> <transferrer class="http"> <url>http://example.com</url> </transferrer> </simulationDefinition> """ comparator = Comparator(both, both) assert comparator.equal()
def test_comparator_parameters_only_succeeds(): left = """ <simulationDefinition> <parameters> <parameter name="BANANA" value="5.0" type="float"/> <parameter name="PEAR" value="3" type="int"/> </parameters> </simulationDefinition> """ right = """ <simulationDefinition> <parameters> <parameter name="PEAR" value="3" type="int"/> <parameter name="BANANA" value="5.00" type="float"/> </parameters> </simulationDefinition> """ comparator = Comparator(left, right) assert comparator.equal()
def test_comparator_numerical_model_regions_only_succeeds(): left = """ <simulationDefinition> <numericalModel> <regions> <region id='organ-0' name='organ' format="surface" input="something/kidney.vtp" groups='["boundary"]'/> </regions> </numericalModel> </simulationDefinition> """ right = """ <simulationDefinition> <numericalModel> <regions> <region id='organ-0' name='organ' format="surface" input="something/kidney.vtp" groups='["boundary"]'/> </regions> </numericalModel> </simulationDefinition> """ comparator = Comparator(left, right) assert comparator.equal()
def test_comparator_trivial_xml_succeeds(): comparator = Comparator("<simulationDefinition/>", "<simulationDefinition/>") assert comparator.equal()