Best JavaScript code snippet using chai
matrix-qc.js
Source:matrix-qc.js
...66 }67 var IDENTITY_MATRIX = {a:1, b: 0, c: 0, d: 1, tx: 0, ty: 0};68 var counts = {};69 var ratio = 5/100; // At most every 5th is allowed to fail.70 function assertMost(propName, testCase, result) {71 if (typeof counts[propName]=='undefined') {72 counts[propName] = {passes:0, failed:0};73 }74 var c = counts[propName];75 if (result) {76 c.passes++;77 } else {78 c.failed++;79 }80 testCase.assert(c.failed/c.passes < ratio);81 }82 qc.declare(83 'it should instantiate correctly',84 [matrixGenerator(10)],85 function(testCase, m) {86 var matrix = toMatrix(m);87 testCase.assert(equals(matrix, m));88 }89 );90 qc.declare(91 'it should `concat()` two matrices correctly',92 [matrixGenerator(10), matrixGenerator(10)],93 function(testCase, m, n) {94 var matrix = toMatrix(m);95 var refMatrix = toGoogleMatrix(matrix);96 testCase.assert(equals(97 matrix.concat(toMatrix(n)),98 fromGoogleMatrix(refMatrix.multiply(toGoogleMatrix(n)))99 ));100 }101 );102 qc.declare(103 '`identity()` should reset each matrix to identity',104 [matrixGenerator(10)],105 function(testCase, m) {106 var matrix = toMatrix(m).identity();107 testCase.assert(equals(matrix, IDENTITY_MATRIX));108 }109 );110 qc.declare(111 '`invert()` should invert a matrix',112 [matrixGenerator(10)],113 function(testCase, m) {114 var matrix = toMatrix(m);115 var m1 = matrix.invert();116 var m2 = fromGoogleMatrix(toGoogleMatrix(m).getInverse());117 assertMost(this.name, testCase, matrixEquals(m1, m2, 1e-10));118 }119 );120 qc.declare(121 '`invert().invert()` should be the original',122 [matrixGenerator(10)],123 function(testCase, m) {124 var matrix = toMatrix(m);125 var m1 = matrix.invert().invert();126 testCase.assert(matrixEquals(matrix, m1, 1e-10));127 }128 );129 qc.declare(130 'A matrix concated with itself `invert()`ed should be identity',131 [matrixGenerator(10)],132 function(testCase, m) {133 var matrix = toMatrix(m);134 var inversion = matrix.clone().invert();135 assertMost(this.name, testCase, matrixEquals(136 matrix.concat(inversion),137 IDENTITY_MATRIX,138 1e-11139 ));140 }141 );142 qc.declare(143 '`rotate()` should apply the rotation correctly',144 [matrixGenerator(10), radGenerator(8)],145 function(testCase, m, r) {146 var matrix = toMatrix(m).rotate(r);147 var cos = Math.cos(r), sin = Math.sin(r);148 var refMatrix = toGoogleMatrix(m);149 var rotationMatrix = toGoogleMatrix({a: cos, b: sin, c: -sin, d: cos, tx: 0, ty: 0});150 testCase.assert(matrixEquals(151 matrix,152 fromGoogleMatrix(refMatrix.multiply(rotationMatrix)),153 1e-11154 ));155 }156 );157 qc.declare(158 '`scale()` should apply the scale correctly',159 [matrixGenerator(10), scaleGenerator, scaleGenerator],160 function(testCase, m, x, y) {161 var matrix = toMatrix(m).scale(x, y);162 var refMatrix = toGoogleMatrix(m);163 var scaleMatrix = toGoogleMatrix({a: x, b: 0, c: 0, d: y, tx: 0, ty: 0});164 testCase.assert(matrixEquals(165 matrix,166 fromGoogleMatrix(refMatrix.multiply(scaleMatrix))167 ));168 }169 );170 qc.declare(171 '`createBox()` should work like calling identity(), rotation(), scale() ' +172 'and translate() in succession',173 [174 scaleGenerator,175 scaleGenerator,176 radGenerator(10),177 qc.generator.number.integerRanges(-1000, 1000),178 qc.generator.number.integerRanges(-1000, 1000)179 ],180 function(testCase, scaleX, scaleY, rotation, tx, ty) {181 var matrix = new Matrix().createBox(scaleX, scaleY, rotation, tx, ty);182 var refMatrix = new Matrix().183 identity().184 rotate(rotation).185 scale(scaleX, scaleY).186 translate(tx, ty);187 assertMost(this.name, testCase, equals(matrix, refMatrix));188 }189 );...
Using AI Code Generation
1const chai = require('chai');2const assert = chai.assert;3const expect = chai.expect;4const should = chai.should();5const chaiAlmost = require('chai-almost');6chai.use(chaiAlmost(0.01));7const chai = require('chai');8const assert = chai.assert;9const expect = chai.expect;10const should = chai.should();11const chaiAlmost = require('chai-almost');12chai.use(chaiAlmost(0.01));13const chai = require('chai');14const assert = chai.assert;15const expect = chai.expect;16const should = chai.should();17const chaiAlmost = require('chai-almost');18chai.use(chaiAlmost(0.01));19const chai = require('chai');20const assert = chai.assert;21const expect = chai.expect;22const should = chai.should();23const chaiAlmost = require('chai-almost');24chai.use(chaiAlmost(0.01));25const chai = require('chai');26const assert = chai.assert;27const expect = chai.expect;28const should = chai.should();29const chaiAlmost = require('chai-almost');30chai.use(chaiAlmost(0.01));31const chai = require('chai');32const assert = chai.assert;33const expect = chai.expect;34const should = chai.should();35const chaiAlmost = require('chai-almost');36chai.use(chaiAlmost(0.01));37const chai = require('chai');38const assert = chai.assert;39const expect = chai.expect;40const should = chai.should();41const chaiAlmost = require('chai-almost');42chai.use(chaiAlmost(0.01));43const chai = require('chai');44const assert = chai.assert;45const expect = chai.expect;46const should = chai.should();47const chaiAlmost = require('chai-almost');48chai.use(chaiAlmost(0.01));49const chai = require('chai');50const assert = chai.assert;51const expect = chai.expect;52const should = chai.should();53const chaiAlmost = require('chai-almost');54chai.use(chaiAlmost(0.01));
Using AI Code Generation
1const chai = require('chai');2const assert = chai.assert;3const expect = chai.expect;4const should = chai.should();5const chaiAlmost = require('chai-almost');6chai.use(chaiAlmost(0.1));7describe('chai assert', function() {8 it('should use assertAlmost', function() {9 assert.almostEqual(0.5, 0.51);10 assert.notAlmostEqual(0.5, 0.6);11 });12 it('should use expectAlmost', function() {13 expect(0.5).to.be.almost.equal(0.51);14 expect(0.5).to.not.be.almost.equal(0.6);15 });16 it('should use shouldAlmost', function() {17 0.5.should.be.almost.equal(0.51);18 0.5.should.not.be.almost.equal(0.6);19 });20});21const chai = require('chai');22const assert = chai.assert;23const expect = chai.expect;24const should = chai.should();25const chaiAlmost = require('chai-almost');26chai.use(chaiAlmost(0.1));27describe('chai assert', function() {28 it('should use assertAlmost', function() {29 assert.almostEqual(0.5, 0.51);30 assert.notAlmostEqual(0.5, 0.6);31 });32 it('should use expectAlmost', function() {33 expect(0.5).to.be.almost.equal(0.51);34 expect(0.5).to.not.be.almost.equal(0.6);35 });36 it('should use shouldAlmost', function() {37 0.5.should.be.almost.equal(0.51);38 0.5.should.not.be.almost.equal(0.6);39 });40});41const chai = require('chai');42const assert = chai.assert;43const expect = chai.expect;44const should = chai.should();45const chaiAlmost = require('chai-almost');46chai.use(chaiAlmost(0.1));47describe('chai assert', function() {48 it('should use assertAlmost', function() {49 assert.almostEqual(0.5, 0.51);50 assert.notAlmostEqual(0.5, 0.6);51 });52 it('should
Using AI Code Generation
1var assert = require('chai').assert;2var assertMost = require('chai-most');3assertMost(assert, 1);4describe('Array', function() {5 describe('#indexOf()', function() {6 it('should return -1 when the value is not present', function() {7 assertMost.equal([1, 2, 3].indexOf(4), -1);8 });9 });10});
Using AI Code Generation
1var chai = require('chai');2var assert = chai.assert;3var expect = chai.expect;4var should = chai.should();5var calculator = require('../calculator.js');6describe('addition', function() {7 it('should return 6 for add(2,4)', function() {8 expect(calculator.add(2,4)).to.equal(6);9 });10 it('should return 5 for add(2,3)', function() {11 expect(calculator.add(2,3)).to.equal(5);12 });13 it('should return 10 for add(5,5)', function() {14 expect(calculator.add(5,5)).to.equal(10);15 });16 it('should return 0 for add(0,0)', function() {17 expect(calculator.add(0,0)).to.equal(0);18 });19 it('should return 5 for add(5,0)', function() {20 expect(calculator.add(5,0)).to.equal(5);21 });22 it('should return 5 for add(0,5)', function() {23 expect(calculator.add(0,5)).to.equal(5);24 });25 it('should return 3 for add(1.5,1.5)', function() {
Using AI Code Generation
1const chai = require('chai');2const assert = chai.assert;3const expect = chai.expect;4const should = chai.should();5const assertMost = require('../index');6chai.use(assertMost);7describe('assertMost', function() {8 describe('most', function() {9 it('should return the most common value', function() {10 assertMost.most([1, 2, 2, 3, 3, 3]).should.equal(3);11 });12 });13 describe('least', function() {14 it('should return the least common value', function() {15 assertMost.least([1, 2, 2, 3, 3, 3]).should.equal(1);16 });17 });18 describe('mostCount', function() {19 it('should return the count of the most common value', function() {20 assertMost.mostCount([1, 2, 2, 3, 3, 3]).should.equal(3);21 });22 });23 describe('leastCount', function() {24 it('should return the count of the least common value', function() {25 assertMost.leastCount([1, 2, 2, 3, 3, 3]).should.equal(1);26 });27 });28 describe('mostAndLeast', function() {29 it('should return an array of the most and least common values', function() {30 assertMost.mostAndLeast([1, 2, 2, 3, 3, 3]).should.eql([3, 1]);31 });32 });33 describe('mostAndLeastCount', function() {34 it('should return an array of the count of the most and least common values', function() {35 assertMost.mostAndLeastCount([1, 2, 2, 3, 3, 3]).should.eql([3, 1]);36 });37 });38 describe('mostAndLeastCountAndValues', function() {39 it('should return an array of the count of the most and least common values and the values', function() {40 assertMost.mostAndLeastCountAndValues([1, 2, 2, 3, 3, 3]).should.eql([3, 3, 1, 1]);41 });42 });43 describe('mostAndLeastCountAndValues', function()
Using AI Code Generation
1var assert = require('chai').assert;2var assertMost = require('chai-assert-most');3assertMost(assert, 5);4assert.most(10, 5);5assert.most(5, 5);6assert.most(5, 10);
Using AI Code Generation
1var chai = require('chai');2var assert = chai.assert;3var assertMost = function (actual, expected, delta) {4 var pass = (actual <= expected + delta) && (actual >= expected - delta);5 assert(pass, actual + ' is not most ' + expected + ' +/- ' + delta);6};7assertMost(1.5, 1, 0.5);8assertMost(1.5, 1, 0.4);9assertMost(1.5, 1, 0.6);10var chai = require('chai');11var assert = chai.assert;12var assertMost = function (actual, expected, delta) {13 var pass = (actual <= expected + delta) && (actual >= expected - delta);14 assert(pass, actual + ' is not most ' + expected + ' +/- ' + delta);15};16assertMost(1.5, 1, 0.5);17assertMost(1.5, 1, 0.4);18assertMost(1.5, 1, 0.6);19var chai = require('chai');20var assert = chai.assert;21var assertMost = function (actual, expected, delta) {22 var pass = (actual <= expected + delta) && (actual >= expected - delta);23 assert(pass, actual + ' is not most ' + expected + ' +/- ' + delta);24};25assertMost(1.5, 1, 0.5);26assertMost(1.5, 1, 0.4);27assertMost(1.5, 1, 0.6);
Using AI Code Generation
1var assert = require('chai').assert;2var assertMost = require('chai-most');3assertMost(assert);4describe('assertMost', function() {5 it('should pass', function() {6 assert.most(4, 5);7 });8});9var assert = require('chai').assert;10var assertMost = require('chai-most');11assertMost(assert);12describe('assertMost', function() {13 it('should pass', function() {14 assert.most(4, 5);15 });16});17var assert = require('chai').assert;18var assertMost = require('chai-most');19assertMost(assert);20describe('assertMost', function() {21 it('should pass', function() {22 assert.most(4, 5);23 });24});25var assert = require('chai').assert;26var assertMost = require('chai-most');27assertMost(assert);28describe('assertMost', function() {29 it('should pass', function() {30 assert.most(4, 5);31 });32});33var assert = require('chai').assert;34var assertMost = require('chai-most');35assertMost(assert);36describe('assertMost', function() {37 it('should pass', function() {38 assert.most(4, 5);39 });40});41var assert = require('chai').assert;42var assertMost = require('chai-most');43assertMost(assert);44describe('assertMost', function() {45 it('should pass', function() {46 assert.most(4, 5);47 });48});49var assert = require('chai').assert;50var assertMost = require('chai-most');51assertMost(assert);52describe('assertMost', function() {53 it('should pass', function() {54 assert.most(4, 5);55 });56});57var assert = require('chai').assert;58var assertMost = require('chai-most');59assertMost(assert);60describe('assertMost', function() {61 it('should pass', function() {62 assert.most(4, 5
Using AI Code Generation
1var chai = require('chai');2var expect = chai.expect;3var assert = chai.assert;4var should = chai.should();5describe('type of variable', function () {6 it('should return the type of the variable', function () {7 var type = typeof 3;8 expect(type).to.equal('number');9 });10});11describe('length of variable', function () {12 it('should return the length of the variable', function () {13 var length = 'hello'.length;14 expect(length).to.equal(5);15 });16});17describe('value of variable', function () {18 it('should return the value of the variable', function () {19 var value = 3;20 expect(value).to.equal(3);21 });22});23describe('equality of variable', function () {24 it('should return the equality of the variable', function () {25 var value = 3;26 expect(value).to.equal(3);27 });28});29describe('inequality of variable', function () {30 it('should return the inequality of the variable', function () {31 var value = 3;32 expect(value).to.not.equal(5);33 });34});35describe('greater than of variable', function () {36 it('should return the greater than of the variable', function () {37 var value = 3;38 expect(value).to.be.greaterThan(2);39 });40});41describe('greater than or equal to of variable', function () {42 it('should return the greater than or equal to of the variable', function () {43 var value = 3;44 expect(value).to.be.greaterThan(2);45 });46});47describe('less than of variable', function () {48 it('should return the less than of the variable', function () {49 var value = 3;50 expect(value).to.be.lessThan(4);51 });52});53describe('less
Using AI Code Generation
1var assert = require('chai').assert;2var assertMost = require('chai-assertmost');3assert.use(assertMost);4describe('Array', function() {5 describe('#indexOf()', function() {6 it('should return -1 when the value is not present', function() {7 assert.equal([1,2,3].indexOf(4), 1);8 });9 });10});
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!