using NUnit.Framework; using System.Linq; namespace UnityEditor.Rendering.Tests { class StringExtensionsTests { static TestCaseData[] s_Input = { new TestCaseData("A/B") .Returns("A_B") .SetName("Fogbugz - 1408027"), new TestCaseData("A" + new string(System.IO.Path.GetInvalidFileNameChars()) + "B") .Returns("A_B") .SetName("All Chars Replaced"), new TestCaseData("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ") .Returns("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ") .SetName("Nothing replaced") }; [Test, TestCaseSource(nameof(s_Input))] [Property("Fogbugz", "1408027")] public string ReplaceInvalidFileNameCharacters(string input) { return input.ReplaceInvalidFileNameCharacters(); } [Test] public void CheckExtensionTests( [Values("Folder1/file.testextension", "Folder1/file.TestExtension", "Folder1/file.TESTEXTENSION", "file.testextension", "Folder1/Folder2/Folder3/file.testextension")] string input, [Values(".testextension", ".TESTEXTENSION", ".TestExtension", ".wrong")]string extension) { bool expected = input.ToLower().EndsWith(extension.ToLower()); bool actual = input.HasExtension(extension); Assert.AreEqual(expected, actual); } } }