public async Task TransformAsync_DefaultData_Test() { var t = new TransformerService(op => op.GlobalParameters = new object[] { new { A = "Bao" } }); var s = await t.TransformAsync("Hoang [A] Duy"); s.Should().Be("Hoang Bao Duy"); }
public async Task TransformAsync_Custom_Test() { var t = new TransformerService(); var s = await t.TransformAsync("Hoang [[A]] Duy", new { A = "Bao" }); s.Should().Be("Hoang [Bao] Duy"); }
public void CanTranslateCSVToDictionary() { var transformer = new TransformerService(new FileToCSV(), new CSVToDictionary()); var file = new FileInfo(TestContext.CurrentContext.TestDirectory + @"\SampleFiles\SampleCSV1.csv"); var dictionary = transformer.Transform <FileInfo, MappedCSV>(file); Assert.AreEqual("100 Comma Avenue, NotADelimiter Town USA", dictionary.ElementAt(2)["Address"]); }
public async Task Transform_HugeTemplate_Async_DataProvider_Test() { var d = Path.GetDirectoryName(typeof(TransformTests).Assembly.Location); var template = await File.ReadAllTextAsync(d + "/TestData/Data.txt"); var t = new TransformerService(); var s = await t.TransformAsync(template, token => Task.FromResult("Duy" as object)); s.Should().Contain("Duy") .And.Subject.Should().NotContainAny("{", "[", "<"); }
public async Task Transform_HugeTemplate_Async_Test() { var d = Path.GetDirectoryName(typeof(TransformTests).Assembly.Location); var template = await File.ReadAllTextAsync(d + "/TestData/Data.txt"); var t = new TransformerService(); var s = await t.TransformAsync(template, new { A = "Hoang", B = "Bao", C = "Duy", D = "HBD" }); s.Should().ContainAll("Hoang", "Bao", "Duy", "HBD") .And.Subject.Should().NotContainAny("{", "[", "<"); }
public void CanHandleTransformingTypeToItself() { var transformer = new GenericTransformer <SampleClassA, SampleClassA>(a => new SampleClassA { Value = a.Value }); var service = new TransformerService(transformer); var model = new SampleClassA { Value = "100" }; var circularTransform = service.Transform <SampleClassA, SampleClassA>(model); Assert.AreEqual("100", circularTransform.Value); }
public void CanTransformObjectBetweenThreeTypesAtOnce() { var model = new SampleClassA { Value = "100" }; var transformer1 = new GenericTransformer <SampleClassA, SampleClassB>(a => new SampleClassB { Value = int.Parse(a.Value) }); var transformer2 = new GenericTransformer <SampleClassB, SampleClassC>(b => new SampleClassC { StringValue = b.Value.ToString(), IntValue = b.Value }); var transformerService = new TransformerService(transformer1, transformer2); var transformed = transformerService.Transform <SampleClassA, SampleClassC>(model); Assert.AreEqual("100", transformed.StringValue); Assert.AreEqual(100, transformed.IntValue); }
public void CanConsolidateMultipleCSVs() { var folder = new DirectoryInfo(TestContext.CurrentContext.TestDirectory + @"\SampleFiles\"); var csvImporter = new CSVToDictionary(); csvImporter.AddMapping("First Name", "First Name"); csvImporter.AddMapping("Last Name", "Last Name"); csvImporter.AddMapping("Address", "Address"); csvImporter.AddMapping("Name", "First Name"); csvImporter.AddMapping("SurName", "Last Name"); var transformer = new TransformerService(new FolderToFiles("*.csv", recurse: false), new FileToCSV(), csvImporter); var results = transformer.Transform <DirectoryInfo, MappedCSV[]>(folder); Assert.AreEqual("Jones", results[1].First()["Last Name"]); }
public void CanTransformMany() { List <SampleClassA> list = new List <SampleClassA>(); list.Add(new SampleClassA { Value = "10" }); list.Add(new SampleClassA { Value = "20" }); var transformer = new GenericTransformer <SampleClassA, SampleClassB>(a => new SampleClassB { Value = int.Parse(a.Value) }); var transformerService = new TransformerService(transformer); var result = transformerService.Transform <SampleClassA[], SampleClassB[]>(list.ToArray()); Assert.AreEqual(20, result[1].Value); }
public Entities.Entity transform(UIEntity entity) { if (cyclicDependencyChecker) { return(null); } TransformerService ts = new TransformerService(); SubDiagram sd = entity as SubDiagram; Submodel submodel = new Submodel() { name = entity.EntityName, id = entity.Id }; cyclicDependencyChecker = true; submodel.setEntites(ts.transform(new FileService().open(sd.ProjectItem.FullPath).Children)); cyclicDependencyChecker = false; submodel.setResources(ts.getResources()); return(submodel); }
public void CanHandleCircularGraph() { var transformer1 = new GenericTransformer <SampleClassA, SampleClassB>(a => new SampleClassB { Value = int.Parse(a.Value) }); var transformer2 = new GenericTransformer <SampleClassB, SampleClassC>(b => new SampleClassC { StringValue = b.Value.ToString(), IntValue = b.Value }); var transformer3 = new GenericTransformer <SampleClassC, SampleClassA>(c => new SampleClassA { Value = c.StringValue }); var service = new TransformerService(transformer1, transformer2, transformer3); var model = new SampleClassA { Value = "100" }; var circularTransform = service.Transform <SampleClassA, SampleClassA>(model); Assert.AreEqual("100", circularTransform.Value); }
public void CanUseMultipleTransformersOnSameArray() { var transformer1 = new GenericTransformer <SampleClassA, SampleClassB>(a => new SampleClassB { Value = int.Parse(a.Value) }, a => a.Value.StartsWith("1")); var transformer2 = new GenericTransformer <SampleClassA, SampleClassB>(a => new SampleClassB { Value = 10 * int.Parse(a.Value) }, a => !a.Value.StartsWith("1")); var models = new SampleClassA[] { new SampleClassA { Value = "100" }, new SampleClassA { Value = "200" } }; var service = new TransformerService(transformer1, transformer2); var result = service.Transform <SampleClassA[], SampleClassB[]>(models); Assert.AreEqual(100, result[0].Value); Assert.AreEqual(2000, result[1].Value); }
private void simulate(ProjectItem pi) { TransformerService ts = new TransformerService(); List <Entity> entities = ts.transform(pi.Canvas.Children); Controller controller = new Controller(entities, ts.getResources()); try { resetUIShadows(Project.Instance.MainProjectItem.Canvas.Children); SaveAll_Click(null, null); errorsListBox.Items.Clear(); controller.validate(); new RunSimulation(pi, controller).ShowDialog(); } catch (ValidationException ex) { errorsTab.IsSelected = true; foreach (var err in ex.Errors) { errorsListBox.Items.Add(new ListBoxItemError(err.Message, ts.transform(err.Entities))); } } }