public void AddRange_AddsRangeOfGenes()
 {
     GenePool<int> pool = new GenePool<int>();
     pool.AddRange(new int[] { 10, 20, 30 });
     
     Assert.AreEqual(3, pool.Count);
     Assert.AreEqual(10, pool[0]);
     Assert.AreEqual(20, pool[1]);
     Assert.AreEqual(30, pool[2]);
 }
        public void AddRange_AddsRangeOfGeneswithDuplicates_DuplicatesShouldBeSkipped()
        {
            GenePool<int> pool = new GenePool<int>();
            pool.AddRange(new int[] { 10, 10, 20, 20, 10, 20, 30, 30, 10, 20, 30, 10 });

            Assert.AreEqual(3, pool.Count);
            Assert.AreEqual(10, pool[0]);
            Assert.AreEqual(20, pool[1]);
            Assert.AreEqual(30, pool[2]);
        }
 public void AddRange_ArgumentIsNull_ThrowsAnException()
 {
     GenePool < int > pool = new GenePool<int>();
     pool.AddRange(null);
     Assert.Fail();
 }