chai-arrays 
優れた配列アサーションのためのシンプルなchaiプラグイン
インストール
npm install chai-arrays
使用方法
プラグイン
const chai = require('chai');
const assertArrays = require('chai-arrays');
chai.use(assertArrays);
配列
actual
のタイプがArray
であることをアサートします。
expect([1, 2, 3]).to.be.array();
expect('foobar').not.to.be.array();
expect(new Uint8Array([1])).to.be.Uint8Array();
expect(new Uint16Array([1])).to.be.Uint16Array();
expect(new Uint32Array([1])).to.be.Uint32Array();
expect(new Uint8ClampedArray([1])).to.be.Uint8ClampedArray();
ofSize
actual
のサイズがexpected
と等しいことをアサートします。
expect([1, 2, 3]).to.be.ofSize(3);
expect([1, 2, 3]).not.to.be.ofSize(5);
equalTo
actual
がexpected
と等しいことをアサートします。
expect([1, 2, 3]).to.be.equalTo([1, 2, 3]);
expect([1, 2, 3]).not.to.be.equalTo([1, 2, 5]);
containing
actual
がexpected
要素を含んでいることをアサートします。
expect([1, 2, 3]).to.be.containing(1);
expect([1, 2, 3]).not.to.be.containing(5);
containingAllOf
actual
が、expected
のすべての要素を含んでいることをアサートします。
expect([1, 2, 3]).to.be.containingAllOf([1]);
expect([1, 2, 3]).to.be.containingAllOf([1, 3]);
expect([1, 2, 3]).to.be.containingAllOf([1, 2, 3]);
containingAnyOf
actual
が、expected
のいずれかの要素を含んでいることをアサートします。
expect([1, 2, 3]).to.be.containingAnyOf([1]);
expect([1, 2, 3]).to.be.containingAnyOf([6, 7, 3, 5]);
expect([1, 2, 3]).to.be.containingAnyOf([1, 2, 3]);
sorted
actual
配列がソートされていることをアサートします。
expect([1, 2, 3]).to.be.sorted();
expect([1, 2, 4, 3]).not.to.be.sorted();
expect([3, 2, 1]).to.be.sorted((prev, next) => prev < next); // sorting based on the provided function
ライセンス
Copyright 2020 @ GaneshSPatil
Licensed 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
https://apache.dokyumento.jp/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.