public void SimpleTransformerTest() { var gliders = new List <Glider>() { new Glider("Puchacz", false), new Glider("Pirat", false) }; List <Szybowiec> Map(List <Glider> x) => gliders .Select(y => new Szybowiec(y.Type, y.HasEngine)) .ToList(); var transformer = new SimpleDataTransformer <Glider, Szybowiec>(Map); var szybowce = transformer.Transform(gliders); Assert.AreEqual("Puchacz", szybowce[0].Typ); Assert.AreEqual("Pirat", szybowce[1].Typ); }
public void FullEtlOperationTest() { // Define data extractor List <Glider> MapExtracted(List <List <string> > x) => x .Select(y => new Glider(y[0], Boolean.Parse(y[1]))) .ToList(); var extractor = new FileCsvExtractor <Glider>("../../../Data/gliders.csv", ';', MapExtracted); // Define data cleanser var cleanser = new FileCsvCleanser <Glider>(); // Define data transformer List <Szybowiec> MapTransform(List <Glider> x) => x .Select(y => new Szybowiec(y.Type, y.HasEngine)) .ToList(); var transformer = new SimpleDataTransformer <Glider, Szybowiec>(MapTransform); // Define data loader var loader = new JsonFileLoader <Szybowiec>(_jsonPath); // ETL operation var processor = new ETLProcessor <Glider, Szybowiec>(extractor, cleanser, transformer, loader); var result = processor.Process(); Assert.AreEqual(true, result.Result); // Check output file var glidersJson = File.ReadAllText(_jsonPath); var glidersDeserialized = JsonConvert.DeserializeObject <List <Szybowiec> >(glidersJson); Assert.AreEqual("Puchacz", glidersDeserialized[0].Typ); Assert.AreEqual("Pirat", glidersDeserialized[1].Typ); }