System.Data.Tests.DataSetReadXmlTest.DataSetExtendedPropertiesTest C# (CSharp) Method

DataSetExtendedPropertiesTest() private method

private DataSetExtendedPropertiesTest ( ) : void
return void
        public void DataSetExtendedPropertiesTest()
        {
            DataSet dataSet1 = new DataSet();
            dataSet1.ExtendedProperties.Add("DS1", "extended0");
            DataTable table = new DataTable("TABLE1");
            table.ExtendedProperties.Add("T1", "extended1");
            table.Columns.Add("C1", typeof(int));
            table.Columns.Add("C2", typeof(string));
            table.Columns[1].MaxLength = 20;
            table.Columns[0].ExtendedProperties.Add("C1Ext1", "extended2");
            table.Columns[1].ExtendedProperties.Add("C2Ext1", "extended3");
            dataSet1.Tables.Add(table);
            table.LoadDataRow(new object[] { 1, "One" }, false);
            table.LoadDataRow(new object[] { 2, "Two" }, false);
            string file = Path.Combine(Path.GetTempPath(), "schemas-test.xml");
            try
            {
                dataSet1.WriteXml(file, XmlWriteMode.WriteSchema);
            }
            catch (Exception ex)
            {
                Assert.False(true);
            }
            finally
            {
                File.Delete(file);
            }

            DataSet dataSet2 = new DataSet();
            dataSet2.ReadXml(new StringReader(
                @"<?xml version=""1.0"" standalone=""yes""?>
                <NewDataSet>
                  <xs:schema id=""NewDataSet"" xmlns=""""
                xmlns:xs=""http://www.w3.org/2001/XMLSchema""
                xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""
                xmlns:msprop=""urn:schemas-microsoft-com:xml-msprop"">
                    <xs:element name=""NewDataSet"" msdata:IsDataSet=""true""
                msdata:UseCurrentLocale=""true"" msprop:DS1=""extended0"">
                      <xs:complexType>
                        <xs:choice minOccurs=""0"" maxOccurs=""unbounded"">
                          <xs:element name=""TABLE1"" msprop:T1=""extended1"">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name=""C1"" type=""xs:int"" minOccurs=""0""
                msprop:C1Ext1=""extended2"" />
                                <xs:element name=""C2"" type=""xs:string"" minOccurs=""0""
                msprop:C2Ext1=""extended3"" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:choice>
                      </xs:complexType>
                    </xs:element>
                  </xs:schema>
                  <TABLE1>
                    <C1>1</C1>
                    <C2>One</C2>
                  </TABLE1>
                  <TABLE1>
                    <C1>2</C1>
                    <C2>Two</C2>
                  </TABLE1>
                </NewDataSet>"), XmlReadMode.ReadSchema);
            Assert.Equal(dataSet1.ExtendedProperties["DS1"], dataSet2.ExtendedProperties["DS1"]);

            Assert.Equal(dataSet1.Tables[0].ExtendedProperties["T1"], dataSet2.Tables[0].ExtendedProperties["T1"]);
            Assert.Equal(dataSet1.Tables[0].Columns[0].ExtendedProperties["C1Ext1"],
                             dataSet2.Tables[0].Columns[0].ExtendedProperties["C1Ext1"]);
            Assert.Equal(dataSet1.Tables[0].Columns[1].ExtendedProperties["C2Ext1"],
                             dataSet2.Tables[0].Columns[1].ExtendedProperties["C2Ext1"]);
        }
    }