Update tests

This commit is contained in:
Paul Ferrand 2020-03-29 19:34:45 +02:00
parent 9e824df346
commit 5d499fb563
2 changed files with 42 additions and 34 deletions

View file

@ -152,37 +152,37 @@ TEST_CASE("[Files] Full hierarchy")
synth.loadSfzFile(fs::current_path() / "tests/TestFiles/basic_hierarchy.sfz"); synth.loadSfzFile(fs::current_path() / "tests/TestFiles/basic_hierarchy.sfz");
REQUIRE(synth.getNumRegions() == 8); REQUIRE(synth.getNumRegions() == 8);
for (int i = 0; i < synth.getNumRegions(); ++i) { for (int i = 0; i < synth.getNumRegions(); ++i) {
REQUIRE(synth.getRegionView(i)->width == 40.0f); REQUIRE(synth.getRegionView(i)->width == 0.4_a);
} }
REQUIRE(synth.getRegionView(0)->pan == 30.0f); REQUIRE(synth.getRegionView(0)->pan == 0.3_a);
REQUIRE(synth.getRegionView(0)->delay == 67); REQUIRE(synth.getRegionView(0)->delay == 67);
REQUIRE(synth.getRegionView(0)->keyRange == sfz::Range<uint8_t>(60, 60)); REQUIRE(synth.getRegionView(0)->keyRange == sfz::Range<uint8_t>(60, 60));
REQUIRE(synth.getRegionView(1)->pan == 30.0f); REQUIRE(synth.getRegionView(1)->pan == 0.3_a);
REQUIRE(synth.getRegionView(1)->delay == 67); REQUIRE(synth.getRegionView(1)->delay == 67);
REQUIRE(synth.getRegionView(1)->keyRange == sfz::Range<uint8_t>(61, 61)); REQUIRE(synth.getRegionView(1)->keyRange == sfz::Range<uint8_t>(61, 61));
REQUIRE(synth.getRegionView(2)->pan == 30.0f); REQUIRE(synth.getRegionView(2)->pan == 0.3_a);
REQUIRE(synth.getRegionView(2)->delay == 56); REQUIRE(synth.getRegionView(2)->delay == 56);
REQUIRE(synth.getRegionView(2)->keyRange == sfz::Range<uint8_t>(50, 50)); REQUIRE(synth.getRegionView(2)->keyRange == sfz::Range<uint8_t>(50, 50));
REQUIRE(synth.getRegionView(3)->pan == 30.0f); REQUIRE(synth.getRegionView(3)->pan == 0.3_a);
REQUIRE(synth.getRegionView(3)->delay == 56); REQUIRE(synth.getRegionView(3)->delay == 56);
REQUIRE(synth.getRegionView(3)->keyRange == sfz::Range<uint8_t>(51, 51)); REQUIRE(synth.getRegionView(3)->keyRange == sfz::Range<uint8_t>(51, 51));
REQUIRE(synth.getRegionView(4)->pan == -10.0f); REQUIRE(synth.getRegionView(4)->pan == -0.1_a);
REQUIRE(synth.getRegionView(4)->delay == 47); REQUIRE(synth.getRegionView(4)->delay == 47);
REQUIRE(synth.getRegionView(4)->keyRange == sfz::Range<uint8_t>(40, 40)); REQUIRE(synth.getRegionView(4)->keyRange == sfz::Range<uint8_t>(40, 40));
REQUIRE(synth.getRegionView(5)->pan == -10.0f); REQUIRE(synth.getRegionView(5)->pan == -0.1_a);
REQUIRE(synth.getRegionView(5)->delay == 47); REQUIRE(synth.getRegionView(5)->delay == 47);
REQUIRE(synth.getRegionView(5)->keyRange == sfz::Range<uint8_t>(41, 41)); REQUIRE(synth.getRegionView(5)->keyRange == sfz::Range<uint8_t>(41, 41));
REQUIRE(synth.getRegionView(6)->pan == -10.0f); REQUIRE(synth.getRegionView(6)->pan == -0.1_a);
REQUIRE(synth.getRegionView(6)->delay == 36); REQUIRE(synth.getRegionView(6)->delay == 36);
REQUIRE(synth.getRegionView(6)->keyRange == sfz::Range<uint8_t>(30, 30)); REQUIRE(synth.getRegionView(6)->keyRange == sfz::Range<uint8_t>(30, 30));
REQUIRE(synth.getRegionView(7)->pan == -10.0f); REQUIRE(synth.getRegionView(7)->pan == -0.1_a);
REQUIRE(synth.getRegionView(7)->delay == 36); REQUIRE(synth.getRegionView(7)->delay == 36);
REQUIRE(synth.getRegionView(7)->keyRange == sfz::Range<uint8_t>(31, 31)); REQUIRE(synth.getRegionView(7)->keyRange == sfz::Range<uint8_t>(31, 31));
} }

View file

