From ba7e2e344293e8beaffcc73324d82d0288bfba95 Mon Sep 17 00:00:00 2001 From: NRG-Drink Date: Mon, 19 May 2025 11:21:32 +0200 Subject: [PATCH] test: refine category and resource online test (+fix resource test) --- Ical.Net.Tests/SymmetricSerializationTests.cs | 34 +++++++++++++------ 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/Ical.Net.Tests/SymmetricSerializationTests.cs b/Ical.Net.Tests/SymmetricSerializationTests.cs index 2a6d2c4f6..eb0ddd54b 100644 --- a/Ical.Net.Tests/SymmetricSerializationTests.cs +++ b/Ical.Net.Tests/SymmetricSerializationTests.cs @@ -238,39 +238,53 @@ public static IEnumerable UriAttachment_TestCases() yield return new TestCaseData("\\\\uncPath\\to\\resource.txt", new Uri("\\\\uncPath\\to\\resource.txt")).SetName("UNC path URL"); } - [TestCase("Foo", "Bar", "Baz")] - [TestCase("Hello", "World", null)] - public void CategoriesTest(string cat1, string cat2, string cat3) + [Test, TestCaseSource(nameof(CategoryTest_TestCases))] + public void CategoriesTest(string[] categories) { var vEvent = GetSimpleEvent(); - vEvent.Categories = [cat1, cat2, cat3]; + vEvent.Categories = categories; var c = new Calendar(); c.Events.Add(vEvent); var serialized = SerializeToString(c); var categoriesCount = Regex.Matches(serialized, "CATEGORIES").Count; Assert.That(categoriesCount, Is.EqualTo(1)); - Assert.That(serialized, Does.Contain($"CATEGORIES:{string.Join(",", vEvent.Categories)}")); + var catString = $"CATEGORIES:{string.Join(",", categories.OfType())}"; + Assert.That(serialized, Does.Contain(catString)); var deserialized = UnserializeCalendar(serialized); Assert.That(deserialized, Is.EqualTo(c)); } - [TestCase("Foo", "Bar", "Baz")] - [TestCase("Hello", "World", null)] - public void ResourceTest(string cat1, string cat2, string cat3) + private static IEnumerable CategoryTest_TestCases() + { + yield return new string[] { "Foo", "Bar", "Baz" }; + yield return new string[] { "Hello", "world" }; + yield return new string[] { "Hello", "world", null }; + } + + [Test, TestCaseSource(nameof(ResourceTest_TestCases))] + public void ResourceTest(string[] ressources) { var vEvent = GetSimpleEvent(); - vEvent.Resources = [cat1, cat2, cat3]; + vEvent.Resources = ressources; var c = new Calendar(); c.Events.Add(vEvent); var serialized = SerializeToString(c); var categoriesCount = Regex.Matches(serialized, "RESOURCES").Count; Assert.That(categoriesCount, Is.EqualTo(1)); - Assert.That(serialized, Does.Contain($"RESOURCES:{string.Join(",", vEvent.Categories)}")); + var resString = $"RESOURCES:{string.Join(",", ressources.OfType())}"; + Assert.That(serialized, Does.Contain(resString)); var deserialized = UnserializeCalendar(serialized); Assert.That(deserialized, Is.EqualTo(c)); } + + private static IEnumerable ResourceTest_TestCases() + { + yield return new string[] { "Foo", "Bar", "Baz" }; + yield return new string[] { "Hello", "world" }; + yield return new string[] { "Hello", "world", null }; + } }