Imports System
Imports NUnit.Framework
Imports DesignPatterns.Core.Composite
Namespace DesignPatterns.Tests.Composite
' Storyのテスト・クラス
<TestFixture()> Public Class StoryTest
Private _target As Story
<SetUp()> Public Sub対象クラスのインスタンスを生成する()
_target = New Story(1)
End Sub
<Test()> Public Sub シンプルなストーリーを生成する()
_target.Priority = 5
_target.Content = "ストーリーをXMLで出力する。"
Assert.AreEqual(1, _target.No, "ストーリー番号が違います。")
Assert.AreEqual(5, _target.Priority, "優先度が違います。")
Assert.AreEqual("ストーリーをXMLで出力する。", _target.Content, _
"ストーリーの内容が違います。")
End Sub
<Test()> Public Sub 追加したタスクにはストーリー番号が設定される()
_target.Add(New Task(1))
Assert.AreEqual(1, _target.TaskCount, "タスク数が違います。")
Assert.AreEqual(1, _target(0).StoryNo, _
"ストーリー番号が設定されていません。")
End Sub
<Test(), ExpectedException(GetType(ArgumentOutOfRangeException))> _
Public Sub 存在しないタスクを指定すると例外が発生する()
_target.Add(New Task(1))
Dim invalidTask As Task = _target(1)
End Sub
<Test()> Public Sub 保持するタスクを列挙できる()
_target.Add(New Task(1))
_target.Add(New Task(2))
Dim en As IEnumerator = _target.GetEnumerator()
Assert.IsTrue(en.MoveNext(), "次のタスクは存在するはずです。")
Assert.AreEqual(1, (CType(en.Current, Task)).No, "タスクが違います。")
Assert.IsTrue(en.MoveNext(), "次のタスクは存在するはずです。")
Assert.AreEqual(2, (CType(en.Current, Task)).No, "タスクが違います。")
Assert.IsFalse(en.MoveNext(), "次のタスクは存在しないはずです。")
End Sub
End Class
End Namespace |
|