1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-22 02:57:19 +08:00

Add test for hit objects

This commit is contained in:
Drew DeVault 2016-10-10 13:08:07 -04:00
parent 8f32284c0d
commit b8b0e0047e
2 changed files with 30 additions and 9 deletions

View File

@ -1,8 +1,10 @@
using System;
using System.IO;
using NUnit.Framework;
using OpenTK;
using OpenTK.Graphics;
using osu.Game.Beatmaps.Formats;
using osu.Game.Beatmaps.Objects.Osu;
using osu.Game.Beatmaps.Samples;
using osu.Game.GameModes.Play;
using osu.Game.Tests.Resources;
@ -37,8 +39,8 @@ namespace osu.Game.Tests.Beatmaps.Formats
Assert.AreEqual("Renatus", meta.Title);
Assert.AreEqual("Renatus", meta.TitleUnicode);
}
}
}
[Test]
public void TestDecodeGeneral()
{
@ -55,8 +57,8 @@ namespace osu.Game.Tests.Beatmaps.Formats
Assert.AreEqual(false, beatmap.LetterboxInBreaks);
Assert.AreEqual(false, beatmap.WidescreenStoryboard);
}
}
}
[Test]
public void TestDecodeEditor()
{
@ -78,8 +80,8 @@ namespace osu.Game.Tests.Beatmaps.Formats
Assert.AreEqual(4, beatmap.GridSize);
Assert.AreEqual(2, beatmap.TimelineZoom);
}
}
}
[Test]
public void TestDecodeDifficulty()
{
@ -95,8 +97,8 @@ namespace osu.Game.Tests.Beatmaps.Formats
Assert.AreEqual(1.8f, difficulty.SliderMultiplier);
Assert.AreEqual(2, difficulty.SliderTickRate);
}
}
}
[Test]
public void TestDecodeColors()
{
@ -117,6 +119,25 @@ namespace osu.Game.Tests.Beatmaps.Formats
for (int i = 0; i < expected.Length; i++)
Assert.AreEqual(expected[i], beatmap.ComboColors[i]);
}
}
[Test] public void TestDecodeHitObjects()
{
var decoder = new OsuLegacyDecoder();
using (var stream = Resource.OpenResource("Soleily - Renatus (Gamu) [Insane].osu"))
{
var beatmap = decoder.Decode(new StreamReader(stream));
var slider = beatmap.HitObjects[0] as Slider;
Assert.IsNotNull(slider);
Assert.AreEqual(new Vector2(192, 168), slider.Position);
Assert.AreEqual(956, slider.StartTime);
Assert.AreEqual(SampleType.None, slider.Sample.Type);
var circle = beatmap.HitObjects[1] as Circle;
Assert.IsNotNull(circle);
Assert.AreEqual(new Vector2(304, 56), circle.Position);
Assert.AreEqual(1285, circle.StartTime);
Assert.AreEqual(SampleType.Clap, circle.Sample.Type);
}
}
}
}

View File

@ -44,7 +44,7 @@ namespace osu.Game.Beatmaps.Objects.Osu
}
result.Position = new Vector2(int.Parse(split[0]), int.Parse(split[1]));
result.StartTime = double.Parse(split[2]);
result.Sample = new HitSampleInfo { Type = (SampleType)int.Parse(split[3]) };
result.Sample = new HitSampleInfo { Type = (SampleType)int.Parse(split[4]) };
result.NewCombo = combo;
// TODO: "addition" field
return result;