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)); } } } }