/* -*- Mode: c++ -*- */ /*************************************************************************** * midimapparsertest.cc * * Wed Jul 25 20:37:23 CEST 2018 * Copyright 2018 Bent Bisballe Nyeng * deva@aasimon.org ****************************************************************************/ /* * This file is part of DrumGizmo. * * DrumGizmo is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * DrumGizmo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with DrumGizmo; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #include "dgunit.h" #include #include "scopedfile.h" class MidimapParserTest : public DGUnit { public: MidimapParserTest() { DGUNIT_TEST(MidimapParserTest::test); DGUNIT_TEST(MidimapParserTest::invalid); } void test() { ScopedFile scoped_file( "\n" \ "\n" \ " \n" \ " \n" \ " \n" \ " \n" \ " \n" \ ""); MidiMapParser parser; DGUNIT_ASSERT(parser.parseFile(scoped_file.filename())); DGUNIT_ASSERT(parser.midimap.find(54) != parser.midimap.end()); DGUNIT_ASSERT(parser.midimap.find(60) != parser.midimap.end()); DGUNIT_ASSERT(parser.midimap.find(55) != parser.midimap.end()); DGUNIT_ASSERT(parser.midimap.find(62) != parser.midimap.end()); DGUNIT_ASSERT(parser.midimap.find(56) != parser.midimap.end()); DGUNIT_ASSERT_EQUAL(std::string("Crash_left_tip"), parser.midimap[54]); DGUNIT_ASSERT_EQUAL(std::string("Crash_left_whisker"), parser.midimap[60]); DGUNIT_ASSERT_EQUAL(std::string("Crash_right_tip"), parser.midimap[55]); DGUNIT_ASSERT_EQUAL(std::string("Crash_right_whisker"), parser.midimap[62]); DGUNIT_ASSERT_EQUAL(std::string("Hihat_closed"), parser.midimap[56]); } void invalid() { ScopedFile scoped_file( "\n" \ "\n" \ " \n" \ " \n" \ " \n" \ " \n" \ ""); MidiMapParser parser; DGUNIT_ASSERT(!parser.parseFile(scoped_file.filename())); } }; // Registers the fixture into the 'registry' static MidimapParserTest test;