VS2005環境でのNAgile - MSTestのアサーション その2 (^o^)

MSTestのStringAssertのメソッドは、パラメータの左右がNUnitのStringAssertのメソッドと逆になっているものが多いので注意が必要。しかし正規表現を使用した比較ができる点が優れている。

#MSTest用のスニペットnagile.comにアップロードしておいた。使用される方はNUnit2.2.7用のスニペットも合わせてダウンロードして欲しい。(NUnit/MSTest共通のスニペットNUnitスニペットの中に含まれているため)

using System;
using System.Text;
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Text.RegularExpressions;

namespace MSTestStudy.Tests
{
 [TestClass]
 public class StringAssertTest
 {
  [TestMethod]
  public void 文字列に部分文字列が含まれているかどうかのチェックが成功すべき()
  {
   StringAssert.Contains("Test", "es");
  }

  [TestMethod]
  [ExpectedException(typeof(AssertFailedException))]
  public void 文字列に部分文字列が含まれているかどうかのチェックが失敗すべき()
  {
   StringAssert.Contains("Behaviour", "es");
  }

  [TestMethod]
  public void 指定した部分文字列で始まっているかどうかのチェックが成功すべき()
  {
   StringAssert.StartsWith("Test", "T");
  }

  [TestMethod]
  [ExpectedException(typeof(AssertFailedException))]
  public void 指定した部分文字列で始まっているかどうかのチェックが失敗すべき()
  {
   StringAssert.StartsWith("Behaviour", "T");
  }

  [TestMethod]
  public void 指定した部分文字列で終わっているかどうかのチェックが成功すべき()
  {
   StringAssert.EndsWith("Test", "t");
  }

  [TestMethod]
  [ExpectedException(typeof(AssertFailedException))]
  public void 指定した部分文字列で終わっているかどうかのチェックが失敗すべき()
  {
   StringAssert.EndsWith("Behaviour", "t");
  }

  [TestMethod]
  public void 正規表現と一致するかどうかのチェックが成功すべき()
  {
   StringAssert.Matches("Test Driven Development", new Regex(@"\s+"));
  }

  [TestMethod]
  [ExpectedException(typeof(AssertFailedException))]
  public void 正規表現と一致するかどうかのチェックが失敗すべき()
  {
   StringAssert.Matches("TestDrivenDevelopment", new Regex(@"\s+"));
  }

  [TestMethod]
  public void 正規表現と一致しないかどうかのチェックが成功すべき()
  {
   StringAssert.DoesNotMatch("TestDrivenDevelopment", new Regex(@"\s+"));
  }

  [TestMethod]
  [ExpectedException(typeof(AssertFailedException))]
  public void 正規表現と一致しないかどうかのチェックが失敗すべき()
  {
   StringAssert.DoesNotMatch("Test Driven Development", new Regex(@"\s+"));
  }
 }
}