public void FirstOrAnyOrDefault() { var data = new [] { new Tezt { A = 0, B = "Car", C = 12.1d }, new Tezt { A = 2, B = "Tzar", C = -21.7d }, new Tezt { A = -3, B = "Zuma", C = 10000d }, }; var m = data.FirstOrAnyOrDefault(elm => elm.B == "Tzar"); Aver.AreEqual(2, m.A); m = data.FirstOrAnyOrDefault(elm => elm.B == "Sidor"); Aver.AreEqual(0, m.A); data = null; m = data.FirstOrAnyOrDefault(elm => elm.B == "Sidor"); Aver.IsNull(m); data = new Tezt[0]; m = data.FirstOrAnyOrDefault(elm => elm.B == "Sidor"); Aver.IsNull(m); }
public void Test_Roundtrip() { var d = new Tezt { C1 = "{r: {a:1, b:2}}", C2 = null }; Aver.IsNull(d.Validate()); var json = JsonWriter.Write(d, JsonWritingOptions.PrettyPrintRowsAsMap); json.See(); var got = JsonReader.ToDoc <Tezt>(json); Aver.AreEqual(1, got.C1.Node.Of("a").ValueAsInt()); Aver.AreEqual(2, got.C1.Node.Of("b").ValueAsInt()); }
public void Test_Validation003() { var d = new Tezt { F1 = new Atom(0xfffff), F2 = Atom.Encode("a"), F3 = Atom.Encode("ab"), F4 = Atom.Encode("abcd"), }; var state = d.Validate(new ValidState(null, ValidErrorMode.Batch)); Aver.IsTrue(state.HasErrors); var batch = state.Error as ValidationBatchException; Aver.IsNotNull(batch); var errors = batch.Batch.OfType <FieldValidationException>(); errors.See(); Aver.AreEqual(3, errors.Count()); Aver.IsTrue(errors.First(e => e.FieldName.EqualsOrdSenseCase("F1")).ClientMessage.Contains("Invalid")); Aver.IsTrue(errors.First(e => e.FieldName.EqualsOrdSenseCase("F3")).ClientMessage.Contains("shorter")); Aver.IsTrue(errors.First(e => e.FieldName.EqualsOrdSenseCase("F4")).ClientMessage.Contains("exceeds")); d.F2 = new Atom(); state = d.Validate(new ValidState(null, ValidErrorMode.Batch)); Aver.IsTrue(state.HasErrors); batch = state.Error as ValidationBatchException; Aver.IsNotNull(batch); errors = batch.Batch.OfType <FieldValidationException>(); errors.See(); Aver.AreEqual(4, errors.Count()); Aver.IsTrue(errors.First(e => e.FieldName.EqualsOrdSenseCase("F2")).ClientMessage.Contains("required")); }
public void Test_FullCycle() { var d = new Tezt { C1 = "{r: {a:1, b:2}}", C2 = "{r: {a:-1, b:-2}}" }; var json = JsonWriter.Write(d, JsonWritingOptions.PrettyPrintRowsAsMap); json.See(); var got = JsonReader.ToDoc <Tezt>(json); var n1 = got.C1.Node; Aver.AreEqual(1, got.C1.Node.Of("a").ValueAsInt()); Aver.AreEqual(2, got.C1.Node.Of("b").ValueAsInt()); Aver.AreSameRef(n1, got.C1.Node); got.C1.Content = "{r: {a:10, b:20}}"; var n2 = got.C1.Node; Aver.AreNotSameRef(n1, n2); Aver.AreSameRef(n2, got.C1.Node); got.C1.Node = "r{z=900}".AsLaconicConfig(); var n3 = got.C1.Node; Aver.AreNotSameRef(n2, n3); Aver.AreEqual(900, got.C1.Node.Of("z").ValueAsInt()); Aver.AreEqual(-1, got.C2.Node.Of("a").ValueAsInt()); Aver.AreEqual(-2, got.C2.Node.Of("b").ValueAsInt()); got.See(); }
public void FirstOrAnyOrDefault() { var data = new []{ new Tezt{A=0, B="Car", C=12.1d}, new Tezt{A=2, B="Tzar", C=-21.7d}, new Tezt{A=-3, B="Zuma", C=10000d}, }; var m = data.FirstOrAnyOrDefault(elm => elm.B=="Tzar"); Assert.AreEqual(2, m.A); m = data.FirstOrAnyOrDefault(elm => elm.B=="Sidor"); Assert.AreEqual(0, m.A); data = null; m = data.FirstOrAnyOrDefault(elm => elm.B=="Sidor"); Assert.IsNull(m); data = new Tezt[0]; m = data.FirstOrAnyOrDefault(elm => elm.B=="Sidor"); Assert.IsNull(m); }