Bukkit-API  1.7.9-R0.2
The inofficial Bukkit-API
ValidatingPromptTest.java
1 package org.bukkit.conversations;
2 
3 import org.junit.Test;
4 
5 import static org.junit.Assert.*;
6 
7 /**
8  */
9 public class ValidatingPromptTest {
10 
11  @Test
12  public void TestBooleanPrompt() {
13  TestBooleanPrompt prompt = new TestBooleanPrompt();
14  assertTrue(prompt.isInputValid(null, "true"));
15  assertFalse(prompt.isInputValid(null, "bananas"));
16  prompt.acceptInput(null, "true");
17  assertTrue(prompt.result);
18  prompt.acceptInput(null, "no");
19  assertFalse(prompt.result);
20  }
21 
22  @Test
23  public void TestFixedSetPrompt() {
24  TestFixedSetPrompt prompt = new TestFixedSetPrompt("foo", "bar");
25  assertTrue(prompt.isInputValid(null, "foo"));
26  assertFalse(prompt.isInputValid(null, "cheese"));
27  prompt.acceptInput(null, "foo");
28  assertEquals("foo", prompt.result);
29  }
30 
31  @Test
32  public void TestNumericPrompt() {
33  TestNumericPrompt prompt = new TestNumericPrompt();
34  assertTrue(prompt.isInputValid(null, "1010220"));
35  assertFalse(prompt.isInputValid(null, "tomato"));
36  prompt.acceptInput(null, "1010220");
37  assertEquals(1010220, prompt.result);
38  }
39 
40  @Test
41  public void TestRegexPrompt() {
42  TestRegexPrompt prompt = new TestRegexPrompt("a.c");
43  assertTrue(prompt.isInputValid(null, "abc"));
44  assertTrue(prompt.isInputValid(null, "axc"));
45  assertFalse(prompt.isInputValid(null, "xyz"));
46  prompt.acceptInput(null, "abc");
47  assertEquals("abc", prompt.result);
48  }
49 
50  //TODO: TestPlayerNamePrompt()
51 
52  private class TestBooleanPrompt extends BooleanPrompt {
53  public boolean result;
54 
55  @Override
56  protected Prompt acceptValidatedInput(ConversationContext context, boolean input) {
57  result = input;
58  return null;
59  }
60 
61  public String getPromptText(ConversationContext context) {
62  return null;
63  }
64  }
65 
66  private class TestFixedSetPrompt extends FixedSetPrompt {
67  public String result;
68 
69  public TestFixedSetPrompt(String... fixedSet) {
70  super(fixedSet);
71  }
72 
73  @Override
74  protected Prompt acceptValidatedInput(ConversationContext context, String input) {
75  result = input;
76  return null;
77  }
78 
79  public String getPromptText(ConversationContext context) {
80  return null;
81  }
82  }
83 
84  private class TestNumericPrompt extends NumericPrompt {
85  public Number result;
86 
87  @Override
88  protected Prompt acceptValidatedInput(ConversationContext context, Number input) {
89  result = input;
90  return null;
91  }
92 
93  public String getPromptText(ConversationContext context) {
94  return null;
95  }
96  }
97 
98  private class TestRegexPrompt extends RegexPrompt {
99  public String result;
100 
101  public TestRegexPrompt(String pattern) {
102  super(pattern);
103  }
104 
105  @Override
106  protected Prompt acceptValidatedInput(ConversationContext context, String input) {
107  result = input;
108  return null;
109  }
110 
111  public String getPromptText(ConversationContext context) {
112  return null;
113  }
114  }
115 }