Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ def testDefaultVariantUnchanged(self):
from usd_component_creator_plugin import add_to_component_from_nodes
proxy, desc = self._createInitialComponent('pCube1')
self.assertIsNotNone(desc, 'Could not get initial ComponentDescription')
first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')
original_default = first_vs.default_variant
self.assertTrue(original_default, "There must be a default variant before the add")

Expand All @@ -98,7 +98,7 @@ def testDefaultVariantUnchanged(self):

updated_desc = self._getActiveDesc()
self.assertIsNotNone(updated_desc, 'Could not get updated ComponentDescription')
updated_vs = next(iter(updated_desc.GetVariantSets().values()))
updated_vs = self._findVariantSetByName(updated_desc, 'variant_set_1')
self.assertEqual(updated_vs.default_variant, original_default,
"default_variant must not change after add_to_component_from_nodes "
"(is_default_variant=False)")
Expand All @@ -121,7 +121,7 @@ def testDefaultVariantUnchangedWhenAddingToNonDefault(self):
desc = self._getActiveDesc()
self.assertIsNotNone(desc, 'Could not get ComponentDescription after multi-variant create')

first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')
original_default = first_vs.default_variant
self.assertTrue(original_default, "There must be a default variant")

Expand All @@ -141,7 +141,7 @@ def testDefaultVariantUnchangedWhenAddingToNonDefault(self):

updated_desc = self._getActiveDesc()
self.assertIsNotNone(updated_desc, 'Could not get updated ComponentDescription')
updated_vs = next(iter(updated_desc.GetVariantSets().values()))
updated_vs = self._findVariantSetByName(updated_desc, 'variant_set_1')
self.assertEqual(updated_vs.default_variant, original_default,
"default_variant must not change when adding to a non-default variant "
"(is_default_variant=False)")
Expand All @@ -152,7 +152,7 @@ def testTargetedVariantUnchangedAfterAdd(self):
from usd_component_creator_plugin import add_to_component_from_nodes
proxy, desc = self._createInitialComponent('pCube1')
self.assertIsNotNone(desc, 'Could not get initial ComponentDescription')
first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')
default_name = first_vs.default_variant
self.assertTrue(default_name)
default_var_desc = first_vs.GetVariantDescription(default_name)
Expand Down Expand Up @@ -180,7 +180,7 @@ def testTargetedVariantUnchangedAfterAdd(self):
updated_desc = self._getDescFromStage(stage)
self.assertIsNotNone(updated_desc, 'Could not obtain updated ComponentDescription')

updated_vs = next(iter(updated_desc.GetVariantSets().values()))
updated_vs = self._findVariantSetByName(updated_desc, 'variant_set_1')
updated_default_var_desc = updated_vs.GetVariantDescription(default_name)
self.assertIsNotNone(updated_default_var_desc)
# Check target did not change
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ def testSanityReturnsTrueNoNewProxy(self):
from usd_component_creator_plugin import add_to_component_from_usd_prims
proxy, desc, proxyShape = self._createInitialComponent('pCube1')
self.assertIsNotNone(desc, 'Could not get initial ComponentDescription')
first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')

path2 = Sdf.Path('/pCube2')
self._input_stage.DefinePrim(path2, 'Cube')
Expand All @@ -88,7 +88,7 @@ def testAddWithPurpose(self):
from usd_component_creator_plugin import add_to_component_from_usd_prims
proxy, desc, proxyShape = self._createInitialComponent('pCube1')
self.assertIsNotNone(desc, 'Could not get initial ComponentDescription')
first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')

path2 = Sdf.Path('/pCube2')
self._input_stage.DefinePrim(path2, 'Cube')
Expand Down Expand Up @@ -120,7 +120,7 @@ def testAddWithPurposeCollidingName(self):
from usd_component_creator_plugin import add_to_component_from_usd_prims
proxy, desc, proxyShape = self._createInitialComponent('pCube1')
self.assertIsNotNone(desc, 'Could not get initial ComponentDescription')
first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')

path2 = Sdf.Path('/pCube1')
prim2 = self._input_stage.DefinePrim(path2, 'Cube')
Expand Down Expand Up @@ -162,7 +162,7 @@ def testAddWithCustomPurposeScopeName(self):
self._setCustomPurposeTemplate()
proxy, desc, proxyShape = self._createInitialComponent('pCube1')
self.assertIsNotNone(desc, 'Could not get initial ComponentDescription')
first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')

path2 = Sdf.Path('/pCube2')
self._input_stage.DefinePrim(path2, 'Cube')
Expand Down Expand Up @@ -199,7 +199,7 @@ def testDefaultVariantUnchanged(self):
from usd_component_creator_plugin import add_to_component_from_usd_prims
proxy, desc, proxyShape = self._createInitialComponent('pCube1')
self.assertIsNotNone(desc, 'Could not get initial ComponentDescription')
first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')
original_default = first_vs.default_variant
self.assertTrue(original_default, "There must be a default variant before the add")

Expand All @@ -215,7 +215,7 @@ def testDefaultVariantUnchanged(self):

