From 93ff75fe6b157f09c77b7493ef7257de1803298c Mon Sep 17 00:00:00 2001 From: Josh Goebel Date: Sun, 8 Mar 2020 00:48:24 -0500 Subject: [PATCH 1/3] improve zipper tests --- exercises/zipper/zipper.spec.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/exercises/zipper/zipper.spec.js b/exercises/zipper/zipper.spec.js index d3957e5431..8eb657253e 100644 --- a/exercises/zipper/zipper.spec.js +++ b/exercises/zipper/zipper.spec.js @@ -27,6 +27,36 @@ describe('Zipper', () => { zipper = Zipper.fromTree(t1); }); + test('left returns a new Zipper', () => { + let left = zipper.left(); + expect(left).not.toBe(zipper) + }) + + test('right returns a new Zipper', () => { + let right = zipper.right(); + expect(right).not.toBe(zipper) + }) + + test('setValue returns a new Zipper', () => { + let anotherZipper = zipper.setValue(99); + expect(anotherZipper).not.toBe(zipper) + }) + + test('setRight returns a new Zipper', () => { + let right = zipper.setRight(bt(55,null,null)); + expect(right).not.toBe(zipper) + }) + + test('setLeft returns a new Zipper', () => { + let left = zipper.setLeft(bt(55,null,null)); + expect(left).not.toBe(zipper) + }) + + test('up returns a new Zipper', () => { + let up = zipper.right().up(); + expect(zipper).not.toBe(up) + }) + test('data is retained', () => { expect(zipper.toTree()).toEqual(t1); }); From 7a4c8f3c2085b1220b9acfab5572ffeaa1d09af2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 16 Dec 2020 21:00:18 +0000 Subject: [PATCH 2/3] [CI] Format code --- exercises/zipper/zipper.spec.js | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/exercises/zipper/zipper.spec.js b/exercises/zipper/zipper.spec.js index 8eb657253e..8f74e0da9e 100644 --- a/exercises/zipper/zipper.spec.js +++ b/exercises/zipper/zipper.spec.js @@ -29,33 +29,33 @@ describe('Zipper', () => { test('left returns a new Zipper', () => { let left = zipper.left(); - expect(left).not.toBe(zipper) - }) + expect(left).not.toBe(zipper); + }); test('right returns a new Zipper', () => { let right = zipper.right(); - expect(right).not.toBe(zipper) - }) + expect(right).not.toBe(zipper); + }); test('setValue returns a new Zipper', () => { let anotherZipper = zipper.setValue(99); - expect(anotherZipper).not.toBe(zipper) - }) + expect(anotherZipper).not.toBe(zipper); + }); test('setRight returns a new Zipper', () => { - let right = zipper.setRight(bt(55,null,null)); - expect(right).not.toBe(zipper) - }) + let right = zipper.setRight(bt(55, null, null)); + expect(right).not.toBe(zipper); + }); test('setLeft returns a new Zipper', () => { - let left = zipper.setLeft(bt(55,null,null)); - expect(left).not.toBe(zipper) - }) + let left = zipper.setLeft(bt(55, null, null)); + expect(left).not.toBe(zipper); + }); test('up returns a new Zipper', () => { let up = zipper.right().up(); - expect(zipper).not.toBe(up) - }) + expect(zipper).not.toBe(up); + }); test('data is retained', () => { expect(zipper.toTree()).toEqual(t1); From 3138b47954783954b524251aad48e1b74afdfef1 Mon Sep 17 00:00:00 2001 From: Derk-Jan Karrenbeld Date: Thu, 24 Dec 2020 17:52:01 +0100 Subject: [PATCH 3/3] Move immutability tests to the bottom --- exercises/zipper/zipper.spec.js | 62 ++++++++++++++++----------------- 1 file changed, 30 insertions(+), 32 deletions(-) diff --git a/exercises/zipper/zipper.spec.js b/exercises/zipper/zipper.spec.js index 8f74e0da9e..6b8e773b9a 100644 --- a/exercises/zipper/zipper.spec.js +++ b/exercises/zipper/zipper.spec.js @@ -1,7 +1,5 @@ import { Zipper } from './zipper'; -// Tests adapted from `problem-specifications/zipper/canonical-data.json` @ v1.0.0 - function bt(value, left, right) { return { value, @@ -27,36 +25,6 @@ describe('Zipper', () => { zipper = Zipper.fromTree(t1); }); - test('left returns a new Zipper', () => { - let left = zipper.left(); - expect(left).not.toBe(zipper); - }); - - test('right returns a new Zipper', () => { - let right = zipper.right(); - expect(right).not.toBe(zipper); - }); - - test('setValue returns a new Zipper', () => { - let anotherZipper = zipper.setValue(99); - expect(anotherZipper).not.toBe(zipper); - }); - - test('setRight returns a new Zipper', () => { - let right = zipper.setRight(bt(55, null, null)); - expect(right).not.toBe(zipper); - }); - - test('setLeft returns a new Zipper', () => { - let left = zipper.setLeft(bt(55, null, null)); - expect(left).not.toBe(zipper); - }); - - test('up returns a new Zipper', () => { - let up = zipper.right().up(); - expect(zipper).not.toBe(up); - }); - test('data is retained', () => { expect(zipper.toTree()).toEqual(t1); }); @@ -104,4 +72,34 @@ describe('Zipper', () => { xtest('setValue on deep focus', () => { expect(zipper.left().right().setValue(5).toTree()).toEqual(t6); }); + + xtest('left returns a new Zipper', () => { + const left = zipper.left(); + expect(left).not.toBe(zipper); + }); + + xtest('right returns a new Zipper', () => { + const right = zipper.right(); + expect(right).not.toBe(zipper); + }); + + xtest('setValue returns a new Zipper', () => { + const anotherZipper = zipper.setValue(99); + expect(anotherZipper).not.toBe(zipper); + }); + + xtest('setRight returns a new Zipper', () => { + const right = zipper.setRight(bt(55, null, null)); + expect(right).not.toBe(zipper); + }); + + xtest('setLeft returns a new Zipper', () => { + const left = zipper.setLeft(bt(55, null, null)); + expect(left).not.toBe(zipper); + }); + + xtest('up returns a new Zipper', () => { + const up = zipper.right().up(); + expect(zipper).not.toBe(up); + }); });