Пример #1
0
        public void DataObjectToXmlWithMastersTest()
        {
            var credit = new Кредит()
            {
                ДатаВыдачи = DateTime.Now, СрокКредита = 300, СуммаКредита = 1000
            };
            var client = new Клиент()
            {
                ФИО = "Cookie", Прописка = "Славный город печенек"
            };
            var inspector = new ИнспекторПоКредиту()
            {
                ФИО = "CookieInspector"
            };

            credit.Клиент             = client;
            credit.ИнспекторПоКредиту = inspector;
            var planStroke = new Выплаты()
            {
                ДатаВыплаты = DateTime.Now, СуммаВыплаты = 100500
            };

            credit.Выплаты.Add(planStroke);
            var dataObject = (ICSSoft.STORMNET.DataObject)credit;

            try
            {
                var serializedObj = ToolXML.DataObject2XMLDocument(ref dataObject, true, false, false, true);
                var credit2       = new Кредит();
                var dataObject2   = (ICSSoft.STORMNET.DataObject)credit2;
                ToolXML.XMLDocument2DataObject(ref dataObject2, serializedObj);
                Assert.Equal(credit.ДатаВыдачи.ToString(), credit2.ДатаВыдачи.ToString());
                Assert.Equal(credit.СрокКредита, credit2.СрокКредита);
                Assert.Equal(credit.СуммаКредита, credit2.СуммаКредита);
                Assert.Equal(credit.ИнспекторПоКредиту.__PrimaryKey, credit2.ИнспекторПоКредиту.__PrimaryKey);
                Assert.Equal(credit.ИнспекторПоКредиту.ФИО, credit2.ИнспекторПоКредиту.ФИО);
                Assert.Equal(credit.Клиент.__PrimaryKey, credit2.Клиент.__PrimaryKey);
                Assert.Equal(credit.Клиент.ФИО, credit2.Клиент.ФИО);
                Assert.Equal(credit.Клиент.Прописка, credit2.Клиент.Прописка);
                Assert.Equal(credit.Выплаты.Count, credit.Выплаты.Count);
                Assert.Equal(credit.Выплаты[0].__PrimaryKey, credit.Выплаты[0].__PrimaryKey);
                Assert.Equal(credit.Выплаты[0].ДатаВыплаты.ToString(), credit.Выплаты[0].ДатаВыплаты.ToString());
                Assert.Equal(credit.Выплаты[0].СуммаВыплаты, credit.Выплаты[0].СуммаВыплаты);
            }
            catch (Exception ex)
            {
                Assert.True(false, "Не удалось сериализовать/десериализовать объект вместе с его мастерами: " + ex.Message);
            }

            //Тестируем десериализацию из строки в формате xml
            string      innerXml    = "<STORMNETXMLDataService><IIS.TestAuditPr.Клиент CreateTime=\"\" Creator=\"\" EditTime=\"\" Editor=\"\" ФИО=\"TestWCFService\" Прописка=\"TestWCFService\" __PrimaryKey=\"{266c89c9-a3fe-4183-8d9b-79f290057f22}\" DynamicProperties=\"\" /><Assemblies /></STORMNETXMLDataService>";
            var         credit3     = new Клиент();
            var         dataObject3 = (ICSSoft.STORMNET.DataObject)credit3;
            XmlDocument xmlDocument = new XmlDocument();

            xmlDocument.InnerXml = innerXml;
            ToolXML.XMLDocument2DataObject(ref dataObject3, xmlDocument);
            Assert.Equal("TestWCFService", credit3.ФИО);
            Assert.Equal("TestWCFService", credit3.Прописка);
        }
Пример #2
0
        public void DataObjectWithKeyGuid2StringTest()
        {
            DataObjectWithKeyGuid dataObjectWithKeyGuid = new DataObjectWithKeyGuid();
            KeyGuid g = Guid.NewGuid();

            dataObjectWithKeyGuid.LinkToMaster1 = g;
            Console.WriteLine("Записали Guid " + dataObjectWithKeyGuid.LinkToMaster1);
            var serializedObj = ToolXML.ObjectToString(dataObjectWithKeyGuid);

            DataObjectWithKeyGuid dObjFromXML = (DataObjectWithKeyGuid)ToolXML.ObjectFromString(serializedObj);

            Assert.Equal(dObjFromXML.LinkToMaster1, g);
        }
