fraction_Test.js 2.4 KB

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