updated_desc = self._getActiveDesc()
self.assertIsNotNone(updated_desc, 'Could not get updated ComponentDescription')
updated_vs = next(iter(updated_desc.GetVariantSets().values()))
updated_vs = self._findVariantSetByName(updated_desc, 'variant_set_1')
self.assertEqual(updated_vs.default_variant, original_default,
"default_variant must not change after add_to_component_from_usd_prims "
"(is_default_variant=False)")
Expand Down Expand Up @@ -245,7 +245,7 @@ def testDefaultVariantUnchangedWhenAddingToNonDefault(self):
desc = self._getActiveDesc()
self.assertIsNotNone(desc, 'Could not get ComponentDescription after multi-variant create')

first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')
original_default = first_vs.default_variant
self.assertTrue(original_default, "There must be a default variant")

Expand All @@ -265,7 +265,7 @@ def testDefaultVariantUnchangedWhenAddingToNonDefault(self):

updated_desc = self._getActiveDesc()
self.assertIsNotNone(updated_desc, 'Could not get updated ComponentDescription')
updated_vs = next(iter(updated_desc.GetVariantSets().values()))
updated_vs = self._findVariantSetByName(updated_desc, 'variant_set_1')
self.assertEqual(updated_vs.default_variant, original_default,
"default_variant must not change when adding to a non-default variant "
"(is_default_variant=False)")
Expand All @@ -276,7 +276,7 @@ def testTargetedVariantUnchangedAfterAdd(self):
from usd_component_creator_plugin import add_to_component_from_usd_prims
proxy, desc, proxyShape = self._createInitialComponent('pCube1')
self.assertIsNotNone(desc, 'Could not get initial ComponentDescription')
first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')
default_name = first_vs.default_variant
self.assertTrue(default_name)
default_var_desc = first_vs.GetVariantDescription(default_name)
Expand Down Expand Up @@ -305,7 +305,7 @@ def testTargetedVariantUnchangedAfterAdd(self):
updated_desc = self._getDescFromStage(stage)
self.assertIsNotNone(updated_desc, 'Could not obtain updated ComponentDescription')

updated_vs = next(iter(updated_desc.GetVariantSets().values()))
updated_vs = self._findVariantSetByName(updated_desc, 'variant_set_1')
updated_default_var_desc = updated_vs.GetVariantDescription(default_name)
self.assertIsNotNone(updated_default_var_desc)
# Check target did not change
Expand Down
7 changes: 7 additions & 0 deletions test/lib/componentCreator/testComponentCreatorBase.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ def _findNewProxyShape(self, before):
new = self._snapshotProxyShapes() - before
return list(new)[0] if new else None

def _findVariantSetByName(self, desc, name):
"""Return the variant set with the given name, or None if not found."""
for vs in desc.GetVariantSets().values():
if vs.name == name:
return vs
return None

