예제 #1
0
 public Doo filesGetYaml(string path)
 {
     var serializer = new YamlSerializer();
     Doo parsed = new Doo();
     parsed = serializer.Deserialize(filesRead(path))[0] as Doo;
     return parsed;
 }
예제 #2
0
 public List<BouncingBallClass> Load(string FilePath)
 {
     List<BouncingBallClass> balls = new List<BouncingBallClass>();
     YamlSerializer reader = new YamlSerializer();
     StreamReader file = new StreamReader(FilePath);
     balls = (List<BouncingBallClass>)reader.Deserialize(file, typeof(List<BouncingBallClass>))[0];
     return balls;
 }
예제 #3
0
 public List<ShapeData> Load(string FilePath)
 {
     List<ShapeData> balls = new List<ShapeData>();
     YamlSerializer reader = new YamlSerializer();
     StreamReader file = new StreamReader(FilePath);
     balls = (List<ShapeData>)reader.Deserialize(file, typeof(List<ShapeData>))[0];
     return balls;
 }
예제 #4
0
        public List<MBall> From(string path)
        {
            var serializer = new YamlSerializer();
            StreamReader reader = new StreamReader(path);

            string yaml = reader.ReadToEnd();
            object obj = serializer.Deserialize(yaml)[0];
            return (obj as List<MBall>);
        }
 static ShellSettings ParseSettings(string text)
 {
     var ser = new YamlSerializer();
     var content = ser.Deserialize(text, typeof(Content)).Cast<Content>().Single();
     return new ShellSettings {
         Name = content.Name,
         DataProvider = content.DataProvider,
         DataConnectionString = content.DataConnectionString,
         DataTablePrefix = content.DataPrefix,
         RequestUrlHost = content.RequestUrlHost,
         RequestUrlPrefix = content.RequestUrlPrefix,
         State = new TenantState(content.State)
     };
 }
예제 #6
0
        public void TestCustomActivator()
        {
            var serializer = new YamlSerializer();
            var yaml =
              @"%YAML 1.2
---
!System.Drawing.SolidBrush
Color: Red
...
";

            SolidBrush b = null;
            try {
                b = (SolidBrush)serializer.Deserialize(yaml)[0];
            } catch ( MissingMethodException ) {
                // SolidBrush has no default constructor!
            }

            var config = new YamlConfig();
            config.AddActivator<SolidBrush>(() => new SolidBrush(Color.Black));
            serializer = new YamlSerializer(config);

            // Now the serializer knows how to activate an instance of SolidBrush.
            b = (SolidBrush)serializer.Deserialize(yaml)[0];

            Assert.AreEqual(b.Color, Color.Red);
        
        }
예제 #7
0
        /// <summary>
        /// ロード
        /// </summary>
        /// <remarks>
        /// 指定のストリームからロードします。
        /// </remarks>
        /// <param name="sr"></param>
        public void Load(StreamReader sr)
        {
            var yaml = new YamlSerializer ();
            var plainTxt = sr.ReadToEnd();

            if (encryption) {
                var bytes = Convert.FromBase64String (plainTxt);
                var iv = Take (bytes, 0, 16);                     // 16 byte
                var src = Take (bytes, 16, bytes.Length - 48);    // ...
                var crc = Take (bytes, bytes.Length - 32, 32);    // 32 byte

                var sha = sha256.ComputeHash (iv.Concat (src).ToArray());
                for (var i = 0; i < 32; i++) {
                    if(crc[i] != sha[i]) {
                        throw new InvalidDataException("Sha256 is different");
                    }
                }

                var decoder = aes.CreateDecryptor (aes.Key, iv);
                var dst = decoder.TransformFinalBlock (src, 0, src.Length);
                plainTxt = Encoding.UTF8.GetString (dst);
            }

            this.items = yaml.Deserialize (plainTxt).ElementAtOrDefault (0) as Dictionary<string, object> ?? new Dictionary<string, object> ();
        }
