Beispiel #1
0
        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());
        }
Beispiel #2
0
        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();
        }