fraction_Test.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. "use strict";
  2. /**
  3. * Created by Oliver on 16.03.2016.
  4. */
  5. var fraction_1 = require("../../../src/Common/DataObjects/fraction");
  6. var Dictionary_1 = require("typescript-collections/dist/lib/Dictionary");
  7. var Logging_1 = require("../../../src/Common/Logging");
  8. describe("Fraction Unit Tests:", function () {
  9. describe("Construct Fraction, check properties", function () {
  10. var f1 = new fraction_1.Fraction(2, 6);
  11. it("Numerator and Denominator", function (done) {
  12. chai.expect(f1.Numerator).to.equal(1);
  13. chai.expect(f1.Denominator).to.equal(3);
  14. done();
  15. });
  16. it("Real value", function (done) {
  17. chai.expect(f1.RealValue).to.equal(1 / 3);
  18. done();
  19. });
  20. });
  21. describe("Compare fractions", function () {
  22. var f1;
  23. var f2;
  24. var rand = function () {
  25. return Math.floor(Math.random() * 500) + 1;
  26. };
  27. it("lt attribute", function (done) {
  28. for (var i = 0; i < 10; i += 1) {
  29. f1 = new fraction_1.Fraction(rand(), rand());
  30. f2 = new fraction_1.Fraction(rand(), rand());
  31. chai.expect(f1.lt(f2)).to.equal(f1.RealValue < f2.RealValue);
  32. }
  33. done();
  34. });
  35. });
  36. // Todo: remove when typescript porting phase 2 is done an project is compiling properly again
  37. describe("blablabla", function () {
  38. var dict = new Dictionary_1.default();
  39. // new Collections.Dictionary<Fraction, Fraction>(
  40. // function(f: Fraction): string {
  41. // return f.toString();
  42. // });
  43. var keys = [];
  44. var values = [];
  45. for (var i = 0; i < 10; ++i) {
  46. keys.push(new fraction_1.Fraction(1, i));
  47. values.push(new fraction_1.Fraction(i, 1));
  48. dict.setValue(keys[i], values[i]);
  49. }
  50. it("retrieved fractions should be equal", function (done) {
  51. for (var i = 9; i > -1; --i) {
  52. var key = keys[i];
  53. var value = values[i];
  54. //console.log(values[i].toString() + "== " + dict.getValue(key));
  55. Logging_1.Logging.debug(values[i].toString() + "== " + dict.getValue(new fraction_1.Fraction(key.Numerator, key.Denominator)));
  56. // chai.expect(dict.getValue(key)).to.equal(value);
  57. chai.expect(dict.getValue(new fraction_1.Fraction(key.Numerator, key.Denominator))).to.equal(value);
  58. }
  59. done();
  60. });
  61. });
  62. });