Skip to content

Commit

Permalink
Add RangeTests, see #77
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisklus committed Jan 7, 2019
1 parent a7a120d commit 4aa7d0a
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 0 deletions.
52 changes: 52 additions & 0 deletions js/RangeTests.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
// Copyright 2018, University of Colorado Boulder

/**
* Range tests
*
* @author Chris Klusendorf (PhET Interactive Simulations)
*/

define( require => {
'use strict';

// modules
const Range = require( 'DOT/Range' );

QUnit.module( 'Range' );

QUnit.test( 'constructor', assert => {
assert.ok( new Range( 1, 10 ), 'valid range' );
assert.ok( new Range( 10, 10 ), 'valid range' );
window.assert && assert.throws( () => {
new Range( 10, 1 ); // eslint-disable-line
}, 'invalid range, max < min' );
} );

QUnit.test( 'methods', assert => {

// test a valid and invalid setMin()
const range1 = new Range( 1, 10 );
range1.setMin( 9 );
assert.equal( range1.min, 9, 'setMin() succeeds when min < max' );
window.assert && assert.throws( () => { range1.setMin( 11 ); }, 'setMin() fails when min > max' );

// test a valid and invalid setMax()
const range2 = new Range( 1, 10 );
range2.setMax( 2 );
assert.equal( range2.max, 2, 'setMax() succeeds when max > min' );
window.assert && assert.throws( () => { range2.setMax( 0 ); }, 'setMax() fails when max < min' );

// test a true and false equals()
const range3 = new Range( 1, 10 );
const range4 = new Range( 1, 10 );
assert.ok( range3.equals( range4 ), 'equals() succeeds when range1 === range2' );
range4.setMin( 2 );
assert.notOk( range3.equals( range4 ), 'equals() fails when range1 !== range2' );

// test a valid and invalid setMinMax()
const range5 = new Range( 1, 10 );
range5.setMinMax( 2, 11 );
assert.ok( range5.equals( new Range( 2, 11 ) ), 'setMinMax() succeeds when min < max' );
window.assert && assert.throws( () => { range5.setMinMax( 10, 1 ); }, 'setMinMax() fails when min > max' );
} );
} );
1 change: 1 addition & 0 deletions js/dot-tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ define( function( require ) {
require( 'DOT/Matrix3Tests' );
require( 'DOT/MatrixOps3Tests' );
require( 'DOT/OpenRangeTests' );
require( 'DOT/RangeTests' );
require( 'DOT/UtilTests' );
require( 'DOT/Transform3Tests' );
require( 'DOT/LinearFunctionTests' );
Expand Down

0 comments on commit 4aa7d0a

Please sign in to comment.