public void Should_fire_actions_on_table_members() { var transformColor = Color.Blue; var action = new ReportControlAction<XRControl>(c => true, c => c.BackColor = transformColor); var table = new XRTable(); var row = new XRTableRow(); var cell = new XRTableCell(); row.Cells.Add(cell); table.Rows.Add(row); var report = new XtraReport(); report.Bands.Add(new DetailBand()); report.Bands[0].Controls.Add(table); //var subscriber = XRRuntimeSubscriber.SubscribeWithActions(action); var reportb = new ReportController(new EventAggregator(), report, new ReportControlActionFacade(action)).Print(r => r.ExportToMemory()); var tableB = (XRTable)reportb.Bands[0].Controls[0]; var rowB = tableB.Rows[0]; var cellb = rowB.Cells[0]; Assert.AreEqual(transformColor, cellb.BackColor); }
public void Should_apply_actions_to_entire_report() { var color = Color.Green; var action = new ReportControlAction<XtraReport>(r => true, r => r.BackColor = color); var report = new XtraReport(); var newReport = new ReportController(new EventAggregator(), report, new ReportControlActionFacade(action)).Print(r => r.ExportToMemory()); Assert.AreEqual(color, newReport.BackColor); }
public void Should_only_apply_action_when_predicate_is_satisfied() { const string transformText = "Jeremiah"; var action = new ReportControlAction<XRLabel>((l) => l.Text != string.Empty, (l) => l.Text = transformText); var facade = new ReportControlActionFacade(action); var label1 = new XRLabel { Text = string.Empty }; var label2 = new XRLabel { Text = "ChangeMe" }; facade.AttemptActionsOnControl(label1); facade.AttemptActionsOnControl(label2); Assert.AreNotEqual(transformText, label1.Text); Assert.AreEqual(transformText, label2.Text); }