This is an automated email from the ASF dual-hosted git repository.

randall pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-annotator.git

commit 83aa41fad279346173d41db30ab6cc5e4186d220
Author: Randall Leeds <rand...@apache.org>
AuthorDate: Sun Mar 11 21:46:39 2018 -0700

    Extract cartesian test into test file
---
 packages/range/src/cartesian.mjs  | 36 -----------------------------------
 packages/range/test/cartesian.mjs | 40 +++++++++++++++++++++++++++++++++++++++
 packages/range/test/index.mjs     |  0
 test/mocha.opts                   |  2 +-
 4 files changed, 41 insertions(+), 37 deletions(-)

diff --git a/packages/range/src/cartesian.mjs b/packages/range/src/cartesian.mjs
index a0b1a1f..1022556 100644
--- a/packages/range/src/cartesian.mjs
+++ b/packages/range/src/cartesian.mjs
@@ -53,39 +53,3 @@ export async function* product(...iterables) {
     yield* combinations;
   }
 }
-
-// eslint-disable-next-line no-unused-vars
-async function test() {
-  async function* gen1() {
-    yield 1;
-    yield Promise.resolve(2);
-    yield 3;
-  }
-
-  async function* gen2() {
-    yield 4;
-  }
-
-  async function* gen3() {
-    yield 5;
-    yield 6;
-  }
-
-  const cart = product(gen1(), gen2(), gen3());
-
-  // eslint-disable-next-line no-unused-vars
-  const expected = [
-    [1, 4, 5],
-    [2, 4, 5],
-    [3, 4, 5],
-    [1, 4, 6],
-    [2, 4, 6],
-    [3, 4, 6],
-  ];
-
-  const result = [];
-  for await (let value of cart) {
-    result.push(value);
-  }
-  // TODO assert that result equals expected.
-}
diff --git a/packages/range/test/cartesian.mjs 
b/packages/range/test/cartesian.mjs
new file mode 100644
index 0000000..aada1c0
--- /dev/null
+++ b/packages/range/test/cartesian.mjs
@@ -0,0 +1,40 @@
+import { product } from '../lib/cartesian.mjs';
+
+async function* gen1() {
+  yield 1;
+  yield Promise.resolve(2);
+  yield 3;
+}
+
+async function* gen2() {
+  yield 4;
+}
+
+async function* gen3() {
+  yield 5;
+  yield 6;
+}
+
+describe('cartesian', () => {
+  describe('product', () => {
+    it('yields the cartesian product of the yielded items', async () => {
+      const cart = product(gen1(), gen2(), gen3());
+
+      const expected = [
+        [1, 4, 5],
+        [2, 4, 5],
+        [3, 4, 5],
+        [1, 4, 6],
+        [2, 4, 6],
+        [3, 4, 6],
+      ];
+
+      const result = [];
+      for await (let value of cart) {
+        result.push(value);
+      }
+
+      assert.sameDeepMembers(expected, result, 'yields the expected items');
+    });
+  });
+});
diff --git a/packages/range/test/index.mjs b/packages/range/test/index.mjs
new file mode 100644
index 0000000..e69de29
diff --git a/test/mocha.opts b/test/mocha.opts
index 2f77d38..293695d 100644
--- a/test/mocha.opts
+++ b/test/mocha.opts
@@ -3,4 +3,4 @@
 -r chai/register-assert
 --recursive
 --watch-extensions mjs
-packages/*/test
+packages/*/test/**/*.mjs

-- 
To stop receiving notification emails like this one, please contact
rand...@apache.org.

Reply via email to