added demo
[tspec.git] / demo / java / org / tspec / hangman / HangmanStory.groovy
blob1dc0f0c9e7931948a2d037d96fd4502f88dabf2e
1 package org.tspec.hangman
3 import org.tspec.hangman.Hangman
5 เรื่อง 'คนแขวนคอ'
7 อธิบาย 'การตั้งค่าที่เหมาะสมสำหรับเริ่มต้น',{
8 กำหนดให้ 'มีวัตถุคนแขวนคอ', {
9 hangman = new Hangman()
11 เมื่อ 'ตั้งค่าคำไว้เป็นค่า hello',{
12 hangman.word = 'hello'
14 แล้ว 'ตัววัตถุควรมีการตั้งค่าที่เหมาะสม',{
15 hangman.word.should == 'hello'
16 hangman.wrongs.should == 0
17 hangman.maxGuess.should == 12
18 hangman.unrevealedWord.should == ['_', '_', '_', '_', '_']
19 hangman.finished.should == false
23 อธิบาย 'การตั้งค่าจำนวนครั้งที่เล่นผิดให้เป็น 0 ถ้าผู้เล่นต้องการเล่นเกมใหม่',{
24 กำหนดให้ 'มีวัตถุคนแขวนคอ เพื่อเล่นคำว่า hello', {
25 hangman = new Hangman()
26 hangman.word = 'hello'
28 เมื่อ 'ผู้เล่นเล่นเกมไปแล้วด้วยการทาย a และสั่งให้เริ่มเกมใหม่', {
29 hangman.guess('a')
30 hangman.newGame()
32 แล้ว 'จำนวนครั้งของการเล่นผิดควรเป็น 0',{
33 hangman.wrongs.should == 0
37 อธิบาย 'การเดาผิดหมด', {
38 กำหนดให้ 'มีวัตถุคนแขวนคอ เพื่อเล่นคำว่า hello', {
39 hangman = new Hangman()
40 hangman.word = 'hello'
42 เมื่อ 'เดาครั้งแรกผิด', {
43 hangman.guess('a')
45 แล้ว 'จำนวนการผิดควรเป็น 1', {
46 hangman.wrongs.should == 1
48 และ 'เมื่อเดาครั้งที่ 2 ผิด จำนวนการผิดควรเป็น 2',{
49 hangman.guess('b')
50 hangman.wrongs.should == 2
52 และ 'เมื่อเดาผิดครบ 12 ครั้ง จำนวนการผิดควรเป็น 12', {
53 for(i in 3..12) {
54 hangman.guess('p')
55 hangman.wrongs.should == i
58 แล้ว 'หากเดาผิดอีกครั้ง ควรขว้างข้อผิดพลาดจำนวนครั้งที่เดาเกิน', {
59 รับรองว่าขว้าง ExceedGuessException, {
60 hangman.guess('p')
65 อธิบาย 'การเดาถูกหมด', {
66 กำหนดให้ 'มีวัตถุคนแขวนคอ เพื่อเล่นคำว่า hello', {
67 hangman = new Hangman()
68 hangman.word = 'hello'
70 เมื่อ 'เดาครั้งแรกถูก', {
71 hangman.guess('h')
73 แล้ว 'จำนวนครั้งที่ผิดควรเป็น 0',{
74 hangman.wrongs.should == 0
76 และ 'คำที่ซ่อนอยู่ควรเป็น h และช่องว่าง 4 ตัว', {
77 hangman.unrevealedWord.should == ['h','_','_','_','_']
79 และเมื่อ 'ทายด้วย e', {
80 hangman.guess('e')
82 แล้ว 'จำนวนครั้งที่ผิดควรจะยังเป็น 0 อยู่', {
83 hangman.wrongs.should == 0
85 และ 'คำที่ซ่อนอยู่ควรเป็น he และช่องว่าง 3 ตัว', {
86 hangman.unrevealedWord.should == ['h','e','_','_','_']
88 และเมื่อ 'ทายด้วย l', {
89 hangman.guess('l')
91 แล้ว 'จำนวนครั้งที่ผิดควรจะยังเป็น 0 อยู่', {
92 hangman.wrongs.should == 0
94 และ 'คำที่ซ่อนอยู่ควรเป็น hell และช่องว่าง 1 ตัว', {
95 hangman.unrevealedWord.should == ['h','e','l','l','_']
97 และเมื่อ 'ทายด้วย o', {
98 hangman.guess('o')
100 แล้ว 'จำนวนครั้งที่ผิดควรจะยังเป็น 0 อยู่', {
101 hangman.wrongs.should == 0
103 และ 'คำที่ซ่อนอยู่ควรเป็น hello และจบการเล่น', {
104 hangman.unrevealedWord.should == ['h','e','l','l','o']
105 hangman.finished.should == true