Add test coverage and handle null creator

This commit is contained in:
Dean Herbert 2020-04-22 09:19:34 +09:00
parent 0c74f1aaa9
commit 360c9f8e38
2 changed files with 66 additions and 1 deletions

View File

@ -0,0 +1,61 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using NUnit.Framework;
using osu.Game.Beatmaps;
using osu.Game.Users;
namespace osu.Game.Tests.Beatmaps
{
[TestFixture]
public class ToStringFormattingTest
{
[Test]
public void TestArtistTitle()
{
var beatmap = new BeatmapInfo
{
Metadata = new BeatmapMetadata
{
Artist = "artist",
Title = "title"
}
};
Assert.That(beatmap.ToString(), Is.EqualTo("artist - title"));
}
[Test]
public void TestArtistTitleCreator()
{
var beatmap = new BeatmapInfo
{
Metadata = new BeatmapMetadata
{
Artist = "artist",
Title = "title",
Author = new User { Username = "creator" }
}
};
Assert.That(beatmap.ToString(), Is.EqualTo("artist - title (creator)"));
}
[Test]
public void TestArtistTitleCreatorDifficulty()
{
var beatmap = new BeatmapInfo
{
Metadata = new BeatmapMetadata
{
Artist = "artist",
Title = "title",
Author = new User { Username = "creator" }
},
Version = "difficulty"
};
Assert.That(beatmap.ToString(), Is.EqualTo("artist - title (creator) [difficulty]"));
}
}
}

View File

@ -53,7 +53,11 @@ public string AuthorString
public string AudioFile { get; set; }
public string BackgroundFile { get; set; }
public override string ToString() => $"{Artist} - {Title} ({Author})";
public override string ToString()
{
string author = Author == null ? string.Empty : $"({Author})";
return $"{Artist} - {Title} {author}".Trim();
}
[JsonIgnore]
public string[] SearchableTerms => new[]