コード例 #1
0
ファイル: UtilsTest.cs プロジェクト: GrigoryBushuev/Algo
        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));
        }
コード例 #2
0
    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()));
    }