Code coverage report for sc/classlib/Math/Magnitude.js

Statements: 100% (29 / 29)      Branches: 100% (12 / 12)      Functions: 100% (13 / 13)      Lines: 100% (29 / 29)      Ignored: none     

All files » sc/classlib/Math/ » Magnitude.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 671     1   1   1 1 3     1 3     1 3     1 3     1 8     1 3     1     5 5     1     5 5     1     3     1     3     1     5 5        
SCScript.install(function(sc) {
  "use strict";
 
  require("../Core/Object");
 
  var $ = sc.lang.$;
 
  sc.lang.klass.refine("Magnitude", function(builder) {
    builder.addMethod("==", function($aMagnitude) {
      return $.Boolean(this.valueOf() === $aMagnitude.valueOf());
    });
 
    builder.addMethod("!=", function($aMagnitude) {
      return $.Boolean(this.valueOf() !== $aMagnitude.valueOf());
    });
 
    builder.addMethod("<", function($aMagnitude) {
      return $.Boolean(this < $aMagnitude);
    });
 
    builder.addMethod(">", function($aMagnitude) {
      return $.Boolean(this > $aMagnitude);
    });
 
    builder.addMethod("<=", function($aMagnitude) {
      return $.Boolean(this <= $aMagnitude);
    });
 
    builder.addMethod(">=", function($aMagnitude) {
      return $.Boolean(this >= $aMagnitude);
    });
 
    builder.addMethod("exclusivelyBetween", {
      args: "lo; hi"
    }, function($lo, $hi) {
      var value = this.valueOf(), lo = $lo.valueOf(), hi = $hi.valueOf();
      return $.Boolean(lo < value && value < hi);
    });
 
    builder.addMethod("inclusivelyBetween", {
      args: "lo; hi"
    }, function($lo, $hi) {
      var value = this.valueOf(), lo = $lo.valueOf(), hi = $hi.valueOf();
      return $.Boolean(lo <= value && value <= hi);
    });
 
    builder.addMethod("min", {
      args: "aMagnitude"
    }, function($aMagnitude) {
      return this.valueOf() <= $aMagnitude.valueOf() ? this : $aMagnitude;
    });
 
    builder.addMethod("max", {
      args: "aMagnitude"
    }, function($aMagnitude) {
      return this.valueOf() >= $aMagnitude.valueOf() ? this : $aMagnitude;
    });
 
    builder.addMethod("clip", {
      args: "lo; hi"
    }, function($lo, $hi) {
      var value = this.valueOf();
      return value <= $lo.valueOf() ? $lo : value >= $hi.valueOf() ? $hi : this;
    });
  });
});