[jsemver] 83/95: Create Stream#pushBack() method

Alexandre Viau reazem-guest at moszumanska.debian.org
Mon Feb 16 14:58:33 UTC 2015


This is an automated email from the git hooks/post-receive script.

reazem-guest pushed a commit to branch master
in repository jsemver.

commit 82dd3c2968ec4ce85f9b5b83921533bdb4004532
Author: Zafar Khaja <zafarkhaja at gmail.com>
Date:   Mon Jun 23 21:29:02 2014 +0300

    Create Stream#pushBack() method
---
 .../com/github/zafarkhaja/semver/util/Stream.java  |  9 ++++++++
 .../github/zafarkhaja/semver/util/StreamTest.java  | 25 ++++++++++++++++++++++
 2 files changed, 34 insertions(+)

diff --git a/src/main/java/com/github/zafarkhaja/semver/util/Stream.java b/src/main/java/com/github/zafarkhaja/semver/util/Stream.java
index 9c11f05..5b3ed77 100644
--- a/src/main/java/com/github/zafarkhaja/semver/util/Stream.java
+++ b/src/main/java/com/github/zafarkhaja/semver/util/Stream.java
@@ -116,6 +116,15 @@ public class Stream<E> implements Iterable<E> {
     }
 
     /**
+     * Pushes back one element at a time.
+     */
+    public void pushBack() {
+        if (offset > 0) {
+            offset--;
+        }
+    }
+
+    /**
      * Returns the next element in this stream without consuming it.
      *
      * @return the next element in this stream
diff --git a/src/test/java/com/github/zafarkhaja/semver/util/StreamTest.java b/src/test/java/com/github/zafarkhaja/semver/util/StreamTest.java
index 8947733..4a43aaa 100644
--- a/src/test/java/com/github/zafarkhaja/semver/util/StreamTest.java
+++ b/src/test/java/com/github/zafarkhaja/semver/util/StreamTest.java
@@ -203,4 +203,29 @@ public class StreamTest {
             }
         ));
     }
+
+    @Test
+    public void shouldPushBackOneElementAtATime() {
+        Stream<Character> stream = new Stream<Character>(
+            new Character[] {'a', 'b', 'c'}
+        );
+        assertEquals(Character.valueOf('a'), stream.consume());
+        stream.pushBack();
+        assertEquals(Character.valueOf('a'), stream.consume());
+    }
+
+    @Test
+    public void shouldStopPushingBackWhenThereAreNoElements() {
+        Stream<Character> stream = new Stream<Character>(
+            new Character[] {'a', 'b', 'c'}
+        );
+        assertEquals(Character.valueOf('a'), stream.consume());
+        assertEquals(Character.valueOf('b'), stream.consume());
+        assertEquals(Character.valueOf('c'), stream.consume());
+        stream.pushBack();
+        stream.pushBack();
+        stream.pushBack();
+        stream.pushBack();
+        assertEquals(Character.valueOf('a'), stream.consume());
+    }
 }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jsemver.git



More information about the pkg-java-commits mailing list