MusicSheetCalculator_Test.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132
  1. import {MusicSheetReader} from "../../../src/MusicalScore/ScoreIO/MusicSheetReader";
  2. import {MusicSheet} from "../../../src/MusicalScore/MusicSheet";
  3. import {IXmlElement} from "../../../src/Common/FileIO/Xml";
  4. import {MusicSheetCalculator} from "../../../src/MusicalScore/Graphical/MusicSheetCalculator";
  5. import {VexFlowMusicSheetCalculator} from "../../../src/MusicalScore/Graphical/VexFlow/VexFlowMusicSheetCalculator";
  6. import {GraphicalMusicSheet} from "../../../src/MusicalScore/Graphical/GraphicalMusicSheet";
  7. import {VexFlowTextMeasurer} from "../../../src/MusicalScore/Graphical/VexFlow/VexFlowTextMeasurer";
  8. import {TestUtils} from "../../Util/TestUtils";
  9. /* tslint:disable:no-unused-expression */
  10. describe("Music Sheet Calculator", () => {
  11. const filename: string = "MuzioClementi_SonatinaOpus36No1_Part1.xml";
  12. const reader: MusicSheetReader = new MusicSheetReader();
  13. const calculator: MusicSheetCalculator = new VexFlowMusicSheetCalculator();
  14. let score: IXmlElement;
  15. let sheet: MusicSheet;
  16. it("calculates music sheet", (done: MochaDone) => {
  17. this.timeout = 10000;
  18. MusicSheetCalculator.TextMeasurer = new VexFlowTextMeasurer();
  19. // Load the XML file
  20. const xml: Document = TestUtils.getScore(filename);
  21. chai.expect(xml).to.not.be.undefined;
  22. score = new IXmlElement(TestUtils.getPartWiseElement(xml));
  23. chai.expect(score).to.not.be.undefined;
  24. sheet = reader.createMusicSheet(score, "path-of-" + filename);
  25. const graphicalSheet: GraphicalMusicSheet = new GraphicalMusicSheet(sheet, calculator);
  26. graphicalSheet.reCalculate();
  27. done();
  28. });
  29. });