Files
RobustToolbox/Robust.Client.Tests/Graphics/TextureLoadParametersTest.cs
PJB3005 788e9386fd Split up test project
Robust.UnitTesting was both ALL tests for RT, and also API surface for content tests.

Tests are now split into separate projects as appropriate, and the API side has also been split off.
2025-12-16 01:36:53 +01:00

86 lines
2.9 KiB
C#

using NUnit.Framework;
using Robust.Shared.Graphics;
using YamlDotNet.RepresentationModel;
namespace Robust.Client.Tests.Graphics
{
[TestFixture]
internal sealed class TextureLoadParametersTest
{
[Test]
public void TestLoadEmptyYaml()
{
// Test whether it defaults for empty YAML.
var yaml = new YamlMappingNode();
var loaded = TextureLoadParameters.FromYaml(yaml);
var defaultParams = TextureLoadParameters.Default;
Assert.That(loaded.SampleParameters.Filter, Is.EqualTo(defaultParams.SampleParameters.Filter));
Assert.That(loaded.SampleParameters.WrapMode, Is.EqualTo(defaultParams.SampleParameters.WrapMode));
Assert.That(loaded.Srgb, Is.EqualTo(defaultParams.Srgb));
}
[Test]
public void TestLoadEmptySamplingYaml()
{
// Test whether it defaults for empty YAML.
var yaml = _getMapping("sample: {}\n");
var loaded = TextureLoadParameters.FromYaml(yaml);
var defaultParams = TextureLoadParameters.Default;
Assert.That(loaded.SampleParameters.Filter, Is.EqualTo(defaultParams.SampleParameters.Filter));
Assert.That(loaded.SampleParameters.WrapMode, Is.EqualTo(defaultParams.SampleParameters.WrapMode));
}
[Test]
public void TestLoadYamlOne()
{
var yaml = _getMapping(TestDataOne);
var loaded = TextureLoadParameters.FromYaml(yaml);
Assert.That(loaded.SampleParameters.Filter, Is.EqualTo(true));
Assert.That(loaded.SampleParameters.WrapMode, Is.EqualTo(TextureWrapMode.Repeat));
Assert.That(loaded.Srgb, Is.EqualTo(false));
}
[Test]
public void TestLoadYamlTwo()
{
var yaml = _getMapping(TestDataTwo);
var loaded = TextureLoadParameters.FromYaml(yaml);
Assert.That(loaded.SampleParameters.Filter, Is.EqualTo(false));
Assert.That(loaded.SampleParameters.WrapMode, Is.EqualTo(TextureWrapMode.MirroredRepeat));
}
[Test]
public void TestLoadYamlThree()
{
var yaml = _getMapping(TestDataThree);
var loaded = TextureLoadParameters.FromYaml(yaml);
Assert.That(loaded.SampleParameters.WrapMode, Is.EqualTo(TextureWrapMode.None));
}
private YamlMappingNode _getMapping(string data)
{
var yamlStream = new YamlStream();
yamlStream.Load(new StringReader(data));
return (YamlMappingNode) yamlStream.Documents[0].RootNode;
}
private const string TestDataOne = @"
sample:
filter: true
wrap: repeat
srgb: false
";
private const string TestDataTwo = @"
sample:
filter: false
wrap: mirrored_repeat
";
private const string TestDataThree = @"
sample:
wrap: none
";
}
}