summaryrefslogtreecommitdiff
path: root/same/src/test
diff options
context:
space:
mode:
authorKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-02-28 14:17:17 +0100
committerKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-02-28 14:17:17 +0100
commit7be826174d1837629c0ad33c7b6d4dfb3bc63a47 (patch)
tree133fa0b734f7b83906125e6e6081dbc3e7361449 /same/src/test
parent95f52f078e618e8c2cc0ccfd0b995051fe9bb5a7 (diff)
Add VariableUpdaterTask.
VariableUpdaterTask updates a variable countinously.
Diffstat (limited to 'same/src/test')
-rw-r--r--same/src/test/java/com/orbekk/same/VariableUpdaterTaskTest.java62
1 files changed, 62 insertions, 0 deletions
diff --git a/same/src/test/java/com/orbekk/same/VariableUpdaterTaskTest.java b/same/src/test/java/com/orbekk/same/VariableUpdaterTaskTest.java
new file mode 100644
index 0000000..3ecf444
--- /dev/null
+++ b/same/src/test/java/com/orbekk/same/VariableUpdaterTaskTest.java
@@ -0,0 +1,62 @@
+package com.orbekk.same;
+
+import static org.junit.Assert.*;
+
+import org.junit.Before;
+import org.junit.Test;
+import static org.mockito.Mockito.*;
+
+public class VariableUpdaterTaskTest {
+ Variable<String> v;
+ VariableUpdaterTask<String> updater;
+
+ @Before public void setUp() {
+ v = mock(Variable.class);
+ updater = new VariableUpdaterTask<String>(v);
+ }
+
+ @Test
+ public void updatesValue() {
+ updater.set("FirstValue");
+ updater.performWork();
+ verify(v).set("FirstValue");
+ }
+
+ @Test
+ public void noUpdateIfNotSet() {
+ updater.set("FirstValue");
+ updater.performWork();
+ reset(v);
+ updater.performWork();
+ verify(v, never()).set(anyString());
+ }
+
+ @Test
+ public void noUpdateIfNotReady() {
+ updater.set("FirstValue");
+ updater.performWork();
+ reset(v);
+ updater.set("SecondValue");
+ updater.performWork();
+ verify(v, never()).set(anyString());
+ }
+
+ @Test
+ public void updatesWhenReady() {
+ updater.set("Value1");
+ updater.performWork();
+ reset(v);
+ updater.valueChanged(null);
+ updater.set("Value2");
+ updater.performWork();
+ verify(v).set("Value2");
+ }
+
+ @Test
+ public void choosesLastUpdate() {
+ updater.set("FirstValue");
+ updater.set("SecondValue");
+ updater.performWork();
+ verify(v).set("SecondValue");
+ }
+}