public void TableLookTranslationTests(string localName, string value, int newValue) { const int Padding = 4; const int Base = 16; var valueIsTrue = value == "true" || value == "1"; var element = new TableLook(); var xml = $"<w:{element.LocalName} xmlns:w=\"{element.NamespaceUri}\" w:{localName}=\"{value}\" />"; element.OuterXml = xml; Assert.True(element.HasAttributes); var attribute = Assert.Single(element.GetAttributes()); var expected = Convert.ToString(valueIsTrue ? newValue : 0, Base).PadLeft(Padding, '0'); Assert.Equal("val", attribute.LocalName); Assert.Equal(expected, attribute.Value); // Validate bitwise actions on value for (int i = 0; i < 8; i++) { var offset = 1 << i; element.SetAttribute(new OpenXmlAttribute("w", "val", element.NamespaceUri, Convert.ToString(offset, Base))); using (var reader = XmlReader.Create(new StringReader(xml))) { Assert.True(reader.Read()); using (var converting = new XmlConvertingReader(reader, true)) { element.LoadAttributes(converting); } } var attribute2 = Assert.Single(element.GetAttributes()); int GetExpectedValue() { if (valueIsTrue) { return(newValue | offset); } if (offset == newValue) { return(0); } return(offset); } var expectedValue = GetExpectedValue(); var expected2 = Convert.ToString(expectedValue, Base).PadLeft(Padding, '0'); Assert.Equal("val", attribute2.LocalName); Assert.Equal(expected2, attribute2.Value, StringComparer.OrdinalIgnoreCase); } }
public void DelegatesCallClose(bool strictRelationshipFound) { using (var baseReader = Substitute.For <XmlReader>()) using (var reader = new XmlConvertingReader(baseReader, strictRelationshipFound)) { reader.Close(); baseReader.Received(1).Close(); } }
public void NamespaceUriIsHandled(string baseNamespaceUri, string expectedNamespaceUri, bool strictRelationshipFound) { using (var baseReader = Substitute.For <XmlReader>()) using (var reader = new XmlConvertingReader(baseReader, strictRelationshipFound)) { baseReader.NamespaceURI.Returns(baseNamespaceUri); Assert.Equal(expectedNamespaceUri, reader.NamespaceURI); } }
public void StrictTranslationAppliesToValue(string baseValue, string expectedValue, XmlNodeType nodeType, bool strictRelationshipFound) { using (var baseReader = Substitute.For <XmlReader>()) using (var reader = new XmlConvertingReader(baseReader, strictRelationshipFound)) { baseReader.Value.Returns(baseValue); baseReader.NodeType.Returns(nodeType); Assert.Equal(expectedValue, reader.Value); } }
public void DelegatesCallDispose(bool strictRelationshipFound) { using (var baseReader = Substitute.For <XmlReader>()) using (var reader = new XmlConvertingReader(baseReader, strictRelationshipFound)) { ((IDisposable)reader).Dispose(); ((IDisposable)baseReader).Received(1).Dispose(); #if !FEATURE_XML_DISPOSE_PROTECTED baseReader.ClearReceivedCalls(); reader.Dispose(); baseReader.Received(1).Dispose(); #endif } }