private static void IndexComparisonHelper <T>(params T[] data)
        {
            //Comparing to a list here just because it implements all the operations.
            //No particular reason this colleciton was chosen.
            var systemList = new List <T>(data);

            var testedList = new SingleList <T>();

            foreach (var value in systemList)
            {
                testedList.Add(value);
            }
            //Index Test
            foreach (var value in systemList)
            {
                var correctIndex = systemList.IndexOf(value);
                var testedIndex  = testedList.IndexOf(value);
                Assert.Equal(correctIndex, testedIndex);
                Assert.True(testedList.Contains(value));
            }
            //Removal Tests
            for (int i = 0; i < data.Length; i++)
            {
                //Let's check it behaves in a manner identical to deference list
                Assert.Equal(testedList.Remove(data[2]), systemList.Remove(data[2]));
                Assert.Equal(testedList.Count, systemList.Count);
            }
        }