public static void ReadGenericLinkedListOfGenericLinkedList()
        {
            LinkedList <LinkedList <int> > result = JsonSerializer.Deserialize <LinkedList <LinkedList <int> > >(Encoding.UTF8.GetBytes(@"[[1,2],[3,4]]"));
            int expected = 1;

            foreach (LinkedList <int> l in result)
            {
                foreach (int i in l)
                {
                    Assert.Equal(expected++, i);
                }
            }

            GenericLinkedListWrapper <StringLinkedListWrapper> result2 = JsonSerializer.Deserialize <GenericLinkedListWrapper <StringLinkedListWrapper> >(@"[[""1"",""2""],[""3"",""4""]]");

            expected = 1;

            foreach (StringLinkedListWrapper l in result2)
            {
                foreach (string str in l)
                {
                    Assert.Equal($"{expected++}", str);
                }
            }
        }
        public static void WriteLinkedListTOfLinkedListT()
        {
            LinkedList <LinkedList <int> > input = new LinkedList <LinkedList <int> >(new List <LinkedList <int> >
            {
                new LinkedList <int>(new List <int>()
                {
                    1, 2
                }),
                new LinkedList <int>(new List <int>()
                {
                    3, 4
                })
            });

            string json = JsonSerializer.Serialize(input);

            Assert.Equal("[[1,2],[3,4]]", json);

            GenericLinkedListWrapper <StringLinkedListWrapper> input2 = new GenericLinkedListWrapper <StringLinkedListWrapper>(new List <StringLinkedListWrapper>
            {
                new StringLinkedListWrapper(new List <string>()
                {
                    "1", "2"
                }),
                new StringLinkedListWrapper(new List <string>()
                {
                    "3", "4"
                }),
            });

            json = JsonSerializer.Serialize(input2);
            Assert.Equal(@"[[""1"",""2""],[""3"",""4""]]", json);
        }
        public async Task ReadGenericLinkedListOfGenericLinkedList()
        {
            LinkedList <LinkedList <int> > result = await Serializer.DeserializeWrapper <LinkedList <LinkedList <int> > >(@"[[1,2],[3,4]]");

            int expected = 1;

            foreach (LinkedList <int> l in result)
            {
                foreach (int i in l)
                {
                    Assert.Equal(expected++, i);
                }
            }

            GenericLinkedListWrapper <StringLinkedListWrapper> result2 = await Serializer.DeserializeWrapper <GenericLinkedListWrapper <StringLinkedListWrapper> >(@"[[""1"",""2""],[""3"",""4""]]");

            expected = 1;

            foreach (StringLinkedListWrapper l in result2)
            {
                foreach (string str in l)
                {
                    Assert.Equal($"{expected++}", str);
                }
            }
        }