Inheritance: Person
 public void Add1()
 {
     var newDoctor = new Doctor() { Group = 5, Name = "New Doctor", ProviderNumber = "23456" };
     Assert.AreEqual(5, _People.Count);
     Assert.AreEqual(2, _Doctors.Count);
     _People.Add(newDoctor);
     Assert.AreEqual(6, _People.Count);
     Assert.AreEqual(3, _Doctors.Count);
 }
        public void Insert1()
        {   
            Assert.AreEqual(5, _People.Count);
            Assert.AreEqual(2, _Doctors.Count);

            var newDoctor = new Doctor() { Group = 5, Name = "New Doctor", ProviderNumber = "23456" };
            _People.Insert(0, newDoctor);

            Assert.AreEqual(6, _People.Count);
            Assert.AreEqual(3, _Doctors.Count);
            Assert.AreEqual(newDoctor, _Doctors.First());

            var middleDoctor = new Doctor() { Group = 5, Name = "Middle Doctor", ProviderNumber = "23456" };
            _People.Insert(2, middleDoctor);

            Assert.AreEqual(7, _People.Count);
            Assert.AreEqual(4, _Doctors.Count);
            Assert.AreEqual(middleDoctor, _Doctors.Skip(2).First());            
        }
        public void ProxyOrder4()
        {
            var newDoctor = new Doctor() { Group = 5, Name = "New Doctor", ProviderNumber = "23456" };
            _People.Insert(3, newDoctor);
            Person[] list = { _ForrestGump, newDoctor, _DoogieHowser };

            Assert.IsTrue(_Doctors.SequenceEqual(list.OfType<Doctor>()));
        }