Esempio n. 1
0
void fillChordDatabase()
{
	if (ChordNames.size()>0)
		return;
	ChordNames.add(ChordName(""             , "c,e,g"));     
	ChordNames.add(ChordName("5"			, "c,g"));
	ChordNames.add(ChordName("6(no3)"       , "c,g,a"));                 
	ChordNames.add(ChordName("Maj7"         , "c,e,g,b"));               
	ChordNames.add(ChordName("Maj7(#11)"    , "c,e,f#,b"));              
	ChordNames.add(ChordName("add9"         , "c,e,g,d"));               
	ChordNames.add(ChordName("Maj7(9)"      , "c,d,e,b"));               
	ChordNames.add(ChordName("6(9)"         , "c,d,e,a"));               
	ChordNames.add(ChordName("+"            , "c,e,g#"));                
	ChordNames.add(ChordName("m"            , "c,eb,g"));                
	ChordNames.add(ChordName("madd9"        , "c,eb,g,d"));              
	ChordNames.add(ChordName("m7"           , "c,eb,g,bb"));             
	ChordNames.add(ChordName("m7(9)"        , "c,d,eb,bb"));             
	ChordNames.add(ChordName("mMaj7"        , "c,eb,g,b"));              
	ChordNames.add(ChordName("mMaj7(9)"     , "c,d,eb,b"));              
	ChordNames.add(ChordName("dim"          , "c,eb,f#"));               
	ChordNames.add(ChordName("dim7"         , "c,eb,f#,a"));             
	ChordNames.add(ChordName("7"            , "c,e,g,bb"));              
	ChordNames.add(ChordName("7(no5)"       , "c,e,bb"));                
	ChordNames.add(ChordName("7sus4"        , "c,f,g,bb"));              
	ChordNames.add(ChordName("7(b5)"        , "c,e,f#,bb"));             
	ChordNames.add(ChordName("7(9)"         , "c,d,e,bb"));              
	ChordNames.add(ChordName("7(13)"        , "c,e,a,bb"));              
	ChordNames.add(ChordName("7(b9)"        , "c,c#,e,bb"));             
	ChordNames.add(ChordName("+7"			, "c,e,g#,bb"));    //7(b13)
	ChordNames.add(ChordName("7(#9)"        , "c,eb,e,bb"));             
	ChordNames.add(ChordName("sus4"         , "c,f,g"));                 
	ChordNames.add(ChordName("6add9"        , "c,e,g,a,d"));             
	ChordNames.add(ChordName("Maj9"         , "c,e,g,b,d"));             
	ChordNames.add(ChordName("9"            , "c,e,g,bb,d"));            
	ChordNames.add(ChordName("13"           , "c,e,g,bb,d,a"));          
	ChordNames.add(ChordName("13"           , "c,e,g,bb,d,f,a"));          
	ChordNames.add(ChordName("13"           , "c,e,bb,d,a"));          
	ChordNames.add(ChordName("m6"           , "c,eb,g,a"));              
	ChordNames.add(ChordName("m6add9"       , "c,eb,g,a,d"));            
	ChordNames.add(ChordName("m6/9"			, "c,eb,a,d"));              
	ChordNames.add(ChordName("m7add13"      , "c,eb,g,a,bb"));           
	ChordNames.add(ChordName("m9"           , "c,eb,g,bb,d"));           
	ChordNames.add(ChordName("m11"          , "c,eb,g,bb,d,f"));         
	ChordNames.add(ChordName("m11"          , "c,eb,bb,d,f"));         
	ChordNames.add(ChordName("m13"          , "c,eb,g,bb,d,f,a"));       
	ChordNames.add(ChordName("m9/Maj7"      , "c,eb,g,b,d"));            
	ChordNames.add(ChordName("m9(b5)"       , "c,eb,gb,bb,d"));          
	ChordNames.add(ChordName("m11(b5)"      , "c,eb,gb,bb,d,f"));        
	ChordNames.add(ChordName("Maj7(#5)"     , "c,e,g#,b"));              
	ChordNames.add(ChordName("Maj7(#11)"    , "c,e,g,b,f#"));            
	ChordNames.add(ChordName("Maj9(#11)"    , "c,e,g,b,d,f#"));          
	ChordNames.add(ChordName("7(b9)"        , "c,e,g,bb,db"));           
	ChordNames.add(ChordName("7(#9)"        , "c,e,g,bb,d#"));           
	ChordNames.add(ChordName("7(#5)(#9)"    , "c,e,g#,bb,d#"));          
	ChordNames.add(ChordName("7(#11)"       , "c,e,g,bb,f#"));           
	ChordNames.add(ChordName("9(#11)"       , "c,e,g,bb,d,f#"));         
	ChordNames.add(ChordName("7(b9)(#11)"   , "c,e,g,bb,db,f#"));        
	ChordNames.add(ChordName("13b5"         , "c,e,gb,bb,d,a"));         
	ChordNames.add(ChordName("13b5"         , "c,e,gb,bb,d,f,a"));         
	ChordNames.add(ChordName("13b9"         , "c,e,g,bb,db,a"));         
	ChordNames.add(ChordName("13b9"         , "c,e,g,bb,db,f,a"));         
	ChordNames.add(ChordName("13#11"        , "c,e,g,bb,d,f#,a"));       
	ChordNames.add(ChordName("7(no3)"       , "c,g,bb"));                
	ChordNames.add(ChordName("Maj7(no5)"    , "c,e,b"));      

	ChordNames.add(ChordName("13b5b9"		, "c,e,gb,bb,db,a"));
	ChordNames.add(ChordName("13b5b9"		, "c,e,gb,bb,db,f,a"));

	ChordNames.add(ChordName("7#9#11"		, "c,e,g,bb,d#,f#"));        
	ChordNames.add(ChordName("add#9"		, "c,e,g,d#"));               
	ChordNames.add(ChordName("addb9"		, "c,e,g,db"));               
	ChordNames.add(ChordName("11"			, "c,g,bb,d,f"));   
	ChordNames.add(ChordName("11"			, "c,e,g,bb,d,f"));   
	ChordNames.add(ChordName("add11"		, "c,e,g,f"));
	ChordNames.add(ChordName("Maj11"		, "c,e,g,b,d,f"));   
	ChordNames.add(ChordName("Maj7add11" 	, "c,e,g,b,f"));   
	ChordNames.add(ChordName("7add11"		, "c,e,g,bb,f"));  
	ChordNames.add(ChordName("m7b9"         , "c,eb,g,bb,db")); 
	ChordNames.add(ChordName("+Maj9"        , "c,e,g#,b,d")); 
	ChordNames.add(ChordName("+9"           , "c,e,g#,bb,d"));
	ChordNames.add(ChordName("mMaj11"       , "c,eb,g,b,d,f")); 
	ChordNames.add(ChordName("+Maj11"       , "c,e,g#,b,d,f")); 
	ChordNames.add(ChordName("+13"          , "c,e,g#,bb,d,f,a")); 
	ChordNames.add(ChordName("+Maj13"       , "c,e,g#,b,d,f,a")); 
	ChordNames.add(ChordName("Maj7sus4"		, "c,f,g,b"));        
	ChordNames.add(ChordName("Maj9sus4"		, "c,f,g,b,d")); 
	ChordNames.add(ChordName("7add13"		, "c,e,g,bb,a")); 
	ChordNames.add(ChordName("mMaj7add11"	, "c,eb,g,b,f")); 
	ChordNames.add(ChordName("7add11"		, "c,e,g,bb,f")); 

	//ChordNames.add(ChordName("(It+6)"		, "ab,c,f#"));   
	//ChordNames.add(ChordName("(Fr+6)"		, "ab,c,d,f#"));   
	//ChordNames.add(ChordName("(Gr+6)"		, "ab,c,eb,f#"));   

	//ChordNames.add(ChordName("Maj7aug"      , "c,e,g#,b"));              
	//ChordNames.add(ChordName("1+2+5"        , "c,d,g"));                 
	//ChordNames.add(ChordName("Maj7add(13) " , "c,e,g,a,b"));             
	//ChordNames.add(ChordName("Maj13"        , "c,e,g,b,d,a"));           
	//ChordNames.add(ChordName("m7add(11)"    , "c,eb,g,bb,f"));           
	//ChordNames.add(ChordName("m7(b5)"       , "c,eb,gb,bb"));            
	//ChordNames.add(ChordName("o7"           , "c,eb,gb,a"));             
	//ChordNames.add(ChordName("o7add(Maj7) " , "c,eb,gb,a,b"));           
	//ChordNames.add(ChordName("sus7"         , "c,f,g,bb"));              
	//ChordNames.add(ChordName("sus9"         , "c,f,g,bb,d"));            
	//ChordNames.add(ChordName("sus13"        , "c,f,g,bb,d,a"));          
	//ChordNames.add(ChordName("sus7"         , "c,g,bb"));                
	//ChordNames.add(ChordName("Maj7(b5)"     , "c,e,gb,b"));              
	//ChordNames.add(ChordName("Maj13(#11)"   , "c,e,g,b,d,f#,a"));        
	//ChordNames.add(ChordName("7(#5)"        , "c,e,g#,bb"));             
	//ChordNames.add(ChordName("9(#5)"        , "c,e,g#,bb,d"));           
	//ChordNames.add(ChordName("7(b5)(b9)"    , "c,e,gb,bb,db"));          
	//ChordNames.add(ChordName("7(#5)(b9)"    , "c,e,g#,bb,db"));          
	//ChordNames.add(ChordName("sus7(b9)"     , "c,f,g,bb,db"));           
	//ChordNames.add(ChordName("sus13(b9)"    , "c,f,g,bb,db,a"));         
	//ChordNames.add(ChordName("m7(no5)"      , "c,eb,bb"));               
}
/// Tests the Operators
/// @return True if all tests were executed, false if not
bool ScoreTestSuite::TestCaseOperator()
{
    //------Last Checked------//
    // - Jan 6, 2005
    
    // TEST CASE: Assignment Operator
    {
        Score score;
        score.m_guitarArray.Add(new Guitar);
        score.m_chordDiagramArray.Add(new ChordDiagram);
        score.m_floatingTextArray.Add(new FloatingText);
        score.m_guitarInArray.Add(new GuitarIn);
        score.m_tempoMarkerArray.Add(new TempoMarker);
        score.m_dynamicArray.Add(new Dynamic);
        score.m_alternateEndingArray.Add(new AlternateEnding);
        score.m_systemArray.Add(new System);
        
        Score score2 = score;
        TEST(wxT("Operator="), score2 == score);
        
        // TEST CASE: Operator= (self-assignment)
        score = score;
        TEST(wxT("Operator= (self-assignment)"),
            (score == score)
        );
    }
    
    // TEST CASE: Equality Operator
    {
        Score score;
        Score score2;
        
        Score score3;
        score3.m_guitarArray.Add(new Guitar(2));
        
        Score score4;
        score4.m_chordDiagramArray.Add(new ChordDiagram(ChordName(), 2, 1, 2, 3));
        
        Score score5;
        score5.m_floatingTextArray.Add(new FloatingText(wxT("Test"), wxRect(1,2,3,4), 0, FontSetting()));
        
        Score score6;
        score6.m_guitarInArray.Add(new GuitarIn(1,2,3,4,2));
        
        Score score7;
        score7.m_tempoMarkerArray.Add(new TempoMarker(1,2, 1, 1, wxT("Test")));
        
        Score score8;
        score8.m_dynamicArray.Add(new Dynamic(1,2,3,1,1));
        
        Score score9;
        score9.m_alternateEndingArray.Add(new AlternateEnding(1,2,12));
        
        Score score10;
        score10.m_systemArray.Add(new System);
        
        TEST(wxT("Operator== - score == score"), score == score2);
        TEST(wxT("Operator== - score != score"), !(score == score3));
        TEST(wxT("Operator== - score != score 2"), !(score == score4));
        TEST(wxT("Operator== - score != score 3"), !(score == score5));
        TEST(wxT("Operator== - score != score 4"), !(score == score6));
        TEST(wxT("Operator== - score != score 5"), !(score == score7));
        TEST(wxT("Operator== - score != score 6"), !(score == score8));
        TEST(wxT("Operator== - score != score 7"), !(score == score9));
        TEST(wxT("Operator== - score != score 8"), !(score == score10));
    }
    
    // TEST CASE: Inequality Operator
    {
        Score score;
        Score score2;
        
        Score score3;
        score3.m_guitarArray.Add(new Guitar(2));
        
        Score score4;
        score4.m_chordDiagramArray.Add(new ChordDiagram(ChordName(), 2, 1, 2, 3));
        
        Score score5;
        score5.m_floatingTextArray.Add(new FloatingText(wxT("Test"), wxRect(1,2,3,4), 0, FontSetting()));
        
        Score score6;
        score6.m_guitarInArray.Add(new GuitarIn(1,2,3,4,2));
        
        Score score7;
        score7.m_tempoMarkerArray.Add(new TempoMarker(1,2, 1, 120, wxT("Test")));
        
        Score score8;
        score8.m_dynamicArray.Add(new Dynamic(1,2,3,1,1));
        
        Score score9;
        score9.m_alternateEndingArray.Add(new AlternateEnding(1,2,12));
        
        Score score10;
        score10.m_systemArray.Add(new System);
        
        TEST(wxT("Operator!= - score == score"), !(score != score2));
        TEST(wxT("Operator!= - score != score"), (score != score3));
        TEST(wxT("Operator!= - score != score 2"), (score != score4));
        TEST(wxT("Operator!= - score != score 3"), (score != score5));
        TEST(wxT("Operator!= - score != score 4"), (score != score6));
        TEST(wxT("Operator!= - score != score 5"), (score != score7));
        TEST(wxT("Operator!= - score != score 6"), (score != score8));
        TEST(wxT("Operator!= - score != score 7"), (score != score9));
        TEST(wxT("Operator!= - score != score 8"), (score != score10));
    }
    
    return (true);
}