public void FromJson_CorrectJsonClass()
        {
            //arrange
            var json       = "{\"Age\":97,\"IsTrue\":true,\"Name\":\"Jack\",\"NullProperty\":null}";
            var jsonStruct = new MixedJsonStruct();

            //act
            FromJson(ref jsonStruct, json);

            //assert
            Assert.That(jsonStruct.Age, Is.EqualTo(97));
            Assert.That(jsonStruct.Name, Is.EqualTo("Jack"));
            Assert.That(jsonStruct.NullProperty, Is.Null);
            Assert.That(jsonStruct.IsTrue, Is.True);
        }
        public void ToJson_CorrectString()
        {
            //arrange
            var jsonStruct = new MixedJsonStruct()
            {
                Age          = 97,
                Name         = "Jack",
                NullProperty = null,
                IsTrue       = true
            };

            //act
            var json = ToJson(ref jsonStruct);

            //assert
            Assert.That(json.ToString(), Is.EqualTo("{\"Age\":97,\"IsTrue\":true,\"Name\":\"Jack\",\"NullProperty\":null}"));
        }
 protected abstract string ToJson(ref MixedJsonStruct jsonClass);
 protected override ReadOnlySpan <char> FromJson(ref MixedJsonStruct value, string json)
 {
     return(Encoding.UTF8.GetString(_convert.FromJson(ref value, Encoding.UTF8.GetBytes(json))));
 }
        protected override string ToJson(ref MixedJsonStruct jsonClass)
        {
            var jsonUtf8 = _convert.ToJsonUtf8(ref jsonClass);

            return(Encoding.UTF8.GetString(jsonUtf8));
        }
 protected override ReadOnlySpan <char> FromJson(ref MixedJsonStruct value, string json)
 {
     return(_convert.FromJson(ref value, json));
 }
 protected override string ToJson(ref MixedJsonStruct jsonClass)
 {
     return(_convert.ToJson(ref jsonClass).ToString());
 }
 protected abstract ReadOnlySpan <char> FromJson(ref MixedJsonStruct value, string json);