Beispiel #1
0
        public void XmlRpcDouble_ForeignCulture()
        {
            var         currentCulture = Thread.CurrentThread.CurrentCulture;
            XmlDocument xdoc;

            try {
                Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-BE");
                var xsd = new XmlRpcDouble(543.21);
                //Console.WriteLine(xsd.ToString());
                xdoc = Utils.Serialize(
                    "SerializeTest.testXmlRpcDouble_ForeignCulture",
                    new XmlRpcDouble(543.21),
                    Encoding.UTF8, MappingAction.Ignore);
            }
            catch (Exception) {
                throw;
            }
            finally {
                Thread.CurrentThread.CurrentCulture = currentCulture;
            }
            Type parsedType, parsedArrayType;
            var  obj = Utils.Parse(xdoc, null, MappingAction.Error,
                                   out parsedType, out parsedArrayType);

            Assert.AreEqual(543.21, obj);
        }
Beispiel #2
0
 public override bool Equals(
   object o)
 {
     if (o == null || !(o is XmlRpcDouble))
         return false;
     XmlRpcDouble dbl = o as XmlRpcDouble;
     return dbl._value == _value;
 }
Beispiel #3
0
        public override bool Equals(
            object o)
        {
            if (o == null || !(o is XmlRpcDouble))
            {
                return(false);
            }
            XmlRpcDouble dbl = o as XmlRpcDouble;

            return(dbl._value == _value);
        }
        public void XmlRpcArray_Correctly_Parses_XElement_Array_Of_Different_Types()
        {
            string   arrayXml     = @"<value>
    <data>
        <value><i4>1</i4></value>
        <value><int>2</int></value>
        <value><string>Test String</string></value>
        <value><boolean>0</boolean></value>
        <value><i4>-1</i4></value>
        <value><double>64.23</double></value>
        <value><dateTime.iso8601>2021-04-06T16:36:44.1557489+02:00</dateTime.iso8601></value>
        <value><base64>VGVzdCBCYXNlNjQgU3RyaW5n</base64></value>
    </data>
</value>";
            XElement arrayElement = XElement.Parse(arrayXml);

            XmlRpcArray    array  = new(arrayElement);
            XmlRpcInteger  entry1 = (XmlRpcInteger)array.Values[0];
            XmlRpcInteger  entry2 = (XmlRpcInteger)array.Values[1];
            XmlRpcString   entry3 = (XmlRpcString)array.Values[2];
            XmlRpcBoolean  entry4 = (XmlRpcBoolean)array.Values[3];
            XmlRpcInteger  entry5 = (XmlRpcInteger)array.Values[4];
            XmlRpcDouble   entry6 = (XmlRpcDouble)array.Values[5];
            XmlRpcDateTime entry7 = (XmlRpcDateTime)array.Values[6];
            XmlRpcBase64   entry8 = (XmlRpcBase64)array.Values[7];

            DateTime expectedDateTime = DateTime.Parse("2021-04-06T16:36:44.1557489+02:00").ToUniversalTime();
            Base64   expectedBase64   = Base64.FromBase64String("VGVzdCBCYXNlNjQgU3RyaW5n");

            Assert.Equal(1, entry1.Value);
            Assert.Equal(2, entry2.Value);
            Assert.Equal("Test String", entry3.Value);
            Assert.False(entry4.Value);
            Assert.Equal(-1, entry5.Value);
            Assert.Equal(64.23, entry6.Value);
            Assert.Equal(expectedDateTime, entry7.Value);
            Assert.Equal(expectedBase64.Data, entry8.Value.Data);
        }