MusicSheetCalculator_Test.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /**
  2. * Created by Matthias on 21.06.2016.
  3. */
  4. import {MusicSheetReader} from "../../../src/MusicalScore/ScoreIO/MusicSheetReader";
  5. import {MusicSheet} from "../../../src/MusicalScore/MusicSheet";
  6. import {IXmlElement} from "../../../src/Common/FileIO/Xml";
  7. import {MusicSheetCalculator} from "../../../src/MusicalScore/Graphical/MusicSheetCalculator";
  8. import {VexFlowMusicSheetCalculator} from "../../../src/MusicalScore/Graphical/VexFlow/VexFlowMusicSheetCalculator";
  9. import {GraphicalMusicSheet} from "../../../src/MusicalScore/Graphical/GraphicalMusicSheet";
  10. import {VexFlowTextMeasurer} from "../../../src/MusicalScore/Graphical/VexFlow/VexFlowTextMeasurer";
  11. import {TestUtils} from "../../Util/TestUtils";
  12. describe("Music Sheet Calculator Tests", () => {
  13. // Initialize variables
  14. let filename: string = "MuzioClementi_SonatinaOpus36No1_Part1";
  15. let reader: MusicSheetReader = new MusicSheetReader();
  16. let calculator: MusicSheetCalculator = new VexFlowMusicSheetCalculator();
  17. let score: IXmlElement;
  18. let sheet: MusicSheet;
  19. before((): void => {
  20. // ???
  21. });
  22. beforeEach((): void => {
  23. // ???
  24. });
  25. afterEach((): void => {
  26. // cleanup?
  27. });
  28. it("Do Calculation", (done: MochaDone) => {
  29. this.timeout = 10000;
  30. MusicSheetCalculator.TextMeasurer = new VexFlowTextMeasurer();
  31. // Load the XML file
  32. let xml: Document = TestUtils.getScore(filename);
  33. chai.expect(xml).to.not.be.undefined;
  34. score = new IXmlElement(TestUtils.getPartWiseElement(xml));
  35. chai.expect(score).to.not.be.undefined;
  36. sheet = reader.createMusicSheet(score, "path-of-" + filename);
  37. let graphicalSheet: GraphicalMusicSheet = new GraphicalMusicSheet(sheet, calculator);
  38. graphicalSheet.reCalculate();
  39. done();
  40. });
  41. });