From 862504f603a53d2fff3f9f689742d1aa38d5ba20 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 4 Oct 2019 17:32:42 +0200 Subject: [PATCH] Add test for preferring a material diameter over the preferred from metadata Done during Turbo Testing and Tooling. --- tests/Machines/TestVariantNode.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/Machines/TestVariantNode.py b/tests/Machines/TestVariantNode.py index 8195d5cf5d..71257bd972 100644 --- a/tests/Machines/TestVariantNode.py +++ b/tests/Machines/TestVariantNode.py @@ -162,9 +162,21 @@ def test_preferredMaterialDiameter(empty_variant_node): assert empty_variant_node.preferredMaterial(approximate_diameter = 3) == empty_variant_node.materials["preferred_material_correct_diameter"], "It should match only on the material with correct diameter." +## Tests the preferred material matching on a different material if the +# diameter is wrong. def test_preferredMaterialDiameterNoMatch(empty_variant_node): empty_variant_node.materials = collections.OrderedDict() empty_variant_node.materials["some_different_material"] = MagicMock(getMetaDataEntry = lambda x: 3) # This one first so that it gets iterated over first. empty_variant_node.materials["preferred_material_wrong_diameter"] = MagicMock(getMetaDataEntry = lambda x: 2) - assert empty_variant_node.preferredMaterial(approximate_diameter = 3) == empty_variant_node.materials["some_different_material"], "It should match on another material with the correct diameter if the preferred one is unavailable." \ No newline at end of file + assert empty_variant_node.preferredMaterial(approximate_diameter = 3) == empty_variant_node.materials["some_different_material"], "It should match on another material with the correct diameter if the preferred one is unavailable." + +## Tests that the material diameter is considered more important to match than +# the preferred diameter. +def test_preferredMaterialDiameterPreference(empty_variant_node): + empty_variant_node.materials = collections.OrderedDict() + empty_variant_node.materials["some_different_material"] = MagicMock(getMetaDataEntry = lambda x: 2) # This one first so that it gets iterated over first. + empty_variant_node.materials["preferred_material_wrong_diameter"] = MagicMock(getMetaDataEntry = lambda x: 2) # Matches on ID but not diameter. + empty_variant_node.materials["not_preferred_but_correct_diameter"] = MagicMock(getMetaDataEntry = lambda x: 3) # Matches diameter but not ID. + + assert empty_variant_node.preferredMaterial(approximate_diameter = 3) == empty_variant_node.materials["not_preferred_but_correct_diameter"], "It should match on the correct diameter even if it's not the preferred one." \ No newline at end of file