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