@ -452,66 +452,63 @@ TEST_CASE("[Region] Parsing opcodes")
{ {
REQUIRE(region.pan == 0.0f); REQUIRE(region.pan == 0.0f);
region.parseOpcode({ "pan", "4.2" }); region.parseOpcode({ "pan", "4.2" });
REQUIRE(region.pan == 4.2f); REQUIRE(region.pan == 0.042_a);
region.parseOpcode({ "pan", "-4.2" }); region.parseOpcode({ "pan", "-4.2" });
REQUIRE(region.pan == -4.2f); REQUIRE(region.pan == -0.042_a);
region.parseOpcode({ "pan", "-123" }); region.parseOpcode({ "pan", "-123" });
REQUIRE(region.pan == -100.0f); REQUIRE(region.pan == -1.0_a);
region.parseOpcode({ "pan", "132" }); region.parseOpcode({ "pan", "132" });
REQUIRE(region.pan == 100.0f); REQUIRE(region.pan == 1.0_a);
} }
SECTION("pan_oncc") SECTION("pan_oncc")
{ {
REQUIRE(!region.panCC); REQUIRE(region.panCC.empty());
region.parseOpcode({ "pan_oncc45", "4.2" }); region.parseOpcode({ "pan_oncc45", "4.2" });
REQUIRE(region.panCC); REQUIRE(region.panCC.contains(45));
REQUIRE(region.panCC->cc == 45); REQUIRE(region.panCC[45] == 0.042_a);
REQUIRE(region.panCC->value == 4.2f);
} }
SECTION("width") SECTION("width")
{ {
REQUIRE(region.width == 100.0f); REQUIRE(region.width == 1.0_a);
region.parseOpcode({ "width", "4.2" }); region.parseOpcode({ "width", "4.2" });
REQUIRE(region.width == 4.2f); REQUIRE(region.width == 0.042_a);
region.parseOpcode({ "width", "-4.2" }); region.parseOpcode({ "width", "-4.2" });
REQUIRE(region.width == -4.2f); REQUIRE(region.width == -0.042_a);
region.parseOpcode({ "width", "-123" }); region.parseOpcode({ "width", "-123" });
REQUIRE(region.width == -100.0f); REQUIRE(region.width == -1.0_a);
region.parseOpcode({ "width", "132" }); region.parseOpcode({ "width", "132" });
REQUIRE(region.width == 100.0f); REQUIRE(region.width == 1.0_a);
} }
SECTION("width_oncc") SECTION("width_oncc")
{ {
REQUIRE(!region.widthCC); REQUIRE(region.widthCC.empty());
region.parseOpcode({ "width_oncc45", "4.2" }); region.parseOpcode({ "width_oncc45", "4.2" });
REQUIRE(region.widthCC); REQUIRE(region.widthCC.contains(45));
REQUIRE(region.widthCC->cc == 45); REQUIRE(region.widthCC[45] == 0.042_a);
REQUIRE(region.widthCC->value == 4.2f);
} }
SECTION("position") SECTION("position")
{ {
REQUIRE(region.position == 0.0f); REQUIRE(region.position == 0.0f);
region.parseOpcode({ "position", "4.2" }); region.parseOpcode({ "position", "4.2" });
REQUIRE(region.position == 4.2f); REQUIRE(region.position == 0.042_a);
region.parseOpcode({ "position", "-4.2" }); region.parseOpcode({ "position", "-4.2" });
REQUIRE(region.position == -4.2f); REQUIRE(region.position == -0.042_a);
region.parseOpcode({ "position", "-123" }); region.parseOpcode({ "position", "-123" });
REQUIRE(region.position == -100.0f); REQUIRE(region.position == -1.0_a);
region.parseOpcode({ "position", "132" }); region.parseOpcode({ "position", "132" });
REQUIRE(region.position == 100.0f); REQUIRE(region.position == 1.0_a);
} }
SECTION("position_oncc") SECTION("position_oncc")
{ {
REQUIRE(!region.positionCC); REQUIRE(region.positionCC.empty());
region.parseOpcode({ "position_oncc45", "4.2" }); region.parseOpcode({ "position_oncc45", "4.2" });
REQUIRE(region.positionCC); REQUIRE(region.positionCC.contains(45));
REQUIRE(region.positionCC->cc == 45); REQUIRE(region.positionCC[45] == 0.042_a);
REQUIRE(region.positionCC->value == 4.2f);
} }
SECTION("amp_keycenter") SECTION("amp_keycenter")
@ -1431,6 +1428,17 @@ TEST_CASE("[Region] Parsing opcodes")
REQUIRE(region.selfMask == SfzSelfMask::dontMask); REQUIRE(region.selfMask == SfzSelfMask::dontMask);
} }
SECTION("amplitude")
{
REQUIRE(region.amplitude == 1.0_a );
region.parseOpcode({ "amplitude", "40" });
REQUIRE(region.amplitude == 0.4_a );
region.parseOpcode({ "amplitude", "-40" });
REQUIRE(region.amplitude == 0_a );
region.parseOpcode({ "amplitude", "140" });
REQUIRE(region.amplitude == 1.0_a );
}
SECTION("amplitude_cc") SECTION("amplitude_cc")
{ {
REQUIRE(region.amplitudeCC.empty()); REQUIRE(region.amplitudeCC.empty());