Code Duplication    Length = 14-21 lines in 2 locations

spec/ArrayStoreException.spec.js 2 locations

@@ 140-160 (lines=21) @@
137
    it("should have all correct properties once instantiated", () => {
138
        const message = "asdf";
139
        const code    = Math.round(Math.random() * 0xFFFFFFFF);
140
        for (let i = 0; i < 2; i += 1) {
141
            const arg1    = (i % 2 === 0 ? message : null);
142
            const source1 = new ArrayStoreException(arg1);
143
            for (let j = 0; j < 2; j += 1) {
144
                const arg2    = (j % 2 === 0 ? code : null);
145
                const source2 = new ArrayStoreException(arg1, arg2);
146
                if (i % 2 === 0) {
147
                    expect(source1.message).toEqual(message);
148
                    expect(source2.message).toEqual(message);
149
                } else {
150
                    expect(source1.message).toEqual(ArrayStoreException.prototype.message);
151
                    expect(source2.message).toEqual(ArrayStoreException.prototype.message);
152
                }
153
                if (j % 2 === 0) {
154
                    expect(source2.code).toEqual(code);
155
                } else {
156
                    expect(source2.code).toBeNull();
157
                }
158
                expect(source1.code).toBeNull();
159
            }
160
        }
161
    });
162
163
    // :: MEMBER METHODS
@@ 197-210 (lines=14) @@
194
    });
195
196
    it("#native()", () => {
197
        for (let i = 0; i < 2; i += 1) {
198
            const arg1    = (i % 2 === 0 ? message : null);
199
            const source1 = new ArrayStoreException(arg1);
200
            for (let j = 0; j < 2; j += 1) {
201
                const arg2    = (j % 2 === 0 ? code : null);
202
                const source2 = new ArrayStoreException(arg1, arg2);
203
                const err1    = source1.native();
204
                const err2    = source2.native();
205
                const exp1    = (i % 2 === 0 ? message : ArrayStoreException.prototype.message);
206
                const exp2    = exp1;
207
                expect(err1).toEqual(new Error(exp1));
208
                expect(err2).toEqual(new Error(exp2));
209
            }
210
        }
211
    });
212
213
});