aboutsummaryrefslogtreecommitdiff
path: root/streaming/src/test/java
diff options
context:
space:
mode:
authorSean Owen <sowen@cloudera.com>2014-09-23 11:58:05 -0700
committerMatei Zaharia <matei@databricks.com>2014-09-23 11:58:05 -0700
commite73b48ace0a7e0f249221240140235d33eeac36b (patch)
tree50adea378f370306aa024e6165b385e4dad1d9c2 /streaming/src/test/java
parent3b8eefa9b843c7f1e0e8dda6023272bc9f011c5c (diff)
downloadspark-e73b48ace0a7e0f249221240140235d33eeac36b.tar.gz
spark-e73b48ace0a7e0f249221240140235d33eeac36b.tar.bz2
spark-e73b48ace0a7e0f249221240140235d33eeac36b.zip
SPARK-2745 [STREAMING] Add Java friendly methods to Duration class
tdas is this what you had in mind for this JIRA? I saw this one and thought it would be easy to take care of, and helpful as I use streaming from Java. I could do the same for `Time`? Happy to do so. Author: Sean Owen <sowen@cloudera.com> Closes #2403 from srowen/SPARK-2745 and squashes the following commits: 5a9e706 [Sean Owen] Change "Duration" to "Durations" to avoid changing Duration case class API bda301c [Sean Owen] Just delegate to Scala binary operator syntax to avoid scalastyle warning 7dde949 [Sean Owen] Disable scalastyle for false positives. Add Java static factory methods seconds(), minutes() to Duration. Add Java-friendly methods to Time too, and unit tests. Remove unnecessary math.floor from Time.floor() 4dee32e [Sean Owen] Add named methods to Duration in parallel to symbolic methods for Java-friendliness. Also add unit tests for Duration, in Scala and Java.
Diffstat (limited to 'streaming/src/test/java')
-rw-r--r--streaming/src/test/java/org/apache/spark/streaming/JavaDurationSuite.java84
-rw-r--r--streaming/src/test/java/org/apache/spark/streaming/JavaTimeSuite.java63
2 files changed, 147 insertions, 0 deletions
diff --git a/streaming/src/test/java/org/apache/spark/streaming/JavaDurationSuite.java b/streaming/src/test/java/org/apache/spark/streaming/JavaDurationSuite.java
new file mode 100644
index 0000000000..76425fe2aa
--- /dev/null
+++ b/streaming/src/test/java/org/apache/spark/streaming/JavaDurationSuite.java
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package org.apache.spark.streaming;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class JavaDurationSuite {
+
+ // Just testing the methods that are specially exposed for Java.
+ // This does not repeat all tests found in the Scala suite.
+
+ @Test
+ public void testLess() {
+ Assert.assertTrue(new Duration(999).less(new Duration(1000)));
+ }
+
+ @Test
+ public void testLessEq() {
+ Assert.assertTrue(new Duration(1000).lessEq(new Duration(1000)));
+ }
+
+ @Test
+ public void testGreater() {
+ Assert.assertTrue(new Duration(1000).greater(new Duration(999)));
+ }
+
+ @Test
+ public void testGreaterEq() {
+ Assert.assertTrue(new Duration(1000).greaterEq(new Duration(1000)));
+ }
+
+ @Test
+ public void testPlus() {
+ Assert.assertEquals(new Duration(1100), new Duration(1000).plus(new Duration(100)));
+ }
+
+ @Test
+ public void testMinus() {
+ Assert.assertEquals(new Duration(900), new Duration(1000).minus(new Duration(100)));
+ }
+
+ @Test
+ public void testTimes() {
+ Assert.assertEquals(new Duration(200), new Duration(100).times(2));
+ }
+
+ @Test
+ public void testDiv() {
+ Assert.assertEquals(200.0, new Duration(1000).div(new Duration(5)), 1.0e-12);
+ }
+
+ @Test
+ public void testMilliseconds() {
+ Assert.assertEquals(new Duration(100), Durations.milliseconds(100));
+ }
+
+ @Test
+ public void testSeconds() {
+ Assert.assertEquals(new Duration(30 * 1000), Durations.seconds(30));
+ }
+
+ @Test
+ public void testMinutes() {
+ Assert.assertEquals(new Duration(2 * 60 * 1000), Durations.minutes(2));
+ }
+
+}
diff --git a/streaming/src/test/java/org/apache/spark/streaming/JavaTimeSuite.java b/streaming/src/test/java/org/apache/spark/streaming/JavaTimeSuite.java
new file mode 100644
index 0000000000..ad6b1853e3
--- /dev/null
+++ b/streaming/src/test/java/org/apache/spark/streaming/JavaTimeSuite.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.spark.streaming;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class JavaTimeSuite {
+
+ // Just testing the methods that are specially exposed for Java.
+ // This does not repeat all tests found in the Scala suite.
+
+ @Test
+ public void testLess() {
+ Assert.assertTrue(new Time(999).less(new Time(1000)));
+ }
+
+ @Test
+ public void testLessEq() {
+ Assert.assertTrue(new Time(1000).lessEq(new Time(1000)));
+ }
+
+ @Test
+ public void testGreater() {
+ Assert.assertTrue(new Time(1000).greater(new Time(999)));
+ }
+
+ @Test
+ public void testGreaterEq() {
+ Assert.assertTrue(new Time(1000).greaterEq(new Time(1000)));
+ }
+
+ @Test
+ public void testPlus() {
+ Assert.assertEquals(new Time(1100), new Time(1000).plus(new Duration(100)));
+ }
+
+ @Test
+ public void testMinusTime() {
+ Assert.assertEquals(new Duration(900), new Time(1000).minus(new Time(100)));
+ }
+
+ @Test
+ public void testMinusDuration() {
+ Assert.assertEquals(new Time(900), new Time(1000).minus(new Duration(100)));
+ }
+
+}