public async Task Test_Nullable_Struct()
        {
            StructA?a = new StructA()
            {
                A  = 1,
                B  = 2,
                C  = "A",
                EA = TestEnumA.B,
                EB = null
            };

            await Test(a, b =>
            {
                Assert.Equal(a.Value.A, b.Value.A);
                Assert.Equal(a.Value.C, b.Value.C);
                Assert.Equal(a.Value.EA, b.Value.EA);
                Assert.Equal(a.Value.EB, b.Value.EB);
                Assert.Equal(0, b.Value.B);
            });
        }
        public async Task Test_Nullable_Struct_IncludeFileds_Buffer(int len)
        {
            StructA?a = new StructA()
            {
                A  = 1,
                B  = 2,
                C  = new string('A', len),
                EA = TestEnumA.B,
                EB = null
            };

            await Test(a, b =>
            {
                Assert.Equal(a.Value.A, b.Value.A);
                Assert.Equal(a.Value.C, b.Value.C);
                Assert.Equal(a.Value.EA, b.Value.EA);
                Assert.Equal(a.Value.EB, b.Value.EB);
                Assert.Equal(a.Value.B, b.Value.B);
            }, new BinarySerializerOptions()
            {
                IncludeFields = true
            });
        }