NUnit 2.4のLearning Test(^o^)

NUnit 2.4のLearning Testのサンプルを作成した。従来のClassic Assert Modelおよび新しいConstraint-Based Assert Modelの使用方法が学習できるはずだ。興味のある方はチェックして頂きたい。

以下に、このLearning TestのサンプルからConstraint-Based Assert Modelの制約組み合わせの学習のために書いたテストコードを抜粋しておく。

using System;
using System.Collections.Generic;
using System.Text;
using NUnit.Framework;
using NUnit.Framework.SyntaxHelpers;

namespace LearningNUnit.Tests.ConstraintModel
{
  [TestFixture]
  public class CompoundConstraintsTest
  {
    [Test]
    public void 否定との混合制約が成功すべき()
    {
      Assert.That(2 + 2, Is.Not.EqualTo(5));
    }

    [Test]
    [ExpectedException(typeof(AssertionException))]
    public void 否定との混合制約が失敗すべき()
    {
      Assert.That(2 + 2, Is.Not.EqualTo(4));
    }

    [Test]
    public void 全体との混合制約が成功すべき()
    {
      List<int> list = new List<int>();
      list.Add(3);
      list.Add(4);
      Assert.That(list, Is.All.GreaterThan(2));
    }

    [Test]
    [ExpectedException(typeof(AssertionException))]
    public void 全体との混合制約が失敗すべき()
    {
      List<int> list = new List<int>();
      list.Add(3);
      list.Add(4);
      Assert.That(list, Is.All.GreaterThan(3));
    }

    [Test]
    public void And制約が成功すべき()
    {
      Assert.That(2.5, Is.GreaterThan(2.0) & Is.LessThan(3.0));
    }

    [Test]
    [ExpectedException(typeof(AssertionException))]
    public void And制約が失敗すべき()
    {
      Assert.That(3.0, Is.GreaterThan(2.0) & Is.LessThan(3.0));
    }

    [Test]
    public void Or制約が成功すべき()
    {
      Assert.That(3.0, Is.LessThan(5.0) | Is.GreaterThan(10.0));
    }

    [Test]
    [ExpectedException(typeof(AssertionException))]
    public void Or制約が失敗すべき()
    {
      Assert.That(3.0, Is.LessThan(3.0) | Is.GreaterThan(10.0));
    }

    [TestFixture]
    public class WithHelper : AssertionHelper
    {
      [Test]
      public void 否定との混合制約が成功すべき()
      {
        Expect(2 + 2, Not.EqualTo(5));
      }

      [Test]
      public void Or制約が成功すべき()
      {
        Expect(3.0, LessThan(5.0) | GreaterThan(10.0));
      }
    }
  }
}