示例#1
0
        public void TestGenerateMidi()
        {
            //string fileName = @"Tests\Passacaglia, Handel_Sample.mid";
            //string fileName = @"Tests\agnes-release_me.mid";
            string fileName = @"Tests\Passacaglia, Handel_Sample_Cubase_Format0.mid";

            var fileIn   = new FileInfo(fileName);
            var sequence = new MidiFileReader().GetSequence(fileIn);

            string outputTextPath = fileIn.Name + "_dump.txt";

            sequence.DumpMidi(outputTextPath);

            // Generate C# Code
            string outputCodePath = fileIn.Name + "_code.cs";

            sequence.SaveGenerateMidiCode(outputCodePath);

            if (!CompileAndRunSource(outputCodePath))
            {
                Assert.Fail("Could not compile and run generated code!");
            }

            // read the generated midi dump file and compare against original
            if (!FileCompare(outputTextPath, "generated_dump.txt"))
            {
                Assert.Fail("The midi dump files are different!");
            }

            // read the generated midi file and compare against original
            //if (!FileCompare(fileName, "generated.mid")) {
            //	Assert.Fail("The midi files are different!");
            //}

            Assert.Pass("The midi files are identical.");
        }