public void RankTest() { //11 12 17 19 23 29 31 34 40 50 70 76 81 87 89 var array = new[] { 11, 12, 17, 19, 23, 29, 31, 34, 40, 50, 70, 76, 81, 87, 89 }; Assert.AreEqual(0, array.Rank(11)); Assert.AreEqual(14, array.Rank(89)); Assert.AreEqual(5, array.Rank(29)); Assert.AreEqual(null, array.Rank(59)); }
public void Rank_Method() { Assert.Throws<ArgumentNullException>(() => IDeputyInfoExtensions.Rank<IDeputyInfo>(null, "name")); Assert.Throws<ArgumentNullException>(() => Enumerable.Empty<IDeputyInfo>().Rank(null)); Assert.Throws<ArgumentException>(() => Enumerable.Empty<IDeputyInfo>().Rank(string.Empty)); Assert.False(Enumerable.Empty<IDeputyInfo>().Rank("rank").Any()); var first = new DeputyInfo { RanksOriginal = new List<string> { "FIRST", "SECOND" } }; var second = new DeputyInfo { RanksOriginal = new List<string> { "First", "Third" } }; var deputies = new[] { null, first, second }; Assert.True(deputies.Rank("first").SequenceEqual(new[] { first, second })); Assert.True(ReferenceEquals(first, deputies.Rank("second").Single())); Assert.True(ReferenceEquals(second, deputies.Rank("third").Single())); }