using System.Data; using JdeScoping.DataSync.Etl.Transformers; using NSubstitute; namespace JdeScoping.DataSync.Tests.Etl.Transformers; public class DataTransformerBaseTests { [Fact] public void MapOrdinal_DefaultImplementation_ReturnsOrdinalUnchanged() { // Arrange var transformer = new PassThroughTransformer(); var reader = CreateMockReader(new[] { "A", "B", "C" }); // Act var result = transformer.MapOrdinal(1, reader); // Assert Assert.Equal(1, result); } private static IDataReader CreateMockReader(string[] columns) { var reader = Substitute.For(); reader.FieldCount.Returns(columns.Length); for (int i = 0; i < columns.Length; i++) { var index = i; reader.GetName(index).Returns(columns[index]); reader.GetOrdinal(columns[index]).Returns(index); } return reader; } private class PassThroughTransformer : DataTransformerBase { public override string TransformerName => "PassThrough"; } }