예제 #1
0
        public void Test_WithVariousNullableStructsDoc_Inner()
        {
            var d1 = new WithVariousNullableStructsDoc
            {
                Inner = new WithVariousNullableStructsDoc
                {
                    Inner = new WithVariousNullableStructsDoc
                    {
                        Gdid = new GDID(2, 3, 4)
                    }
                }
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.IsNotNull(d2.Inner);
            Aver.IsNotNull(d2.Inner.Inner);
            Aver.AreEqual(new GDID(2, 3, 4), d2.Inner.Inner.Gdid);
        }
예제 #2
0
        public void Test_WithVariousNullableStructsDoc_Distance()
        {
            var d1 = new WithVariousNullableStructsDoc {
                Distance = new Distance(120m, Distance.UnitType.Yd)
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.AreEqual(d1.Distance, d2.Distance);
        }
예제 #3
0
        public void Test_WithVariousNullableStructsDoc_LatLng()
        {
            var d1 = new WithVariousNullableStructsDoc {
                LatLng = new LatLng(1.0d, 2.0d, "arctic")
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.AreEqual(d1.LatLng, d2.LatLng);
        }
예제 #4
0
        public void Test_WithVariousNullableStructsDoc_PilePtr()
        {
            var d1 = new WithVariousNullableStructsDoc {
                PilePtr = new PilePointer(1, 23, 4567)
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.IsTrue(d1.PilePtr == d2.PilePtr);
        }
예제 #5
0
        public void Test_WithVariousNullableStructsDoc_DateTime()
        {
            var d1 = new WithVariousNullableStructsDoc {
                DateTime = new DateTime(1980, 2, 3, 0, 0, 0, DateTimeKind.Utc)
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            json.See();
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.AreEqual(d1.DateTime, d2.DateTime);
        }
예제 #6
0
        public void Test_WithVariousNullableStructsDoc_Fid()
        {
            var d1 = new WithVariousNullableStructsDoc {
                Fid = new FID(5678)
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.AreEqual(d1.Fid, d2.Fid);
        }
예제 #7
0
        public void Test_WithVariousNullableStructsDoc_Amount()
        {
            var d1 = new WithVariousNullableStructsDoc {
                Amount = new Amount("usd", 34.78m)
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.AreEqual(d1.Amount, d2.Amount);
        }
예제 #8
0
        public void Test_WithVariousNullableStructsDoc_DateRange()
        {
            var d1 = new WithVariousNullableStructsDoc {
                DateRange = new DateRange(new DateTime(1980, 2, 2), new DateTime(1990, 3, 3))
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.AreEqual(d1.DateRange, d2.DateRange);
        }
예제 #9
0
        public void Test_WithVariousNullableStructsDoc_Nls()
        {
            var d1 = new WithVariousNullableStructsDoc {
                Nls = new NLSMap("{eng: {n: 'a', d: 'b'}}")
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.AreEqual(d1.Nls.Value["eng"].Name, d2.Nls.Value["eng"].Name);
        }
예제 #10
0
        public void Test_WithVariousNullableStructsDoc_Timespan()
        {
            var d1 = new WithVariousNullableStructsDoc {
                Timespan = TimeSpan.FromSeconds(123)
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.AreEqual(d1.Timespan, d2.Timespan);
        }
예제 #11
0
        public void Test_WithVariousNullableStructsDoc_Atom()
        {
            var d1 = new WithVariousNullableStructsDoc {
                Atom = Atom.Encode("mus-ic_0")
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.AreEqual(d1.Atom, d2.Atom);
        }
예제 #12
0
        public void Test_WithVariousNullableStructsDoc_GDIDSymbol()
        {
            var d1 = new WithVariousNullableStructsDoc {
                GdidSymbol = new GDIDSymbol(new GDID(1, 2, 3), "abrkadabra")
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.AreEqual(d1.GdidSymbol, d2.GdidSymbol);
        }
예제 #13
0
        public void Test_WithVariousNullableStructsDoc_Weight()
        {
            var d1 = new WithVariousNullableStructsDoc {
                Weight = new Weight(120m, Weight.UnitType.Lb)
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.AreEqual(d1.Weight, d2.Weight);
        }
예제 #14
0
        public void Test_WithVariousNullableStructsDoc_Enum()
        {
            var d1 = new WithVariousNullableStructsDoc {
                Metal = MetalType.Ferrum
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.IsTrue(d1.Metal == d2.Metal);
        }
예제 #15
0
        public void Test_WithVariousNullableStructsDoc_Guid()
        {
            var d1 = new WithVariousNullableStructsDoc {
                Guid = Guid.NewGuid()
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            json.See();
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.AreEqual(d1.Guid, d2.Guid);
        }
예제 #16
0
        public void Test_WithVariousNullableStructsDoc_CharArray()
        {
            var d1 = new WithVariousNullableStructsDoc {
                CharArray = new char[] { 'a', '2', ' ' }
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.AreArraysEquivalent(d1.CharArray, d2.CharArray);
        }
예제 #17
0
        public void Test_WithVariousNullableStructsDoc_StringArray()
        {
            var d1 = new WithVariousNullableStructsDoc {
                StringArray = new string[] { "German", null, "English" }
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.AreArraysEquivalent(d1.StringArray, d2.StringArray);
        }
예제 #18
0
        public void Test_WithVariousNullableStructsDoc_GdidArray()
        {
            var d1 = new WithVariousNullableStructsDoc {
                GdidArray = new GDID[] { new GDID(1, 2, 3), new GDID(2, 3, 4) }
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.AreArraysEquivalent(d1.GdidArray, d2.GdidArray);
        }
예제 #19
0
        public void Test_WithVariousNullableStructsDoc_StringMap()
        {
            var d1 = new WithVariousNullableStructsDoc {
                StringMap = new StringMap {
                    { "a", "a value" }
                }
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.AreEqual(d1.StringMap["a"], d2.StringMap["a"]);
        }
예제 #20
0
        public void Test_WithVariousNullableStructsDoc_InnerList()
        {
            var d1 = new WithVariousNullableStructsDoc
            {
                InnerList = new List <WithVariousNullableStructsDoc>
                {
                    new WithVariousNullableStructsDoc {
                        Atom = Atom.Encode("Baba"), Inner = new WithVariousNullableStructsDoc {
                            Atom = Atom.Encode("Yaga")
                        }
                    },
                    null,
                    null,
                    new WithVariousNullableStructsDoc {
                        Atom = Atom.Encode("Kulibin")
                    }
                }
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.IsNotNull(d2.InnerList);
            Aver.AreEqual(4, d2.InnerList.Count);
            Aver.AreEqual("Baba", d2.InnerList[0].Atom.Value.Value);
            Aver.IsNotNull(d2.InnerList[0].Inner);
            Aver.AreEqual("Yaga", d2.InnerList[0].Inner.Atom.Value.Value);

            Aver.IsNull(d2.InnerList[1]);
            Aver.IsNull(d2.InnerList[2]);

            Aver.IsNotNull(d2.InnerList[3]);
            Aver.AreEqual("Kulibin", d2.InnerList[3].Atom.Value.Value);
        }
예제 #21
0
        public void Test_WithVariousNullableStructsDoc_InnerArray()
        {
            var d1 = new WithVariousNullableStructsDoc
            {
                InnerArray = new WithVariousNullableStructsDoc[]
                {
                    new WithVariousNullableStructsDoc {
                        Atom = Atom.Encode("Baba"), Inner = new WithVariousNullableStructsDoc {
                            Atom = Atom.Encode("Yaga")
                        }
                    },
                    null,
                    null,
                    new WithVariousNullableStructsDoc {
                        Atom = Atom.Encode("Kulibin")
                    }
                }
            };
            var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap);

            json.See();
            var map = json.JsonToDataObject() as JsonDataMap;

            var d2 = new WithVariousNullableStructsDoc();

            JsonReader.ToDoc(d2, map);

            Aver.IsNotNull(d2.InnerArray);
            Aver.AreEqual(4, d2.InnerArray.Length);
            Aver.AreEqual("Baba", d2.InnerArray[0].Atom.Value.Value);
            Aver.IsNotNull(d2.InnerArray[0].Inner);
            Aver.AreEqual("Yaga", d2.InnerArray[0].Inner.Atom.Value.Value);

            Aver.IsNull(d2.InnerArray[1]);
            Aver.IsNull(d2.InnerArray[2]);

            Aver.IsNotNull(d2.InnerArray[3]);
            Aver.AreEqual("Kulibin", d2.InnerArray[3].Atom.Value.Value);
        }