Browse Source

Refactor test

Andrea Condoluci 9 years ago
parent
commit
485c4248b5

+ 6 - 11
src/MusicalScore/MusicSheet.ts

@@ -32,7 +32,6 @@ export class PlaybackSettings {
     public rhythm: Fraction;
     public rhythm: Fraction;
 }
 }
 
 
-
 export class MusicSheet /*implements ISettableMusicSheet, IComparable<MusicSheet>*/ {
 export class MusicSheet /*implements ISettableMusicSheet, IComparable<MusicSheet>*/ {
     constructor() {
     constructor() {
         // (*) try {
         // (*) try {
@@ -79,6 +78,7 @@ export class MusicSheet /*implements ISettableMusicSheet, IComparable<MusicSheet
     // (*) private musicSheetParameterObject: MusicSheetParameterObject = undefined;
     // (*) private musicSheetParameterObject: MusicSheetParameterObject = undefined;
     // (*) private engravingRules: EngravingRules;
     // (*) private engravingRules: EngravingRules;
     // (*) private musicSheetParameterChangedDelegate: MusicSheetParameterChangedDelegate;
     // (*) private musicSheetParameterChangedDelegate: MusicSheetParameterChangedDelegate;
+
     public static getIndexFromStaff(staff: Staff): number {
     public static getIndexFromStaff(staff: Staff): number {
         return staff.idInMusicSheet;
         return staff.idInMusicSheet;
     }
     }
@@ -243,11 +243,7 @@ export class MusicSheet /*implements ISettableMusicSheet, IComparable<MusicSheet
         }
         }
     }
     }
     public getStaffFromIndex(staffIndexInMusicSheet: number): Staff {
     public getStaffFromIndex(staffIndexInMusicSheet: number): Staff {
-        if (this.staves.length > staffIndexInMusicSheet) {
-            return this.staves[staffIndexInMusicSheet];
-        } else {
-            return undefined;
-        }
+        return this.staves[staffIndexInMusicSheet];
     }
     }
     public fillStaffList(): void {
     public fillStaffList(): void {
         let i: number = 0;
         let i: number = 0;
@@ -403,10 +399,10 @@ export class MusicSheet /*implements ISettableMusicSheet, IComparable<MusicSheet
 
 
     }
     }
     public get CurrentEnrolledPosition(): Fraction {
     public get CurrentEnrolledPosition(): Fraction {
-        return this.currentEnrolledPosition;
+        return this.currentEnrolledPosition.clone();
     }
     }
     public set CurrentEnrolledPosition(value: Fraction) {
     public set CurrentEnrolledPosition(value: Fraction) {
-        this.currentEnrolledPosition = Fraction.CreateFractionFromFraction(value);
+        this.currentEnrolledPosition = value.clone();
     }
     }
     public get Transpose(): number {
     public get Transpose(): number {
         return this.transpose;
         return this.transpose;
@@ -478,10 +474,9 @@ export class MusicSheet /*implements ISettableMusicSheet, IComparable<MusicSheet
         }
         }
         return this.findSourceMeasureFromTimeStamp(timeStamp);
         return this.findSourceMeasureFromTimeStamp(timeStamp);
     }
     }
-    public findSourceMeasureFromTimeStamp(timeStamp: Fraction): SourceMeasure {
+    public findSourceMeasureFromTimeStamp(timestamp: Fraction): SourceMeasure {
         for (let sm of this.SourceMeasures) {
         for (let sm of this.SourceMeasures) {
-            // FIXME: bug?
-            if (timeStamp.lte(sm.AbsoluteTimestamp) && timeStamp.lt(Fraction.plus(sm.AbsoluteTimestamp, sm.Duration))) {
+            if (sm.AbsoluteTimestamp.lte(timestamp) && timestamp.lt(Fraction.plus(sm.AbsoluteTimestamp, sm.Duration))) {
                 return sm;
                 return sm;
             }
             }
         }
         }

+ 1 - 2
src/MusicalScore/VoiceData/SourceMeasure.ts

@@ -278,8 +278,7 @@ export class SourceMeasure {
     }
     }
     public getEntriesPerStaff(staffIndex: number): SourceStaffEntry[] {
     public getEntriesPerStaff(staffIndex: number): SourceStaffEntry[] {
         let sourceStaffEntries: SourceStaffEntry[] = [];
         let sourceStaffEntries: SourceStaffEntry[] = [];
-        for (let idx: number = 0, len: number = this.VerticalSourceStaffEntryContainers.length; idx < len; ++idx) {
-            let container: VerticalSourceStaffEntryContainer = this.VerticalSourceStaffEntryContainers[idx];
+        for (let container of this.VerticalSourceStaffEntryContainers) {
             let sse: SourceStaffEntry = container[staffIndex];
             let sse: SourceStaffEntry = container[staffIndex];
             if (sse !== undefined) { sourceStaffEntries.push(sse); }
             if (sse !== undefined) { sourceStaffEntries.push(sse); }
         }
         }

+ 7 - 4
test/MusicalScore/ScoreIO/MusicSheetReader.ts

@@ -2,10 +2,12 @@ import {MusicSheetReader} from "../../../src/MusicalScore/ScoreIO/MusicSheetRead
 import {MusicSheet} from "../../../src/MusicalScore/MusicSheet";
 import {MusicSheet} from "../../../src/MusicalScore/MusicSheet";
 import {IXmlElement} from "../../../src/Common/FileIO/Xml";
 import {IXmlElement} from "../../../src/Common/FileIO/Xml";
 
 
+// Fixture has no typings yet, thus declare it as 'any'
 declare var fixture: any;
 declare var fixture: any;
 
 
 describe("Music Sheet Reader Tests", () => {
 describe("Music Sheet Reader Tests", () => {
-    // Initialization
+
+    // Initialize variables
     let path: string = "/test/data/MuzioClementi_SonatinaOpus36No1_Part1.xml";
     let path: string = "/test/data/MuzioClementi_SonatinaOpus36No1_Part1.xml";
     let reader: MusicSheetReader = new MusicSheetReader();
     let reader: MusicSheetReader = new MusicSheetReader();
     let root: IXmlElement;
     let root: IXmlElement;
@@ -15,8 +17,9 @@ describe("Music Sheet Reader Tests", () => {
         fixture.setBase("base");
         fixture.setBase("base");
     });
     });
 
 
+    // Load the xml files
     beforeEach((): void => {
     beforeEach((): void => {
-      this.result = fixture.load(path);
+      fixture.load(path);
       // console.log(this.result[0].length, typeof this.result, typeof this.result[0], this.result[0].substr, this.result[0].getElementById);
       // console.log(this.result[0].length, typeof this.result, typeof this.result[0], this.result[0].substr, this.result[0].getElementById);
       let container: Element = document.getElementById("fixture_container");
       let container: Element = document.getElementById("fixture_container");
       let documentElement: IXmlElement = new IXmlElement(container);
       let documentElement: IXmlElement = new IXmlElement(container);
@@ -40,7 +43,7 @@ describe("Music Sheet Reader Tests", () => {
         // chai.expect(root.element("part").elements("measure").length).to.equal(38);
         // chai.expect(root.element("part").elements("measure").length).to.equal(38);
         chai.expect(sheet.SourceMeasures.length).to.equal(38);
         chai.expect(sheet.SourceMeasures.length).to.equal(38);
         console.log("First Measure: ", sheet.SourceMeasures[0]);
         console.log("First Measure: ", sheet.SourceMeasures[0]);
-        //console.log("Notes on first Measure: ", sheet.SourceMeasures[0].VerticalSourceStaffEntryContainers[0].StaffEntries[0]);
+        // console.log("Notes on first Measure: ", sheet.SourceMeasures[0].VerticalSourceStaffEntryContainers[0].StaffEntries[0]);
         // chai.expect(sheet.)
         // chai.expect(sheet.)
         done();
         done();
     });
     });
@@ -50,7 +53,7 @@ describe("Music Sheet Reader Tests", () => {
         chai.expect(reader.CompleteNumberOfStaves).to.equal(2);
         chai.expect(reader.CompleteNumberOfStaves).to.equal(2);
         chai.expect(sheet.Instruments.length).to.equal(2);
         chai.expect(sheet.Instruments.length).to.equal(2);
         chai.expect(sheet.InstrumentalGroups.length).to.equal(2);
         chai.expect(sheet.InstrumentalGroups.length).to.equal(2);
-        console.log(sheet.SheetErrors);
+        console.log("SheetErrors: ", sheet.SheetErrors);
         chai.expect(sheet.Instruments[0].Name).to.equal("Piano (right)");
         chai.expect(sheet.Instruments[0].Name).to.equal("Piano (right)");
         chai.expect(sheet.Instruments[1].Name).to.equal("Piano (left)");
         chai.expect(sheet.Instruments[1].Name).to.equal("Piano (left)");
         done();
         done();