def _getActiveDesc(self):
"""Return the ComponentDescription currently shown in the variant editor, or None."""
from usd_component_creator_plugin import get_variant_editor_component_description
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ def testHasVariantSet(self):
desc = self._getDescFromStage(stage)
self.assertIsNotNone(desc, 'Could not construct ComponentDescription from stage')
variant_sets = desc.GetVariantSets()
self.assertEqual(len(variant_sets), 1,
self.assertGreaterEqual(len(variant_sets), 1,
"Component must have one variant set")
first_vs = next(iter(variant_sets.values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')
self.assertEqual(len(first_vs.GetVariants()), 1,
"Variant set must have one variant")

Expand All @@ -77,7 +77,7 @@ def testDefaultAndTargetVariantIsSet(self):
stage = mayaUsd.ufe.getStage(proxy)
desc = self._getDescFromStage(stage)
self.assertIsNotNone(desc, 'Could not construct ComponentDescription from stage')
first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')
self.assertTrue(first_vs.default_variant,
"Variant set must have a default variant defined after creation")
default_var_desc = first_vs.GetVariantDescription(first_vs.default_variant)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ def testHasVariantSet(self):
desc = self._getDescFromStage(stage)
self.assertIsNotNone(desc, 'Could not construct ComponentDescription from stage')
variant_sets = desc.GetVariantSets()
self.assertEqual(len(variant_sets), 1,
self.assertGreaterEqual(len(variant_sets), 1,
"Component must have one variant set")
first_vs = next(iter(variant_sets.values()))
self.assertEqual(len(first_vs.GetVariants()), 1,
Expand Down Expand Up @@ -97,7 +97,7 @@ def testDefaultAndTargetVariantIsSet(self):
desc = self._getDescFromStage(stage)
self.assertIsNotNone(desc, 'Could not construct ComponentDescription from stage')

first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')
self.assertTrue(first_vs.default_variant,
"Variant set must have a default variant defined after creation")
default_var_desc = first_vs.GetVariantDescription(first_vs.default_variant)
Expand Down Expand Up @@ -141,7 +141,7 @@ def testPrimsWithSameNameFroMultiStages(self):
desc = self._getDescFromStage(stage)
self.assertIsNotNone(desc, 'Could not construct ComponentDescription from stage')

first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')
self.assertTrue(first_vs.default_variant,
"Variant set must have a default variant defined after creation")
default_var_desc = first_vs.GetVariantDescription(first_vs.default_variant)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ def testVariantCount(self):
stage = mayaUsd.ufe.getStage(proxy)
desc = self._getDescFromStage(stage)
self.assertIsNotNone(desc, 'Could not construct ComponentDescription from stage')
first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')
self.assertEqual(len(first_vs.GetVariants()), 2,
"Two nodes must produce exactly two variants")

Expand All @@ -66,7 +66,7 @@ def testTargetedVariantIsDefault(self):
desc = self._getDescFromStage(stage)
self.assertIsNotNone(desc, 'Could not obtain ComponentDescription')

first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')
default_name = first_vs.default_variant
self.assertTrue(default_name)
default_var_desc = first_vs.GetVariantDescription(default_name)
Expand All @@ -91,7 +91,7 @@ def testDefaultIsAlphabeticallyFirst(self):
desc = self._getDescFromStage(stage)
self.assertIsNotNone(desc, 'Could not construct ComponentDescription from stage')

first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')
self.assertEqual(len(first_vs.GetVariants()), 3, "Three nodes → three variants")

opts = AdskUsdComponentCreator.Options()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ def testVariantCount(self):
stage = mayaUsd.ufe.getStage(proxy)
desc = self._getDescFromStage(stage)
self.assertIsNotNone(desc, 'Could not construct ComponentDescription from stage')
first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')
self.assertEqual(len(first_vs.GetVariants()), 2,
"Two nodes must produce exactly two variants")

Expand Down Expand Up @@ -90,7 +90,7 @@ def testTargetedVariantIsDefault(self):
desc = self._getDescFromStage(stage)
self.assertIsNotNone(desc, 'Could not obtain ComponentDescription')

first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')
default_name = first_vs.default_variant
self.assertTrue(default_name)
default_var_desc = first_vs.GetVariantDescription(default_name)
Expand Down Expand Up @@ -137,7 +137,7 @@ def testDefaultIsAlphabeticallyFirst(self):
desc = self._getDescFromStage(stage)
self.assertIsNotNone(desc, 'Could not construct ComponentDescription from stage')

first_vs = next(iter(desc.GetVariantSets().values()))
first_vs = self._findVariantSetByName(desc, 'variant_set_1')
self.assertEqual(len(first_vs.GetVariants()), 3, "Expected three variants from three nodes")

opts = AdskUsdComponentCreator.Options()
Expand Down Expand Up @@ -187,31 +187,22 @@ def testPrimsWithSameNameFromMultiStages(self):
proxy = self._findNewProxyShape(before)
self.assertIsNotNone(proxy)

desc = self._getActiveDesc()
if desc is None:
stage = mayaUsd.ufe.getStage(proxy)
desc = self._getDescFromStage(stage)
stage = mayaUsd.ufe.getStage(proxy)
desc = self._getDescFromStage(stage)
self.assertIsNotNone(desc, 'Could not obtain ComponentDescription')

self.assertEqual(len(desc.GetVariantSets()), 1)
first_vs = next(iter(desc.GetVariantSets().values()))
self.assertGreaterEqual(len(desc.GetVariantSets()), 1)
first_vs = self._findVariantSetByName(desc, 'variant_set_1')

# TODO FIXME: this requires a new component creator, will enable after integration of 0.3.7
self.assertEqual(len(first_vs.GetVariants()), 2, "Expected two variants from two nodes")

# self.assertEqual(len(first_vs.GetVariants()), 2, "Expected two variants from two nodes")

# stage = mayaUsd.ufe.getStage(proxy)

# self.maxDiff = None
# self.assertEqual(stage.GetRootLayer().ExportToString(), "")
stage = mayaUsd.ufe.getStage(proxy)

# # Prim added second should be renamed to avoid name collision.
# self.assertTrue(stage.GetPrimAtPath('/root/geo/pCube1').IsValid())
# self.assertFalse(stage.GetPrimAtPath('/root/geo/pCube2').IsValid())
# Prim added second should be renamed to avoid name collision.
self.assertTrue(stage.GetPrimAtPath('/root/geo/pCube1').IsValid())

# AdskUsdComponentCreator.ComponentAPI.SetVariantTemporarySelection(desc, [first_vs, first_vs.GetVariantDescription('pCube2')], True)
# self.assertTrue(stage.GetPrimAtPath('/root/geo/pCube2').IsValid())
# self.assertFalse(stage.GetPrimAtPath('/root/geo/pCube1').IsValid())
AdskUsdComponentCreator.ComponentAPI.SetVariantTemporarySelection(desc, [first_vs, first_vs.GetVariantDescription('pCube11')], True)
self.assertTrue(stage.GetPrimAtPath('/root/geo/pCube1').IsValid())


if __name__ == '__main__':
Expand Down
Loading