Chai Stats

Chai アサーションライブラリのための統計的および追加の数値アサーション。

インストール

Node.js

Chai スパイは npm で利用可能です。

  $ npm install chai-stats

ブラウザ

chai-stats.jschai.js の後に含めます。

<script src="chai-stats.js"></script>

プラグイン

ブラウザで chai-stats を使用している場合、何もする必要はありません。グローバル名前空間で chai を検出し、自動的に使用されます。

node を使用している場合は、便利なものがここにあります。

var chai = require('chai')
  , chaiStats = require('chai-stats');

chai.use(chaiStats);

var should = chai.should()
  , expect = chai.expect; 

API リファレンス

.almost.equal(expected, [precision])

NumPy の assert_almost_equal と同じで、スカラー用です。ほぼ等しいことをアサートします: abs(expected-actual) < 0.5 * 10**(-decimal)

expect(3.1415).to.almost.equal(3.14159, 3);
assert.almostEqual(3.1416, 3.14159, 3, 'these numbers are almost equal');

.deepAlmostEqual(actual, expected, [decimal, message])

NumPy の assert_almost_equal と同じで、すべての葉が数値であるオブジェクト用です。ほぼ等しいことをアサートします: すべての葉に対して、abs(expected-actual) < 0.5 * 10**(-decimal)

expect({ pi: 3.1416 }).to.almost.eql({ pi: 3.14159 }, 3);
assert.deepAlmostEqual({ pi: 3.1416 }, { pi: 3.14159 }, 3);

.sum

Chai のコアアサーションを使用して比較できるように、数値の配列の合計でアサーション対象を変更します。

expect([ 1, 2, 3 ]).to.have.sum.equal(6);
expect([ 1, 2, 3 ]).to.have.sum.above(5);
expect([ 1, 2, 3 ]).to.have.sum.below(7);

.mean

Chai のコアアサーションを使用して比較できるように、数値の配列の平均でアサーション対象を変更します。

expect([ 1, 2, 3 ]).to.have.mean.equal(2);
expect([ 1, 2, 3 ]).to.have.mean.above(1.5);
expect([ 1, 2, 3 ]).to.have.mean.below(2.5);

.deviation

Chai のコアアサーションを使用して比較できるように、数値の配列の標準偏差でアサーション対象を変更します。

expect([ 1, 2, 3, 4 ]).to.have.deviation.almost.equal(1.290, 2);

テスト

テストは、BDD インターフェースで mocha を使用して記述されています。Node テストは、make test を使用して実行できます。ブラウザテストは、test/browser/index.html を開くことで確認できます。

コントリビューター

 repo age : 3 months ago
 commits  : 21
 active   : 5 days
 files    : 14
 authors  :
    17  Jake Luer               81.0%
     4  josher19                19.0%

ライセンス

(The MIT License)

Copyright (c) 2012 Jake Luer jake@alogicalparadox.com

本ソフトウェアおよび関連ドキュメントファイル(以下「本ソフトウェア」)のコピーを入手するすべての人に対し、本ソフトウェアを制限なく(使用、コピー、変更、統合、公開、配布、サブライセンス、および/または本ソフトウェアのコピーの販売を含むが、これらに限定されない)取り扱うことを許可し、また、以下の条件に従うことを条件として、本ソフトウェアが提供される人に許可を与えるものとします。

上記著作権表示および本許可表示は、本ソフトウェアのすべてのコピーまたは実質的な部分に含まれるものとします。

本ソフトウェアは「現状のまま」で提供され、明示または黙示を問わず、商品性、特定目的への適合性、および非侵害の保証を含むがこれらに限定されない、いかなる種類の保証もありません。いかなる場合においても、著作者または著作権者は、契約、不法行為、またはその他を問わず、本ソフトウェアまたはその使用もしくはその他の取り扱いから生じる、またはそれらに関連して生じるいかなる請求、損害、またはその他の責任に対しても責任を負わないものとします。