Created
August 26, 2012 07:02
-
-
Save smallgeek/3475461 to your computer and use it in GitHub Desktop.
NaturalSpec_Tutorial_4_2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // 1. モジュールを定義する | |
| module CarSpec | |
| // 2. NaturalSpec 名前空間を開く | |
| open NaturalSpec | |
| // 3. プロジェクトの名前空間を開く | |
| open CarSellingLib | |
| // 再利用可能な値を定義する | |
| let DreamCar = new Car(CarType.BMW, 200) | |
| let LameCar = new Car(CarType.Fiat, 45) | |
| // 4. モックオブジェクトを定義し、それに名前をつける | |
| let Bert = mock<IDealer> "Bert" | |
| // 5. BDDスタイルでメソッドを作成する | |
| let selling_a_car_for amount (dealer:IDealer) = | |
| printMethod amount | |
| dealer.SellCar amount | |
| // 6. シナリオを作成する | |
| [<Scenario>] | |
| let When_selling_a_car_for_30000_it_should_equal_the_DreamCar_mocked() = | |
| As Bert | |
| |> setup <@ fun x -> x.SellCar @> (fun _ -> DreamCar) // 7.モックの呼び出しを登録する | |
| |> When selling_a_car_for 30000 | |
| |> It should equal DreamCar | |
| |> It shouldn't equal LameCar | |
| |> Verify |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment