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)); }
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) })); }