@@ -422,7 +422,7 @@ def test_linkAttribute(self):
422422 assert nodeB .pointList .getSerializedValue () == nodeA .pointList .asLinkExpr ()
423423
424424
425- def test_valueAsDict (self ):
425+ def test_exportDict (self ):
426426 graph = Graph ("" )
427427 node = graph .addNewNode (NodeWithShapeAttributes .__name__ )
428428
@@ -434,18 +434,48 @@ def test_valueAsDict(self):
434434
435435 # Check uninitialized shape attribute
436436 # Shape list attribute should be empty list
437+ assert node .pointList .getValuesAsDicts () == []
438+ assert node .keyablePointList .getValuesAsDicts () == []
437439 assert node .pointList .getShapesAsDicts () == []
438440 assert node .keyablePointList .getShapesAsDicts () == []
439441 # Not keyable shape attribute should be default
440442 assert node .point .getValueAsDict () == {"x" : - 1 , "y" : - 1 }
441443 assert node .line .getValueAsDict () == {"a" : {"x" : - 1 , "y" : - 1 }, "b" : {"x" : - 1 , "y" : - 1 }}
442444 assert node .rectangle .getValueAsDict () == {"center" : {"x" : - 1 , "y" : - 1 }, "size" : {"width" : - 1 , "height" : - 1 }}
443445 assert node .circle .getValueAsDict () == {"center" : {"x" : - 1 , "y" : - 1 }, "radius" : - 1 }
446+ assert node .point .getShapeAsDict () == {"name" : node .point .rootName ,
447+ "type" : node .point .type ,
448+ "properties" : {"color" : node .point .shapeColor , "x" : - 1 , "y" : - 1 }}
449+ assert node .line .getShapeAsDict () == {"name" : node .line .rootName ,
450+ "type" : node .line .type ,
451+ "properties" : {"color" : node .line .shapeColor , "a" : {"x" : - 1 , "y" : - 1 }, "b" : {"x" : - 1 , "y" : - 1 }}}
452+ assert node .rectangle .getShapeAsDict () == {"name" : node .rectangle .rootName ,
453+ "type" : node .rectangle .type ,
454+ "properties" : {"color" : node .rectangle .shapeColor , "center" : {"x" : - 1 , "y" : - 1 }, "size" : {"width" : - 1 , "height" : - 1 }}}
455+ assert node .circle .getShapeAsDict () == {"name" : node .circle .rootName ,
456+ "type" : node .circle .type ,
457+ "properties" : {"color" : node .circle .shapeColor , "center" : {"x" : - 1 , "y" : - 1 }, "radius" : - 1 }}
444458 # Keyable shape attribute should be empty dict
445459 assert node .keyablePoint .getValueAsDict () == {}
446460 assert node .keyableLine .getValueAsDict () == {}
447461 assert node .keyableRectangle .getValueAsDict () == {}
448462 assert node .keyableCircle .getValueAsDict () == {}
463+ assert node .keyablePoint .getShapeAsDict () == {"name" : node .keyablePoint .rootName ,
464+ "type" : node .keyablePoint .type ,
465+ "properties" : {"color" : node .keyablePoint .shapeColor },
466+ "observations" : {}}
467+ assert node .keyableLine .getShapeAsDict () == {"name" : node .keyableLine .rootName ,
468+ "type" : node .keyableLine .type ,
469+ "properties" : {"color" : node .keyableLine .shapeColor },
470+ "observations" : {}}
471+ assert node .keyableRectangle .getShapeAsDict () == {"name" : node .keyableRectangle .rootName ,
472+ "type" : node .keyableRectangle .type ,
473+ "properties" : {"color" : node .keyableRectangle .shapeColor },
474+ "observations" : {}}
475+ assert node .keyableCircle .getShapeAsDict () == {"name" : node .keyableCircle .rootName ,
476+ "type" : node .keyableCircle .type ,
477+ "properties" : {"color" : node .keyableCircle .shapeColor },
478+ "observations" : {}}
449479
450480 # Add one shape with an observation
451481 node .pointList .append (observationPoint )
@@ -463,15 +493,25 @@ def test_valueAsDict(self):
463493
464494 # Check shape attribute
465495 # Shape list attribute should be empty dict
466- assert node .pointList .getShapesAsDicts () == [observationPoint ]
467- assert node .keyablePointList .getShapesAsDicts () == [{"0" : observationPoint }]
496+ assert node .pointList .getValuesAsDicts () == [observationPoint ]
497+ assert node .keyablePointList .getValuesAsDicts () == [{"0" : observationPoint }]
498+ assert node .pointList .getShapesAsDicts ()[0 ].get ("properties" ) == {"color" : node .keyablePoint .shapeColor } | observationPoint
499+ assert node .keyablePointList .getShapesAsDicts ()[0 ].get ("observations" ) == {"0" : observationPoint }
468500 # Not keyable shape attribute should be default
469501 assert node .point .getValueAsDict () == observationPoint
470502 assert node .line .getValueAsDict () == observationLine
471503 assert node .rectangle .getValueAsDict () == observationRectangle
472504 assert node .circle .getValueAsDict () == observationCircle
505+ assert node .point .getShapeAsDict ().get ("properties" ) == {"color" : node .point .shapeColor } | observationPoint
506+ assert node .line .getShapeAsDict ().get ("properties" ) == {"color" : node .line .shapeColor } | observationLine
507+ assert node .rectangle .getShapeAsDict ().get ("properties" ) == {"color" : node .rectangle .shapeColor } | observationRectangle
508+ assert node .circle .getShapeAsDict ().get ("properties" ) == {"color" : node .circle .shapeColor } | observationCircle
473509 # Keyable shape attribute should be empty dict
474510 assert node .keyablePoint .getValueAsDict () == {"0" : observationPoint }
475511 assert node .keyableLine .getValueAsDict () == {"0" : observationLine }
476512 assert node .keyableRectangle .getValueAsDict () == {"0" : observationRectangle }
477- assert node .keyableCircle .getValueAsDict () == {"0" : observationCircle }
513+ assert node .keyableCircle .getValueAsDict () == {"0" : observationCircle }
514+ assert node .keyablePoint .getShapeAsDict ().get ("observations" ) == {"0" : observationPoint }
515+ assert node .keyableLine .getShapeAsDict ().get ("observations" ) == {"0" : observationLine }
516+ assert node .keyableRectangle .getShapeAsDict ().get ("observations" ) == {"0" : observationRectangle }
517+ assert node .keyableCircle .getShapeAsDict ().get ("observations" ) == {"0" : observationCircle }
0 commit comments