37 lines
1.6 KiB
C#
37 lines
1.6 KiB
C#
namespace HSchool.Content.Tests;
|
|
|
|
public class MapViewTests
|
|
{
|
|
[Fact]
|
|
public void VanillaMap_LabelsTheTreeInTheRequestedLocale()
|
|
{
|
|
var root = Path.Combine(AppContext.BaseDirectory, "vanilla");
|
|
var documents = PackDocuments.FromDirectory(CatalogLoader.CorePackId, root);
|
|
var catalog = new CatalogLoader().Load([CatalogLoader.CorePackId], documents);
|
|
var map = CatalogLoader.LastDefaultMap([CatalogLoader.CorePackId], documents);
|
|
Assert.NotNull(map);
|
|
|
|
var ru = MapView.Build(catalog, map, "ru");
|
|
var en = MapView.Build(catalog, map, "en");
|
|
|
|
Assert.Equal(["yard", "main", "floor-1", "corridor-1", "principals-office"], ru.Select(node => node.Id));
|
|
Assert.Equal(string.Empty, ru[0].ParentId);
|
|
Assert.Equal("yard", ru.Single(node => node.Id == "main").ParentId);
|
|
Assert.Equal("floor-1", ru.Single(node => node.Id == "principals-office").ParentId);
|
|
|
|
var officeRu = ru.Single(node => node.Id == "principals-office");
|
|
Assert.Equal("Кабинет директора", officeRu.Name);
|
|
Assert.Equal(["Кресло директора", "Стол", "Стул"], officeRu.Items);
|
|
Assert.Equal(["Директор"], officeRu.Positions);
|
|
|
|
var officeEn = en.Single(node => node.Id == "principals-office");
|
|
Assert.Equal("Principal's office", officeEn.Name);
|
|
Assert.Equal(["Principal's chair", "Desk", "Chair"], officeEn.Items);
|
|
Assert.Equal(["Principal"], officeEn.Positions);
|
|
|
|
var corridor = ru.Single(node => node.Id == "corridor-1");
|
|
Assert.Empty(corridor.Items);
|
|
Assert.Empty(corridor.Positions);
|
|
}
|
|
}
|