public void Record()
        {
            var str = "Person { name=\"Joost\", age = 40 }";

            DataParser.PValue.Parse(str).AssertSuccess(rec =>
                                                       Assert.AreEqual(new HRecord("Person",
                                                                                   ("name", "Joost"),
                                                                                   ("age", 40))
                                                                       , rec));
        }
        public void Complex()
        {
            var str = "Abc [Def 12 (1, 3), Ghi { abc=123, def=() }]";

            DataParser.PValue.Parse(str).AssertSuccess(v =>
                                                       Assert.AreEqual(
                                                           new HConstructor("Abc",
                                                                            new HList(
                                                                                new HConstructor("Def", 12, new HTuple(1, 3)),
                                                                                new HRecord("Ghi",
                                                                                            ("abc", 123),
                                                                                            ("def", HUnit.Instance)))),
                                                           v));
        }
Exemplo n.º 3
0
        public void RecordEquality()
        {
            var left  = new HRecord("Test", new[] { new HMapping("Abc", 123), new HMapping("Def", 3.14) });
            var right = new HRecord("Test", new[] { new HMapping("Abc", 123), new HMapping("Def", 3.14) });

            Assert.AreEqual(left, right);
            Assert.AreNotEqual(left, new HRecord("SomethingElse", new[] { new HMapping("Abc", 123), new HMapping("Def", 3.14) }));
            Assert.AreNotEqual(left, new HRecord("Test", new[] { new HMapping("Abc", 123), new HMapping("Ghi", 3.14) }));
            Assert.AreNotEqual(left, new HRecord("Test", new[] { new HMapping("Abc", 123), new HMapping("Def", 3.1415) }));
        }