public void ToStringFromMutableBoxesAndLists() { MutableBoxDatum d1 = new MutableBoxDatum(new StringDatum("hello")); MutableBoxDatum d2 = new MutableBoxDatum(NullDatum.Value); d2.Content = new ListDatum ( new Datum[] { d1, BooleanDatum.False, d2 } .ToImmutableList() ); Datum d = d2; Assert.AreEqual("#b[1]=(#b=\"hello\" #f #b[1])", d.ToString()); }
public void SerializeMutableBoxes() { MutableBoxDatum m1 = new MutableBoxDatum(NullDatum.Value); MutableBoxDatum m2 = new MutableBoxDatum(NullDatum.Value); Datum d1 = ListDatum.Empty .Add(new IntDatum(100)) .Add(BooleanDatum.True) .Add(m1); Datum d2 = DictionaryDatum.Empty .Add(new SymbolDatum("k1"), d1) .Add(new SymbolDatum("k2"), m2); m1.Content = d2; m2.Content = d1; byte[] b0 = d1.SerializeToBytes(); Datum d3 = b0.DeserializeToDatum(); byte[] b1 = d3.SerializeToBytes(); }