mirror of
https://github.com/ppy/osu.git
synced 2025-03-28 13:47:21 +08:00
Add test for hit objects
This commit is contained in:
parent
7a4501323b
commit
c39179d299
@ -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;
|
||||
@ -118,5 +120,24 @@ namespace osu.Game.Tests.Beatmaps.Formats
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user