public void WriteNulls() { using (var stream = new MemoryStream()) { IIonWriter writer; using (writer = new ManagedBinaryWriter(BinaryConstants.EmptySymbolTablesArray)) { writer.StepIn(IonType.Struct); foreach (var iType in Enum.GetValues(typeof(IonType))) { if ((IonType)iType == IonType.Datagram || (IonType)iType == IonType.None) { continue; } var name = Enum.GetName(typeof(IonType), iType); writer.SetFieldName($"null_{name}"); writer.WriteNull((IonType)iType); } writer.StepOut(); writer.Flush(stream); } var reader = new UserBinaryReader(new MemoryStream(stream.ToArray())); reader.MoveNext(); reader.StepIn(); foreach (var iType in Enum.GetValues(typeof(IonType))) { if ((IonType)iType == IonType.Datagram || (IonType)iType == IonType.None) { continue; } var name = Enum.GetName(typeof(IonType), iType); Assert.AreEqual((IonType)iType, reader.MoveNext()); Assert.AreEqual($"null_{name}", reader.CurrentFieldName); Assert.IsTrue(reader.CurrentIsNull); } reader.StepOut(); } }