public void Sort(IComparer <T> ic) { T temp; Node actualNode = head; bool done = false; IComparer <ClubMember> iClubMember = new ClubMember.SortClubMembersAfterLastName(); for (int i = 0; i < Count - 1; i++) { actualNode = head; done = true; for (int i2 = 0; i2 < Count - 1 - i; i2++) { if (ic.Compare(actualNode.Data, actualNode.Next.Data) == 1) { temp = actualNode.Data; actualNode.Data = actualNode.Next.Data; actualNode.Next.Data = temp; done = false; } actualNode = actualNode.Next; } if (done) { i = Count; } } }
public void TestSortClubMembersAfterLastName_Compare() { IComparer <ClubMember> ic = new ClubMember.SortClubMembersAfterLastName(); Assert.IsTrue(ic.Compare(p4, p13) > 0); // Mish - Ansley Assert.IsTrue(ic.Compare(p4, p24) < 0); // Mish - Shreenan Assert.IsTrue(ic.Compare(p24, p13) > 0); // Shreenan - Ansley Assert.IsTrue(ic.Compare(p24, p24) == 0); // Shreenan - Shreenan }