public async Task CreateTsvValueNotepadTests() { var record = new TestValueRecord { ByteValue = 1, SbyteValue = -1, UShortValue = 2, ShortValue = -2, UIntValue = 3, IntValue = -3, ULongValue = 4, LongValue = -4, StringValue = "value", DoubleValue = 1.1, NumberValue = 1.2, NumberArray = new Number[] { 1.3, 1.4 } }; string filePath; string result; using (var writer = new SimpleLoggerMemoryWriter()) { var logger = writer.WithWriterFactory(RecordWriterBuilderForTests.Default); await using (var serializer = logger.CreateTsvValueNotepad <TestValueRecord>("test")) { serializer.Write(in record); filePath = serializer.Destination.FullName; } writer.Flush(out result); } string[] lines = await File.ReadAllLinesAsync(filePath); lines.Length.AssertIsEqualTo(2); lines[0].Split('\t').AssertSequenceEqualsTo(new[] { "ByteValue", "SbyteValue", "UShortValue", "ShortValue", "UIntValue", "IntValue", "ULongValue", "LongValue", "StringValue", "DoubleValue", "NumberValue", "NumberArray_0", "NumberArray_1" }); lines[1].AssertIsEqualTo("1\t-1\t2\t-2\t3\t-3\t4\t-4\tvalue\t1.1\t1.2\t1.3\t1.4"); string[] resultLines = result.Split(Environment.NewLine); resultLines.Length.AssertIsEqualTo(2); resultLines[0].AssertIsEqualTo("Notepad test: " + filePath); }
public void DefaultSerialization_NullReadOnlyArray() { var record = new TestValueRecord { ByteValue = 1, SbyteValue = -1, UShortValue = 2, ShortValue = -2, UIntValue = 3, IntValue = -3, ULongValue = 4, LongValue = -4, StringValue = "value", DoubleValue = 1.1, NumberValue = 1.2 }; TestValueRecord?record2 = null; TestValueRecord?record3 = record; string result; using (var writer = new SimpleLoggerMemoryWriter()) { var serializer = RecordWriterBuilderForTests.Default.CreateTsvValueRecordWriter <TestValueRecord>(writer); serializer.Write(in record); serializer.Write(in record2); serializer.Write(in record3); writer.Flush(out result); } string[] lines = result.Split(Environment.NewLine); lines.Length.AssertIsEqualTo(5); lines[0].Split('\t').AssertSequenceEqualsTo(new[] { "ByteValue", "SbyteValue", "UShortValue", "ShortValue", "UIntValue", "IntValue", "ULongValue", "LongValue", "StringValue", "DoubleValue", "NumberValue" }); lines[1].AssertIsEqualTo("1\t-1\t2\t-2\t3\t-3\t4\t-4\tvalue\t1.1\t1.2"); lines[2].AssertIsEqualTo("\t\t\t\t\t\t\t\t\t\t"); lines[3].AssertIsEqualTo("1\t-1\t2\t-2\t3\t-3\t4\t-4\tvalue\t1.1\t1.2"); lines[4].AssertIsEmpty(); }