public void T15_Sequence_Nested_BER_Stream_IO() { using (var stream = new MemoryStream()) { var x = new X690.Sequence(); var s = new X690.Sequence(); var leaves = new X690.Node[] { new X690.Null(), new X690.Boolean(false), new X690.Boolean(true), new X690.Integer(-1), new X690.Integer(0), new X690.Integer(1), new X690.Text("WOOF!") { IsDefiniteLength = false }, new X690.Text("GRR.."), new X690.Text("WOOF!") { IsDefiniteLength = false }, new X690.Sequence() }; foreach (var leaf in leaves) { s.Nodes.Add(leaf); } x.Nodes.Add(s); x.Write(stream); stream.Position = 0; TT.Peek(x, stream); var y = X690.Read(stream); Assert.Equal(x, y); } }
/// <summary> /// Outputs the node as text tree and it's binary representation. /// </summary> /// <param name="node">The node under test.</param> /// <param name="stream">Stream containing encoded data.</param> public static void Peek(X690.Node node, MemoryStream stream) { var peek = stream.ToArray(); Console.WriteLine(node.StringTree); Console.WriteLine(peek.Length.ToString("x2") + ": " + String.Join(" ", peek.Select(b => b.ToString("x2")))); }
public void T16_Sequence_Nested_BER_Buffered_IO() { var buffer = new byte[64]; var x = new X690.Sequence(); var s = new X690.Sequence(); var leaves = new X690.Node[] { new X690.Null(), new X690.Boolean(false), new X690.Boolean(true), new X690.Integer(-1), new X690.Integer(0), new X690.Integer(1), new X690.Text("WOOF!") { IsDefiniteLength = false }, new X690.Text("GRR.."), new X690.Text("WOOF!") { IsDefiniteLength = false }, new X690.Sequence() }; foreach (var leaf in leaves) { s.Nodes.Add(leaf); } x.Nodes.Add(s); var length = x.Write(buffer, 0); TT.Peek(x, buffer, length); var y = X690.Read(buffer, 0, length); Assert.Equal(x, y); }
/// <summary> /// Outputs the node as text tree and it's binary representation. /// </summary> /// <param name="node">The node under test.</param> /// <param name="buffer">Buffer containing encoded data.</param> /// <param name="length">Binary data length.</param> public static void Peek(X690.Node node, byte[] buffer, int length) { Console.WriteLine(node.StringTree); Console.WriteLine(length.ToString("x2") + ": " + String.Join(" ", buffer.Take(length).Select(b => b.ToString("x2")))); }