[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