mirror of
https://github.com/MaSzyna-EU07/StarterNG.git
synced 2026-11-05 21:29:09 +01:00
Star favourite sceneries in the list
A right click stars or unstars the scenery under it; the starred ones are gathered in a group on top and marked where they belong. They are kept in favorites.txt beside the settings, not in eu07.ini.
This commit is contained in:
38
StarterNG.Tests/FavoriteSceneriesTests.cs
Normal file
38
StarterNG.Tests/FavoriteSceneriesTests.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using StarterNG.Application;
|
||||
using StarterNG.Domain.Sceneries;
|
||||
using StarterNG.Tests.Fakes;
|
||||
|
||||
namespace StarterNG.Tests;
|
||||
|
||||
public class FavoriteSceneriesTests
|
||||
{
|
||||
private const string FavoritesPath = "/home/user/.config/MaSzyna/favorites.txt";
|
||||
|
||||
[Fact]
|
||||
public void A_starred_scenery_stays_starred_after_a_restart()
|
||||
{
|
||||
var installation = new TestInstallation(new InMemoryFileSystem()
|
||||
.WithLegacyFile(TestInstallation.At("scenery", "td.scn"), "//$n Testowa"));
|
||||
var scenery = Assert.Single(installation.Sceneries.LoadAll());
|
||||
|
||||
new FavoriteSceneries(installation.Files, installation.Log, FavoritesPath).Toggle(scenery);
|
||||
var restarted = new FavoriteSceneries(installation.Files, installation.Log, FavoritesPath);
|
||||
|
||||
Assert.True(restarted.Contains(scenery));
|
||||
Assert.Equal("td.scn", installation.Files.ReadAllText(FavoritesPath));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Starring_again_unstars()
|
||||
{
|
||||
var installation = new TestInstallation(new InMemoryFileSystem()
|
||||
.WithLegacyFile(TestInstallation.At("scenery", "td.scn"), "//$n Testowa"));
|
||||
var scenery = Assert.Single(installation.Sceneries.LoadAll());
|
||||
var favorites = new FavoriteSceneries(installation.Files, installation.Log, FavoritesPath);
|
||||
|
||||
favorites.Toggle(scenery);
|
||||
favorites.Toggle(scenery);
|
||||
|
||||
Assert.False(favorites.Contains(scenery));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user