You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
3.1 KiB
70 lines
3.1 KiB
using StabilityMatrix.Core.Models; |
|
|
|
namespace StabilityMatrix.Tests.Models; |
|
|
|
[TestClass] |
|
public class GenerationParametersTests |
|
{ |
|
[TestMethod] |
|
public void TestParse() |
|
{ |
|
const string data = """ |
|
test123 |
|
Negative prompt: test, easy negative |
|
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 3589107295, Size: 1024x1028, Model hash: 9aa0c3e54d, Model: nightvisionXL_v0770_BakedVAE, VAE hash: 235745af8d, VAE: sdxl_vae.safetensors, Style Selector Enabled: True, Style Selector Randomize: False, Style Selector Style: base, Version: 1.6.0 |
|
"""; |
|
|
|
Assert.IsTrue(GenerationParameters.TryParse(data, out var result)); |
|
|
|
Assert.AreEqual("test123", result.PositivePrompt); |
|
Assert.AreEqual("test, easy negative", result.NegativePrompt); |
|
Assert.AreEqual(20, result.Steps); |
|
Assert.AreEqual("Euler a", result.Sampler); |
|
Assert.AreEqual(7, result.CfgScale); |
|
Assert.AreEqual(3589107295, result.Seed); |
|
Assert.AreEqual(1024, result.Width); |
|
Assert.AreEqual(1028, result.Height); |
|
Assert.AreEqual("9aa0c3e54d", result.ModelHash); |
|
Assert.AreEqual("nightvisionXL_v0770_BakedVAE", result.ModelName); |
|
} |
|
|
|
[TestMethod] |
|
public void TestParse_NoNegative() |
|
{ |
|
const string data = """ |
|
test123 |
|
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 3589107295, Size: 1024x1028, Model hash: 9aa0c3e54d, Model: nightvisionXL_v0770_BakedVAE, VAE hash: 235745af8d, VAE: sdxl_vae.safetensors, Style Selector Enabled: True, Style Selector Randomize: False, Style Selector Style: base, Version: 1.6.0 |
|
"""; |
|
|
|
Assert.IsTrue(GenerationParameters.TryParse(data, out var result)); |
|
|
|
Assert.AreEqual("test123", result.PositivePrompt); |
|
Assert.IsNull(result.NegativePrompt); |
|
Assert.AreEqual(20, result.Steps); |
|
Assert.AreEqual("Euler a", result.Sampler); |
|
Assert.AreEqual(7, result.CfgScale); |
|
Assert.AreEqual(3589107295, result.Seed); |
|
Assert.AreEqual(1024, result.Width); |
|
Assert.AreEqual(1028, result.Height); |
|
Assert.AreEqual("9aa0c3e54d", result.ModelHash); |
|
Assert.AreEqual("nightvisionXL_v0770_BakedVAE", result.ModelName); |
|
} |
|
|
|
[TestMethod] |
|
public void TestParseLineFields() |
|
{ |
|
const string lastLine = |
|
@"Steps: 30, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 2216407431, Size: 640x896, Model hash: eb2h052f91, Model: anime_v1"; |
|
|
|
var fields = GenerationParameters.ParseLine(lastLine); |
|
|
|
Assert.AreEqual(7, fields.Count); |
|
Assert.AreEqual("30", fields["Steps"]); |
|
Assert.AreEqual("DPM++ 2M Karras", fields["Sampler"]); |
|
Assert.AreEqual("7", fields["CFG scale"]); |
|
Assert.AreEqual("2216407431", fields["Seed"]); |
|
Assert.AreEqual("640x896", fields["Size"]); |
|
Assert.AreEqual("eb2h052f91", fields["Model hash"]); |
|
Assert.AreEqual("anime_v1", fields["Model"]); |
|
} |
|
}
|
|
|