// make sure auxiliary fields like title & comments can serialise/deserialise private void CheckTextFields() { WriteLine("Checking integrity of text fields"); var dummyTitle = "some title"; var dummyOrigin = "some origin"; var dummyComments = new string[] { "comment1", "comment2" }; var model1 = new Bayesian(CircularFingerprinterClass.ECFP6) { NoteTitle = dummyTitle, NoteOrigin = dummyOrigin, NoteComments = dummyComments }; Bayesian model2 = null; try { model2 = Bayesian.Deserialise(model1.Serialise()); } catch (IOException ex) { throw new CDKException("Reserialisation failed", ex); } if (!dummyTitle.Equals(model1.NoteTitle, StringComparison.Ordinal) || !dummyTitle.Equals(model2.NoteTitle, StringComparison.Ordinal) || !dummyOrigin.Equals(model1.NoteOrigin, StringComparison.Ordinal) || !dummyOrigin.Equals(model2.NoteOrigin, StringComparison.Ordinal)) { throw new CDKException("Note integrity failure for origin"); } var comments1 = model1.NoteComments; var comments2 = model2.NoteComments; if (comments1.Count != dummyComments.Length || comments2.Count != dummyComments.Length || !comments1[0].Equals(dummyComments[0], StringComparison.Ordinal) || !comments2[0].Equals(dummyComments[0], StringComparison.Ordinal) || !comments1[1].Equals(dummyComments[1], StringComparison.Ordinal) || !comments2[1].Equals(dummyComments[1], StringComparison.Ordinal)) { throw new CDKException("Note integrity failure for origin"); } }