// =============================================================================
// =ALEKSI TESTS - SUBTRACT
// =============================================================================

@import "aleksi/math/subtract";

@include test-module('The subtract function')
{
  @include test('should calculate the difference between two numbers')
  {
    @include assert-equal( subtract(10, 5), 5 );
    @include assert-equal( subtract(10em, 5), 5em );
  }

  @include test('should calculate the diffence between multiple numbers successively')
  {
    @include assert-equal( subtract(10, 5, 3), 2 );
    @include assert-equal( subtract(10em, 5, 3em), 2em );
    @include assert-equal( subtract(10, 5, 3, 2, 1), -1 );
  }

  @include test('should warn and return null if one of the arguments is not a number nor null')
  {
    @include assert-equal( subtract(10, 'hello'), null );
    @include assert-equal( subtract(10, false), null );
    @include assert-equal( subtract(10 5, 3), null );
  }

  @include test('should ignore terms that are null')
  {
    @include assert-equal(subtract(null, 10, 5), subtract(10, 5));
    @include assert-equal(subtract(10, null, 5), subtract(10, 5));
  }

  @include test('should be aliased as diff')
  {
    @include assert-equal( subtract(10, 5), diff(10, 5) );
    @include assert-equal( subtract(10, 5, 3), diff(10, 5, 3) );
    @include assert-equal( subtract(10, 'hello'), diff(10, 'hello') );
  }
}