File: FormatTests\FormattedObject\NullRecordTests.cs
Web Access
Project: src\src\System.Private.Windows.Core\tests\BinaryFormatTests\BinaryFormatTests.csproj (BinaryFormatTests)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
using System.Private.Windows.BinaryFormat.Serializer;
 
namespace FormatTests.FormattedObject;
 
public class NullRecordTests
{
    [Fact]
    public void ObjectNullMultiple256_ThrowsOverflowOnWrite()
    {
        // We read a byte on the way in so there is nothing to check.
 
        NullRecord.ObjectNullMultiple256 objectNull = new(1000);
 
        using BinaryWriter writer = new(new MemoryStream());
        Action action = () => objectNull.Write(writer);
        action.Should().Throw<OverflowException>();
    }
 
    [Fact]
    public void ObjectNullMultiple256_WritesCorrectly()
    {
        NullRecord.ObjectNullMultiple256 objectNull = new(0xCA);
 
        byte[] buffer = new byte[2];
        using BinaryWriter writer = new(new MemoryStream(buffer));
        objectNull.Write(writer);
        buffer.Should().BeEquivalentTo(new byte[] { (byte)NullRecord.ObjectNullMultiple256.RecordType, 0xCA });
    }
}