58 lines
1.6 KiB
C#
58 lines
1.6 KiB
C#
using HSchool.Server.Game;
|
|
|
|
namespace HSchool.Server.Tests;
|
|
|
|
public class SwarmUiSettingsStoreTests
|
|
{
|
|
[Fact]
|
|
public void Resolve_UsesAgeRulePreset()
|
|
{
|
|
var config = SwarmUiConfigFile.CreateDefault();
|
|
var profile = config.Resolve(8, PortraitKind.Avatar);
|
|
|
|
Assert.Equal("child", profile.PresetId);
|
|
}
|
|
|
|
[Fact]
|
|
public void Resolve_FallsBackToActivePresetForAdults()
|
|
{
|
|
var config = SwarmUiConfigFile.CreateDefault();
|
|
var profile = config.Resolve(34, PortraitKind.Full);
|
|
|
|
Assert.Equal("default", profile.PresetId);
|
|
}
|
|
|
|
[Fact]
|
|
public void NormalizeAfterLoad_MigratesLegacyFlatFile()
|
|
{
|
|
var config = new SwarmUiConfigFile
|
|
{
|
|
Model = "legacy.safetensors",
|
|
Steps = 12,
|
|
Positive = "legacy prompt",
|
|
Avatar = new SwarmUiKindPreset { Width = 640, Height = 640 },
|
|
};
|
|
|
|
config.NormalizeAfterLoad();
|
|
|
|
Assert.Single(config.Presets);
|
|
Assert.Equal("default", config.Presets[0].Id);
|
|
Assert.Equal("legacy.safetensors", config.Presets[0].Model);
|
|
Assert.Equal(12, config.Presets[0].Steps);
|
|
}
|
|
|
|
[Fact]
|
|
public void Clone_IsIndependentOfTheSource()
|
|
{
|
|
var source = SwarmUiConfigFile.CreateDefault();
|
|
source.Presets[0].Model = "mutated.safetensors";
|
|
|
|
var copy = SwarmUiConfigFile.Clone(source);
|
|
copy.Presets[0].Model = "other.safetensors";
|
|
|
|
Assert.Equal("mutated.safetensors", source.Presets[0].Model);
|
|
Assert.Equal("other.safetensors", copy.Presets[0].Model);
|
|
Assert.Equal(source.ActivePresetId, copy.ActivePresetId);
|
|
}
|
|
}
|