Files
h-school/tests/HSchool.Content.Tests/TopicDefTests.cs
T

33 lines
1.1 KiB
C#

using HSchool.Content;
using HSchool.Content.Tests;
namespace HSchool.Content.Tests;
public class TopicDefTests
{
private readonly CatalogLoader _loader = new();
[Fact]
public void VanillaCore_LoadsTalkTopics()
{
var root = Path.Combine(AppContext.BaseDirectory, "vanilla");
var catalog = _loader.Load([CatalogLoader.CorePackId], PackDocuments.FromDirectory(CatalogLoader.CorePackId, root));
Assert.True(catalog.Topics.Count >= 8);
Assert.True(catalog.Topics.ContainsKey("TopicStudy"));
Assert.Contains("study", catalog.Topics["TopicStudy"].Tags);
}
[Fact]
public void CatalogWithoutTopics_ThrowsOnLoad()
{
var root = Path.Combine(AppContext.BaseDirectory, "vanilla");
var documents = PackDocuments.FromDirectory(CatalogLoader.CorePackId, root)
.Where(document => !document.RelativePath.Contains("defs/topics/", StringComparison.OrdinalIgnoreCase))
.ToList();
var ex = Assert.Throws<ContentLoadException>(() => _loader.Load([CatalogLoader.CorePackId], documents));
Assert.Contains("TopicDef", ex.Message, StringComparison.Ordinal);
}
}