it("should return length for stop when slice stop is null", () => {
   expect(slice({start:1, step:2}, 11)).to.be.deep.equal([1, 11, 2])
 })
 it("should return 1 for step when slice step is null", () => {
   expect(slice({start:1, stop:10}, 5)).to.be.deep.equal([1, 10, 1])
   expect(slice({start:1, stop:10}, 5)).to.be.deep.equal([1, 10, 1])
   expect(slice({start:1, stop:10}, 15)).to.be.deep.equal([1, 10, 1])
 })
 it("should return start, stop, end for slice object", () => {
   expect(slice({start:1, stop:10, step:2}, 5)).to.be.deep.equal([1, 10, 2])
   expect(slice({start:1, stop:10, step:2}, 5)).to.be.deep.equal([1, 10, 2])
   expect(slice({start:1, stop:10, step:2}, 15)).to.be.deep.equal([1, 10, 2])
 })
 it("should return 0 for start when slice start is null", () => {
   expect(slice({stop:10, step:2}, 5)).to.be.deep.equal([0, 10, 2])
   expect(slice({stop:10, step:2}, 5)).to.be.deep.equal([0, 10, 2])
   expect(slice({stop:10, step:2}, 15)).to.be.deep.equal([0, 10, 2])
 })
 it("should return [ind, ind+1, 1] for scalars", () => {
   expect(slice(0, 5)).to.be.deep.equal([0, 1, 1])
   expect(slice(10, 5)).to.be.deep.equal([10, 11, 1])
 })