/// <inheritdoc /> protected override void PopulateDataSource(IPatternScope scope, DataSource dataSource, ICodeElementInfo codeElement) { var invoker = new FixtureMemberInvoker<IEnumerable>(factoryType, scope, factoryMethodName); XDocument xdocument = OpenXDocument(codeElement); var parameters = new object[] { GetElementList(xdocument, xPath) }; var dataSet = new FactoryDataSet(() => invoker.Invoke(parameters), kind, columnCount); dataSource.AddDataSet(dataSet); }
/// <inheritdoc /> protected override void PopulateDataSource(IPatternScope scope, DataSource dataSource, ICodeElementInfo codeElement) { // Create the invoker object which Gallio will call by reflection var invoker = new FixtureMemberInvoker<IEnumerable>(factoryType, scope, factoryMethodName); // Get an ADO DataTable from the implementation. DataTable dataTable = BuildDataTable(); // Create the array of arguments which will be passed to the method called by the invoker var parameters = new object[] {dataTable, this.RowIndexIncludeFilterArray, this.RowIndexExcludeFilterArray, this.CellValueIncludeFilterArray, this.CellValueExcludeFilterArray}; // Create a FactoryDataSet with an invoker of our factory methods in the delegate var dataSet = new FactoryDataSet(() => invoker.Invoke(parameters), FactoryKind.Auto, 0); dataSource.AddDataSet(dataSet); }
private void CheckFactory(IEnumerable source, FactoryKind factoryKind, int columnCount, bool hasMetadata) { FactoryDataSet dataSet = new FactoryDataSet(delegate { return source; }, factoryKind, columnCount); DataBinding[] bindings = new DataBinding[] { new DataBinding(0, null), new DataBinding(1, null) }; List<IDataItem> items = new List<IDataItem>(dataSet.GetItems(bindings, true)); Assert.Count(3, items); Assert.AreEqual(1, items[0].GetValue(bindings[0])); Assert.AreEqual(2, items[1].GetValue(bindings[0])); Assert.AreEqual(3, items[2].GetValue(bindings[0])); if (columnCount >= 2) { Assert.AreEqual("a", items[0].GetValue(bindings[1])); Assert.AreEqual("b", items[1].GetValue(bindings[1])); Assert.AreEqual("c", items[2].GetValue(bindings[1])); } if (hasMetadata) { Assert.AreEqual("1a", DataItemUtils.GetMetadata(items[0]).GetValue("Id")); Assert.AreEqual("2b", DataItemUtils.GetMetadata(items[1]).GetValue("Id")); Assert.AreEqual("3c", DataItemUtils.GetMetadata(items[2]).GetValue("Id")); } }
/// <inheritdoc /> protected override void PopulateDataSource(IPatternScope scope, DataSource dataSource, ICodeElementInfo codeElement) { var invoker = new FixtureMemberInvoker<IEnumerable>(type, scope, memberName); var dataSet = new FactoryDataSet(() => invoker.Invoke(), kind, columnCount); dataSource.AddDataSet(dataSet); }
/// <inheritdoc /> protected override void PopulateDataSource(IPatternScope scope, DataSource dataSource, ICodeElementInfo codeElement) { var invoker = new FixtureMemberInvoker<IEnumerable>(factoryType, scope, factoryMethodName); // Get List-of-Lists of Eleemnts var listOfListsOfElements = BuildListOfNodeLists(codeElement); // Use Gallio's invoker object to execute factory method var parameters = new object[] { listOfListsOfElements }; var dataSet = new FactoryDataSet(() => invoker.Invoke(parameters), kind, columnCount); dataSource.AddDataSet(dataSet); }