Пример #3
0
        public void NullWebFileSerialization()
        {
            // Сейчас объект не десериализуется.

            // Arrange.
            STORMNET.DataObject nullWebFile = new Class_WebFile()
            {
                Attr = null
            };
            STORMNET.DataObject deserializedObject = new Class_WebFile();

            var serializedObj = ToolXML.DataObject2XMLDocument(ref nullWebFile);

            // Act.
            ToolXML.XMLDocument2DataObject(ref deserializedObject, serializedObj);
        }
Пример #4
0
        public void NullableIntSerialization()
        {
            // Arrange.
            STORMNET.DataObject nullInt = new Class_NullableInt()
            {
                Attr = null
            };
            STORMNET.DataObject deserializedObject = new Class_NullableInt();

            // Act.
            var serializedObj = ToolXML.DataObject2XMLDocument(ref nullInt);

            ToolXML.XMLDocument2DataObject(ref deserializedObject, serializedObj);

            // Assert.
            Assert.Equal(((Class_NullableInt)nullInt).Attr, ((Class_NullableInt)deserializedObject).Attr);
        }
Пример #5
0
        public void DataObjectWithKeyGuid2XMLDocumentTest()
        {
            DataObjectWithKeyGuid dataObjectWithKeyGuid = new DataObjectWithKeyGuid();
            KeyGuid g = Guid.NewGuid();

            dataObjectWithKeyGuid.LinkToMaster1 = g;
            Console.WriteLine("Записали Guid " + dataObjectWithKeyGuid.LinkToMaster1);
            ICSSoft.STORMNET.DataObject dObjToXML = dataObjectWithKeyGuid;
            var serializedObj = ToolXML.DataObject2XMLDocument(ref dObjToXML);

            DataObjectWithKeyGuid dataObjectWithKeyGuidFromXML = new DataObjectWithKeyGuid();

            ICSSoft.STORMNET.DataObject dObjFromXML = dataObjectWithKeyGuidFromXML;
            ToolXML.XMLDocument2DataObject(ref dObjFromXML, serializedObj);

            Assert.Equal(((DataObjectWithKeyGuid)dObjFromXML).LinkToMaster1, g);
            Assert.Null(((DataObjectWithKeyGuid)dObjFromXML).LinkToMaster2);
        }
Пример #6
0
        public void SimpleDataObject2XMLDocumentTest()
        {
            SimpleDataObject simpleDataObject = new SimpleDataObject();
            string           name             = "Tomcat";
            int     age = 15;
            KeyGuid pk  = (KeyGuid)simpleDataObject.__PrimaryKey;

            simpleDataObject.Name = name;
            simpleDataObject.Age  = age;

            Console.WriteLine("Записали Name: " + simpleDataObject.Name + " Age: " + simpleDataObject.Age);
            ICSSoft.STORMNET.DataObject dObjToXML = simpleDataObject;
            var serializedObj = ToolXML.DataObject2XMLDocument(ref dObjToXML);

            ICSSoft.STORMNET.DataObject dObjFromXML = null;
            bool babah = false;

            try
            {
                ToolXML.XMLDocument2DataObject(ref dObjFromXML, serializedObj);
            }
            catch (ArgumentNullException)
            {
                babah = true;
            }
            Assert.True(babah);

            SimpleDataObject simpleDataObjectFromXML = new SimpleDataObject();

            dObjFromXML = simpleDataObjectFromXML;
            ToolXML.XMLDocument2DataObject(ref dObjFromXML, serializedObj);

            Assert.Equal(((SimpleDataObject)dObjFromXML).Name, name);
            Assert.Equal(((SimpleDataObject)dObjFromXML).Age, age);
            Assert.Equal(dObjFromXML.__PrimaryKey, pk);
        }
Пример #7
0
        public void ToolXMLConstructorTest()
        {
            ToolXML target = new ToolXML();

            Assert.NotNull(target);
        }