Ejemplo n.º 1
0
        public void ObjectDescriptor_GetObjectData()
        {
            FormatterConverter formatConverter   = new FormatterConverter();
            SerializationInfo  serializationInfo = new SerializationInfo(typeof(ObjectDescriptor), formatConverter);

            VirtualTestObject virtualTestObject = new VirtualTestObject()
            {
                BoundingRect = new Rect(10, 20, 30, 40)
            };
            ObjectDescriptor descriptor = virtualTestObject.GetDescriptor();

            StreamingContext      context = new StreamingContext();
            IdentifyPropertyGroup group   = descriptor.GetItem <IdentifyPropertyGroup>();

            Assert.AreEqual("10,20,30,40", group.Properties[UIAControlKeys.BoundingRectangle]);
            descriptor.GetObjectData(serializationInfo, context);

            string typeString = null;

            foreach (SerializationEntry entry in serializationInfo)
            {
                if (entry.Name == DescriptorKeys.NodeType)
                {
                    typeString = (string)entry.Value;
                    break;
                }
                else if (entry.Name == IdentifyPropertyGroup.Key)
                {
                    group = (IdentifyPropertyGroup)entry.Value;
                    break;
                }
            }
            Assert.AreEqual(NodeType.VirtualControl, typeString);
            Assert.AreEqual("10,20,30,40", group.Properties[UIAControlKeys.BoundingRectangle]);
        }