とりあえず(?)作ってみた。(手荷物一時預かり 編)その5。

東方算程譚:手荷物一時預かり
お試しクラス・・・。
途切れ途切れに書くと途中でナニやってたか忘れてるし・・・。orz持って帰ればよかった・・・。

Imports System
Imports System.Collections.Generic
Imports System.Diagnostics


Public Class Program


Public Shared Sub Main()

Dim c As New Cloak

Debug.Assert(1 = c.Peek) ' 1をくれるはず。
Debug.Assert(1 = c.Acquire) ' 1をもらう。
Debug.Assert(2 = c.Acquire) ' 2をもらう。
Debug.Assert(3 = c.Acquire) ' 3をもらう。
Debug.Assert(4 = c.Peek) ' 4をくれるはず。
Debug.Assert(c.Release(2)) ' 2を返す。
Debug.Assert(Not c.Release(2)) ' 2は返せない。
Debug.Assert(Not c.Release(5)) ' 5は返せない。
Debug.Assert(c.Release(1)) ' 1を返す。
Debug.Assert(1 = c.Acquire) ' 1をもらう。


' ちょっと実装が違うけど配布済みと戻ってきたやつを出力するもの。

Dim list As List(Of Integer)

list = c.Acquired

For Each i As Integer In list

Console.Write("{0} ", i.ToString)

Next

Console.WriteLine()

list = c.Released

For Each i As Integer In list

Console.Write("{0} ", i.ToString)

Next

Console.WriteLine()

End Sub


End Class