Exemple #1
0
    public void TestValue()
    {
      var x1 = new[] {1, 1, 2, 4, 4, 4, 4, 7};

      Assert.That(x1.Value(0), Is.EqualTo(1));
      Assert.That(x1.Value(1), Is.EqualTo(3));
      Assert.That(x1.Value(2), Is.EqualTo(4));
      Assert.That(x1.Value(3), Is.EqualTo(5));
      Assert.That(x1.Value(4), Is.EqualTo(8));
      Assert.That(x1.Value(5), Is.EqualTo(9));
      Assert.That(x1.Value(6), Is.EqualTo(10));
      Assert.Throws<ArgumentOutOfRangeException>(() => x1.Value(-1));
      Assert.Throws<ArgumentOutOfRangeException>(() => x1.Value(7));

      var x2 = new[] {1, 3, 4, 5, 8, 9, 10}.AsIntervals().ToList();

      Assert.That(x2.Value(0), Is.EqualTo(1));
      Assert.That(x2.Value(1), Is.EqualTo(3));
      Assert.That(x2.Value(2), Is.EqualTo(4));
      Assert.That(x2.Value(3), Is.EqualTo(5));
      Assert.That(x2.Value(4), Is.EqualTo(8));
      Assert.That(x2.Value(5), Is.EqualTo(9));
      Assert.That(x2.Value(6), Is.EqualTo(10));

      Assert.Throws<ArgumentOutOfRangeException>(() => x2.Value(-1));
      Assert.Throws<ArgumentOutOfRangeException>(() => x2.Value(7));
    }
Exemple #2
0
    public void TestValueInfinite()
    {
      var x1 = new[] {1, 1, 2, 4, 4, 4, 4};

      Assert.Throws<ArgumentOutOfRangeException>(() => x1.Value(-1));
      Assert.That(x1.Value(0), Is.EqualTo(1));
      Assert.That(x1.Value(1), Is.EqualTo(3));
      Assert.That(x1.Value(2), Is.EqualTo(4));
      Assert.That(x1.Value(3), Is.EqualTo(5));
      Assert.That(x1.Value(4), Is.EqualTo(8));
      Assert.That(x1.Value(5), Is.EqualTo(9));
      Assert.That(x1.Value(6), Is.EqualTo(10));
      Assert.That(x1.Value(7), Is.EqualTo(11));
      Assert.That(x1.Value(10000), Is.EqualTo(10004));

      var x2 = new[] {1, 1, 2, 4, 4};

      Assert.Throws<ArgumentOutOfRangeException>(() => x2.Value(-1));
      Assert.That(x2.Value(0), Is.EqualTo(1));
      Assert.That(x2.Value(1), Is.EqualTo(3));
      Assert.That(x2.Value(2), Is.EqualTo(4));
      Assert.That(x2.Value(3), Is.EqualTo(5));
      Assert.That(x2.Value(4), Is.EqualTo(8));
      Assert.That(x2.Value(5), Is.EqualTo(9));
      Assert.That(x2.Value(6), Is.EqualTo(10));
      Assert.That(x1.Value(7), Is.EqualTo(11));
      Assert.That(x1.Value(10000), Is.EqualTo(10004));
    }