public static void ExecOperation(CborWriter writer, string op) { switch (op) { case nameof(writer.WriteInt64): writer.WriteInt64(42); break; case nameof(writer.WriteByteString): writer.WriteByteString(Array.Empty <byte>()); break; case nameof(writer.WriteTextString): writer.WriteTextString(""); break; case nameof(writer.WriteStartTextStringIndefiniteLength): writer.WriteStartTextStringIndefiniteLength(); break; case nameof(writer.WriteStartByteStringIndefiniteLength): writer.WriteStartByteStringIndefiniteLength(); break; case nameof(writer.WriteStartArray): writer.WriteStartArrayIndefiniteLength(); break; case nameof(writer.WriteStartMap): writer.WriteStartMapIndefiniteLength(); break; case nameof(writer.WriteEndByteStringIndefiniteLength): writer.WriteEndByteStringIndefiniteLength(); break; case nameof(writer.WriteEndTextStringIndefiniteLength): writer.WriteEndTextStringIndefiniteLength(); break; case nameof(writer.WriteEndArray): writer.WriteEndArray(); break; case nameof(writer.WriteEndMap): writer.WriteEndMap(); break; default: throw new Exception($"Unrecognized CborWriter operation name {op}"); } }
public static void WriteChunkedTextString(CborWriter writer, string[] chunks) { writer.WriteStartTextStringIndefiniteLength(); foreach (string chunk in chunks) { writer.WriteTextString(chunk); } writer.WriteEndTextStringIndefiniteLength(); }
public static void WriteEncodedValue_IndefiniteLengthTextString_HappyPath() { using var writer = new CborWriter(); writer.WriteStartTextStringIndefiniteLength(); writer.WriteTextString("foo"); writer.WriteEncodedValue("63626172".HexToByteArray()); writer.WriteEndTextStringIndefiniteLength(); byte[] encoding = writer.ToArray(); Assert.Equal("7f63666f6f63626172ff", encoding.ByteArrayToHex().ToLower()); }