public void InvalidElementTest() { var particle = new ElementParticle(typeof(T1), 0, 1) .Compile(); var data = new TestOpenXmlCompositeElement(); Assert.False(particle.Set(data, new T2())); Assert.Null(particle.Get <T2>(data)); }
public void ElementTest() { var particle = new ElementParticle(typeof(T1), 0, 1) .Compile(); var data = new TestOpenXmlCompositeElement(); var instance = new T1(); Assert.True(particle.Set(data, instance)); Assert.Equal(instance, particle.Get <T1>(data)); }
private void Visit(ElementParticle element) { var newValues = new ParticlePathItem[_values.Count]; _values.CopyTo(newValues, 0); Array.Reverse(newValues); var particlePath = ParticlePath.Create(newValues); _path.Add(new LookupItem(element.ElementType, particlePath)); }
private void TextboxConstraintTest(SdbSchemaDatas actual) { //<xsd:complexType name="CT_Textbox"> // <xsd:choice> // <xsd:element ref="w:txbxContent" minOccurs="0" /> // <xsd:any namespace="##local" processContents="skip" /> // </xsd:choice> // <xsd:attributeGroup ref="AG_Id" /> // <xsd:attributeGroup ref="AG_Style" /> // <xsd:attribute name="inset" type="xsd:string" use="optional"> // <xsd:attribute ref="o:singleclick"> //</xsd:complexType> var constraintData = actual.GetSchemaTypeData(DocumentFormat.OpenXml.Vml.TextBox.ElementTypeIdConst); Assert.Equal(DocumentFormat.OpenXml.Vml.TextBox.ElementTypeIdConst, constraintData.OpenXmlTypeId); Assert.True(constraintData.HasAttributeConstraints); Assert.Equal(4, constraintData.AttributeConstraintsCount); Assert.Null(constraintData.SimpleTypeConstraint); Assert.True(constraintData.IsCompositeType); Assert.False(constraintData.IsSimpleContent); var particle = constraintData.ParticleConstraint; Assert.Equal(ParticleType.Choice, particle.ParticleType); Assert.Equal(1, particle.MinOccurs); Assert.Equal(1, particle.MaxOccurs); Assert.Equal(2, particle.ChildrenParticles.Length); Assert.False(particle.UnboundedMaxOccurs); Assert.False(particle.IsSimple()); { ElementParticle elementParticle = particle.ChildrenParticles[0] as ElementParticle; Assert.Equal(ParticleType.Element, elementParticle.ParticleType); Assert.Equal(0, elementParticle.MinOccurs); Assert.False(elementParticle.UnboundedMaxOccurs); Assert.Equal(1, elementParticle.MaxOccurs); Assert.Null(elementParticle.ChildrenParticles); Assert.True(elementParticle.IsSimple()); AnyParticle anyParticle = particle.ChildrenParticles[1] as AnyParticle; Assert.Equal(ParticleType.Any, anyParticle.ParticleType); Assert.Equal(1, anyParticle.MinOccurs); Assert.False(anyParticle.UnboundedMaxOccurs); Assert.Equal(1, anyParticle.MaxOccurs); Assert.Null(anyParticle.ChildrenParticles); Assert.True(anyParticle.IsSimple()); } }
public void ElementParticleBuildSame(FileFormatVersions version) { var particle = new ElementParticle(typeof(ParticleTests), 1, 1); Assert.Same(particle, particle.Build(version)); }