예제 #8
0
        public void TagResolver()
        {
            YamlSerializer serialiser = new YamlSerializer();
            var m = ( new Regex(@"([-+]?)([0-9]+)") ).Match("0123");

            Assert.AreEqual(123, serialiser.Deserialize("123")[0]);
            Assert.AreEqual(123, serializer.Deserialize("12_3")[0]);
            Assert.AreEqual(-123, serializer.Deserialize("-123")[0]);
            Assert.AreEqual(-123, serializer.Deserialize("-12_3")[0]);
            Assert.AreEqual(Convert.ToInt32("123", 8), serializer.Deserialize("0123")[0]);
            Assert.AreEqual(Convert.ToInt32("123", 8), serializer.Deserialize("012_3")[0]);
            Assert.AreEqual(-Convert.ToInt32("123", 8), serializer.Deserialize("-0123")[0]);
            Assert.AreEqual(-Convert.ToInt32("123", 8), serializer.Deserialize("-012_3")[0]);
            Assert.AreEqual(Convert.ToInt32("123", 8), serializer.Deserialize("0o123")[0]);
            Assert.AreEqual(Convert.ToInt32("123", 8), serializer.Deserialize("0o12_3")[0]);
            Assert.AreEqual(-Convert.ToInt32("123", 8), serializer.Deserialize("-0o123")[0]);
            Assert.AreEqual(-Convert.ToInt32("123", 8), serializer.Deserialize("-0o12_3")[0]);
            Assert.AreEqual(14, serializer.Deserialize("0b1110")[0]);
            Assert.AreEqual(14, serializer.Deserialize("0b11_10")[0]);
            Assert.AreEqual(-14, serializer.Deserialize("-0b1110")[0]);
            Assert.AreEqual(-14, serializer.Deserialize("-0b1_110")[0]);
            Assert.AreEqual(0xF110, serializer.Deserialize("0xF110")[0]);
            Assert.AreEqual(0x11A0, serializer.Deserialize("0x11_A0")[0]);
            Assert.AreEqual(-0x11A0, serializer.Deserialize("-0x11A0")[0]);
            Assert.AreEqual(-0x1F10, serializer.Deserialize("-0x1_F10")[0]);

            Assert.AreEqual(0.1, serializer.Deserialize("0.1")[0]);
            Assert.AreEqual(.01, serializer.Deserialize(".01")[0]);
            Assert.AreEqual(0.1e2, serializer.Deserialize("0.1E2")[0]);
            Assert.AreEqual(.1e2, serializer.Deserialize(".1E2")[0]);
            Assert.AreEqual(0.1e2, serializer.Deserialize("0.1e2")[0]);
            Assert.AreEqual(.1e2, serializer.Deserialize(".1e2")[0]);
            Assert.AreEqual(-0.1e2, serializer.Deserialize("-0.1E2")[0]);
            Assert.AreEqual(-.1e2, serializer.Deserialize("-.1E2")[0]);
            Assert.AreEqual(-0.1e2, serializer.Deserialize("-0.1e2")[0]);
            Assert.AreEqual(-.1e2, serializer.Deserialize("-.1e2")[0]);

            Assert.AreEqual(0.1e-2, serializer.Deserialize("0.1E-2")[0]);
            Assert.AreEqual(.1e-2, serializer.Deserialize(".1E-2")[0]);
            Assert.AreEqual(0.1e-2, serializer.Deserialize("0.1e-2")[0]);
            Assert.AreEqual(.1e-2, serializer.Deserialize(".1e-2")[0]);
            Assert.AreEqual(-0.1e-2, serializer.Deserialize("-0.1E-2")[0]);
            Assert.AreEqual(-.1e-2, serializer.Deserialize("-.1E-2")[0]);
            Assert.AreEqual(-0.1e-2, serializer.Deserialize("-0.1e-2")[0]);
            Assert.AreEqual(-.1e-2, serializer.Deserialize("-.1e-2")[0]);

            Assert.AreEqual(0.1e+2, serializer.Deserialize("0.1E+2")[0]);
            Assert.AreEqual(.1e+2, serializer.Deserialize(".1E+2")[0]);
            Assert.AreEqual(0.1e+2, serializer.Deserialize("0.1e+2")[0]);
            Assert.AreEqual(.1e+2, serializer.Deserialize(".1e+2")[0]);
            Assert.AreEqual(-0.1e+2, serializer.Deserialize("-0.1E+2")[0]);
            Assert.AreEqual(-.1e+2, serializer.Deserialize("-.1E+2")[0]);
            Assert.AreEqual(-0.1e+2, serializer.Deserialize("-0.1e+2")[0]);
            Assert.AreEqual(-.1e+2, serializer.Deserialize("-.1e+2")[0]);

            Assert.AreEqual(100.1e-2, serializer.Deserialize("10_0.1E-2")[0]);
            Assert.AreEqual(10.1e-2, serializer.Deserialize("10_.1E-2")[0]);
            Assert.AreEqual(100.1e-2, serializer.Deserialize("10_0.1e-2")[0]);
            Assert.AreEqual(10.1e-2, serializer.Deserialize("10_.1e-2")[0]);
            Assert.AreEqual(-100.1e-2, serializer.Deserialize("-10_0.1E-2")[0]);
            Assert.AreEqual(-10.1e-2, serializer.Deserialize("-10_.1E-2")[0]);
            Assert.AreEqual(-100.1e-2, serializer.Deserialize("-10_0.1e-2")[0]);
            Assert.AreEqual(-10.1e-2, serializer.Deserialize("-10_.1e-2")[0]);

            Assert.AreEqual(100.1e-2, serializer.Deserialize("10_0._1E-2")[0]);
            Assert.AreEqual(10.1e-2, serializer.Deserialize("10_._1E-2")[0]);
            Assert.AreEqual(100.1e-2, serializer.Deserialize("10_0._1e-2")[0]);
            Assert.AreEqual(10.1e-2, serializer.Deserialize("10_.1_e-2")[0]);
            Assert.AreEqual(-100.1e-2, serializer.Deserialize("-10_0.1_E-2")[0]);
            Assert.AreEqual(-10.1e-2, serializer.Deserialize("-10_.1_E-2")[0]);
            Assert.AreEqual(-100.1e-2, serializer.Deserialize("-10_0._1e-2")[0]);
            Assert.AreEqual(-10.1e-2, serializer.Deserialize("-10_._1e-2")[0]);

            Assert.AreEqual("-012.1", serializer.Deserialize("-012.1")[0]); // not float

            Assert.IsTrue(double.IsNaN((double)serializer.Deserialize(".nan")[0]));
            Assert.IsTrue(double.IsNaN((double)serializer.Deserialize(".NaN")[0]));
            Assert.IsTrue(double.IsNaN((double)serializer.Deserialize(".NAN")[0]));

            Assert.IsTrue(double.IsPositiveInfinity((double)serializer.Deserialize(".inf")[0]));
            Assert.IsTrue(double.IsPositiveInfinity((double)serializer.Deserialize(".Inf")[0]));
            Assert.IsTrue(double.IsPositiveInfinity((double)serializer.Deserialize(".INF")[0]));
            Assert.IsTrue(double.IsPositiveInfinity((double)serializer.Deserialize("+.inf")[0]));
            Assert.IsTrue(double.IsPositiveInfinity((double)serializer.Deserialize("+.Inf")[0]));
            Assert.IsTrue(double.IsPositiveInfinity((double)serializer.Deserialize("+.INF")[0]));
            Assert.IsTrue(double.IsNegativeInfinity((double)serializer.Deserialize("-.inf")[0]));
            Assert.IsTrue(double.IsNegativeInfinity((double)serializer.Deserialize("-.Inf")[0]));
            Assert.IsTrue(double.IsNegativeInfinity((double)serializer.Deserialize("-.INF")[0]));

            var time = DateTime.Now;
            var utctime = time.ToUniversalTime();
            Assert.AreEqual(time, utctime.ToLocalTime());

            Assert.AreEqual(new DateTime(1999, 12, 31, 0, 0, 0), serializer.Deserialize("1999-12-31")[0]);
            Assert.AreEqual(new DateTime(1999, 12, 31, 12, 00, 00), serializer.Deserialize("1999-12-31 12:00:00")[0]);
            Assert.AreEqual(new DateTime(1999, 12, 31, 12, 00, 00, 010), serializer.Deserialize("1999-12-31 12:00:00.010")[0]);
            Assert.AreEqual(new DateTime(1999, 12, 31, 12, 00, 00, 010), serializer.Deserialize("1999-12-31T12:00:00.010")[0]);
            Assert.AreEqual(new DateTime(1999, 12, 31, 21, 00, 00, 010, DateTimeKind.Utc).ToLocalTime(), serializer.Deserialize("1999-12-31 12:00:00.010-9")[0]);
            Assert.AreEqual(new DateTime(1999, 12, 31, 12, 00, 00, 010, DateTimeKind.Utc).ToLocalTime(), serializer.Deserialize("1999-12-31 12:00:00.010Z")[0]);
            Assert.AreEqual(new DateTime(1999, 12, 31, 21, 00, 00, 010, DateTimeKind.Utc).ToLocalTime(), serializer.Deserialize("1999-12-31 12:00:00.010 -9")[0]);
            Assert.AreEqual(new DateTime(1999, 12, 31, 21, 20, 00, 010, DateTimeKind.Utc).ToLocalTime(), serializer.Deserialize("1999-12-31 12:00:00.010 -9:20")[0]);
            Assert.AreEqual(new DateTime(1999, 12, 31, 3, 00, 00, 010, DateTimeKind.Utc).ToLocalTime(), serializer.Deserialize("1999-12-31 12:00:00.010 +9")[0]);
            Assert.AreEqual(new DateTime(1999, 12, 31, 2, 40, 00, 010, DateTimeKind.Utc).ToLocalTime(), serializer.Deserialize("1999-12-31 12:00:00.010 +9:20")[0]);
            Assert.AreEqual(new DateTime(1999, 12, 30, 23, 00, 00, 010, DateTimeKind.Utc).ToLocalTime(), serializer.Deserialize("1999-12-31 1:00:00.010 +2")[0]);
            Assert.AreEqual(new DateTime(2000, 1, 1, 1, 00, 00, 000, DateTimeKind.Utc).ToLocalTime(), serializer.Deserialize("1999-12-31 23:00:00 -2")[0]);

            Assert.AreEqual("1999/12/30 23:00:00", ( new DateTime(1999, 12, 30, 23, 00, 00, 010) ).ToString());
            YamlScalar node;
            YamlNode.DefaultConfig.TagResolver.Encode(time, out node);
            var recovered = DateTime.Parse(node.Value);
            Assert.IsTrue(time - recovered < new TimeSpan(0,0,0,0,1));
            recovered = DateTime.Parse("1999-12-31T00:00:01Z");
            recovered = DateTime.Parse("1999-12-31T00:00:01+9");
            recovered = DateTime.Parse("1999-12-31T00:00:01+9:00");
            recovered = DateTime.Parse("1999-12-31T00:00:01+09");
            recovered = DateTime.Parse("1999-12-31T00:00:01 +09");
            recovered = DateTime.Parse("1999-12-31T00:00:01.123 +09");
            recovered = DateTime.Parse("1999-12-31T00:00:01.123 +3");
            Assert.IsTrue(time - (DateTime)serializer.Deserialize(serializer.Serialize(time))[0] < new TimeSpan(0, 0, 0, 0, 1));
        }
예제 #9
0
파일: Methods.cs 프로젝트: vfioox/ENULib
 public bool pexLoadFromFile(string path)
 {
     var serializer = new YamlSerializer();
     Doo parsed = new Doo();
     parsed = serializer.Deserialize(File.ReadAllText(path))[0] as Doo;
     return true;
 }