using System; using System.Collections.Generic; using Xunit; namespace BinaryObjectScanner.Test { public class EnumerableExtensionsTests { [Fact] public void IterateWithAction_EmptyEnumerable_Success() { List set = new List(); Action action = (s) => s.ToLowerInvariant(); set.IterateWithAction(action); Assert.Empty(set); } [Fact] public void IterateWithAction_EmptyAction_Success() { List set = ["a", "b", "c"]; Action action = (s) => { }; set.IterateWithAction(action); Assert.Equal(3, set.Count); } [Fact] public void IterateWithAction_Valid_Success() { List set = ["a", "b", "c"]; List actual = new List(); Action action = (s) => { lock (actual) { actual.Add(s.ToUpperInvariant()); } }; set.IterateWithAction(action); Assert.Equal(3, set.Count); Assert.Equal(3, actual.Count); } } }