1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
package com.vaadin.tests.server.component.slider;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.fail;
import org.junit.Test;
import com.vaadin.ui.Slider;
public class SliderTest {
@Test
public void minCannotBeLargerThanMax() {
Slider slider = new Slider();
slider.setMax(100);
slider.setMin(101);
assertThat(slider.getMin(), is(101.0));
assertThat(slider.getMax(), is(101.0));
}
@Test
public void maxCannotBeSmallerThanMin() {
Slider slider = new Slider();
slider.setMin(50);
slider.setMax(10);
assertThat(slider.getMax(), is(10.0));
assertThat(slider.getMin(), is(10.0));
}
@Test
public void valueOutOfBoundsExceptionMessageContainsBounds() {
Slider slider = new Slider();
try {
slider.setValue(-1.0);
} catch (Slider.ValueOutOfBoundsException e) {
assertThat(e.getMessage(), containsString(
"Value -1.0 is out of bounds: [0.0, 100.0]"));
}
}
@Test
public void valueIsSet() {
Slider slider = new Slider();
slider.setValue(5.0);
assertThat(slider.getValue(), is(5.0));
}
@Test
public void valueCannotBeOutOfBounds() {
Slider s = new Slider(0, 10);
try {
s.setValue(20.0);
fail("Should throw out of bounds exception");
} catch (Slider.ValueOutOfBoundsException e) {
// TODO: handle exception
}
}
@Test
public void valueCanHaveLargePrecision() {
Slider slider = new Slider();
slider.setResolution(20);
slider.setValue(99.01234567891234567890123456789);
assertThat(slider.getValue(), is(99.01234567891234567890123456789));
}
@Test
public void doublesCanBeUsedAsLimits() {
Slider slider = new Slider(1.5, 2.5, 1);
assertThat(slider.getMin(), is(1.5));
assertThat(slider.getValue(), is(1.5));
assertThat(slider.getMax(), is(2.5));
}
@Test
public void valuesGreaterThanIntMaxValueCanBeUsed() {
double minValue = (double) Integer.MAX_VALUE + 1;
Slider s = new Slider(minValue, minValue + 1, 0);
assertThat(s.getValue(), is(minValue));
}
@Test
public void negativeValuesCanBeUsed() {
Slider slider = new Slider(-0.7, 1.0, 0);
slider.setValue(-0.4);
assertThat(slider.getValue(), is(-0.0));
}
@Test
public void boundariesAreRounded() {
Slider slider = new Slider(1.5, 2.5, 0);
slider.setValue(1.0);
assertThat(slider.getValue(), is(1.0));
assertThat(slider.getMin(), is(1.0));
assertThat(slider.getMax(), is(2.0));
}
@Test
public void valueWithSmallerPrecisionCanBeUsed() {
Slider slider = new Slider(0, 100, 10);
slider.setValue(1.2);
assertThat(slider.getValue(), is(1.2));
}
@Test
public void valueWithLargerPrecisionCanBeUsed() {
Slider slider = new Slider(0, 100, 2);
slider.setValue(1.2345);
assertThat(slider.getValue(), is(1.23));
}
}
|