public void WrongInputSizeTest()
        {
            var m1 = new Man("Johnny");
            var m2 = new Man("James");

            var w1 = new Woman("Jane");
            var w2 = new Woman("Joyce");

            m1.AddPersonToPrefList(w1);
            m1.AddPersonToPrefList(w2);

            m2.AddPersonToPrefList(w1);
            m2.AddPersonToPrefList(w2);

            w1.AddPersonToPrefList(m2);
            w1.AddPersonToPrefList(m1);

            w2.AddPersonToPrefList(m1);
            w2.AddPersonToPrefList(m2);

            List <IPerson> proposers = new List <IPerson>
            {
                m1
            };

            List <IPerson> acceptees = new List <IPerson>
            {
                w1,
                w2
            };

            var result = solver.FindStableMatches(proposers, acceptees);

            Assert.IsNull(result);
        }
        public void ComplexNoInstabilityTest()
        {
            var m1 = new Man("Johnny");
            var m2 = new Man("James");
            var m3 = new Man("Joe");

            var w1 = new Woman("Jane");
            var w2 = new Woman("Joyce");
            var w3 = new Woman("Jenny");

            m1.AddPersonToPrefList(w1);
            m1.AddPersonToPrefList(w3);
            m1.AddPersonToPrefList(w2);

            m2.AddPersonToPrefList(w1);
            m2.AddPersonToPrefList(w2);
            m2.AddPersonToPrefList(w3);

            m3.AddPersonToPrefList(w1);
            m3.AddPersonToPrefList(w2);
            m3.AddPersonToPrefList(w3);

            w1.AddPersonToPrefList(m1);
            w1.AddPersonToPrefList(m2);
            w1.AddPersonToPrefList(m3);

            w2.AddPersonToPrefList(m1);
            w2.AddPersonToPrefList(m2);
            w2.AddPersonToPrefList(m3);

            w3.AddPersonToPrefList(m1);
            w3.AddPersonToPrefList(m2);
            w3.AddPersonToPrefList(m3);

            List <IPerson> proposers = new List <IPerson>
            {
                m1,
                m2,
                m3
            };

            List <IPerson> acceptees = new List <IPerson>
            {
                w1,
                w2,
                w3
            };

            var result = solver.FindStableMatches(proposers, acceptees);

            Assert.AreEqual(result[m1], w1);
            Assert.AreEqual(result[m2], w2);
            Assert.AreEqual(result[m3], w3);
        }