Conversion mappings are a way to extract per-hitobject information from osu!stable, which can then be compared against osu!lazer to make sure that hitobjects are created correctly.
Generating the mappings
- Change to the
Cutting Edge
release stream.
- Create a beatmap which demonstrates the test case scenario.
- Select the beatmap in song select.
- Open Options and click the "Generate conversion mappings" button at the bottom.
Click the "Open osu! folder" button in Options, and you should see a new folder named "ConversionMappings".
The mappings are output per-ruleset, as a json + beatmap pair. For example:
1162021.osu
1162021-expected-conversion.json
Rename these files to something which describes the test case. Do not remove -expected-conversion
.
Using the mappings
Copy both files into the ./Resources/Testing/Beatmaps
situated in every ruleset project in osu!lazer.
Open the <Ruleset>BeatmapConversionTest.cs
file in the relevant ruleset's test project, and add a new testcase attribute to the Test(string name)
method, with the file name as the argument. For example:
[TestCase("1162021")]
public new void Test(string name)
{
base.Test(name);
}