Files
2026-03-13 09:11:35 -05:00

32 lines
1.1 KiB
C#

using OwnerNumberMigration.ValueParsing;
using OwnerNumberMigrationTest.TestDataFactories;
namespace OwnerNumberMigrationTest.ValueParsing;
public class CommaStringArrayStrategyTest
{
private readonly IValueParsingStrategy<string[]> _parsingStrategy = new CommaStringArrayStrategy();
[Test]
public void Parse_StringContainsSingleValue_ReturnsAnArrayContainingOnlyTheValue()
{
var owners = Guid.NewGuid().ToString();
var parsedOwners = _parsingStrategy.Parse(owners);
Assert.AreEqual(1, parsedOwners.Length);
CollectionAssert.Contains(parsedOwners, owners);
}
[Test]
public void Parse_StringContainsCommas_ReturnsAnArrayContainingTheValueSplitOnComma()
{
var ownerCount = new Random(DateTime.Now.Millisecond).Next(3, 10);
var owners = string.Join(",", EnumerableDataSeriesFactory.CreateSeries(() => Guid.NewGuid().ToString(), ownerCount));
var parsedOwners = _parsingStrategy.Parse(owners);
Assert.AreEqual(ownerCount, parsedOwners.Length);
CollectionAssert.AreEquivalent(parsedOwners, owners.Split(","));
}
}