Best NBi code snippet using NBi.Core.ResultSet.KeyCollection
NameColumnGroupingTest.cs
Source:NameColumnGroupingTest.cs
...29 );30 var grouping = new NameColumnGrouping(settings, Context.None);31 var result = grouping.Execute(rs);32 Assert.That(result, Has.Count.EqualTo(2));33 Assert.That(result[new KeyCollection(new[] { "alpha" })].Rows, Has.Count.EqualTo(3));34 Assert.That(result[new KeyCollection(new[] { "beta" })].Rows, Has.Count.EqualTo(1));35 }36 [Test]37 public void Execute_TwoColumns_ThreeGroups()38 {39 var args = new ObjectsResultSetResolverArgs(new[] { new object[] { "alpha", "1", 10 }, new object[] { "alpha", "1", 20 }, new object[] { "beta", "2", 30 }, new object[] { "alpha", "2", 40 } });40 var resolver = new ObjectsResultSetResolver(args);41 var rs = resolver.Execute();42 rs.Columns[0].ColumnName = "first";43 rs.Columns[1].ColumnName = "second";44 var settings = new SettingsNameResultSet(new List<IColumnDefinition>()45 {46 new Column() { Identifier = new ColumnNameIdentifier("first"), Role = ColumnRole.Key, Type = ColumnType.Text },47 new Column() { Identifier = new ColumnNameIdentifier("second"), Role = ColumnRole.Key, Type = ColumnType.Text },48 }49 );50 var grouping = new NameColumnGrouping(settings, Context.None);51 var result = grouping.Execute(rs);52 Assert.That(result, Has.Count.EqualTo(3));53 Assert.That(result[new KeyCollection(new object[] { "alpha", "1" })].Rows, Has.Count.EqualTo(2));54 Assert.That(result[new KeyCollection(new object[] { "alpha", "2" })].Rows, Has.Count.EqualTo(1));55 Assert.That(result[new KeyCollection(new object[] { "beta", "2" })].Rows, Has.Count.EqualTo(1));56 }57 [Test]58 public void Execute_TwoCustomColumns_ThreeGroups()59 {60 var args = new ObjectsResultSetResolverArgs(new[] { new object[] { "alpha", 1d, 10 }, new object[] { "alpha", 1, 20 }, new object[] { "beta", 2, 30 }, new object[] { "alpha", 2, 40 } });61 var resolver = new ObjectsResultSetResolver(args);62 var rs = resolver.Execute();63 rs.Columns[0].ColumnName = "first";64 rs.Columns[1].ColumnName = "second";65 rs.Columns[1].SetOrdinal(0);66 var settings = new SettingsNameResultSet(new List<IColumnDefinition>()67 {68 new Column() { Identifier = new ColumnNameIdentifier("first"), Role = ColumnRole.Key, Type = ColumnType.Text },69 new Column() { Identifier = new ColumnNameIdentifier("second"), Role = ColumnRole.Key, Type = ColumnType.Numeric },70 }71 );72 var grouping = new NameColumnGrouping(settings, Context.None);73 var result = grouping.Execute(rs);74 Assert.That(result, Has.Count.EqualTo(3));75 Assert.That(result[new KeyCollection(new object[] { "alpha", 1m })].Rows, Has.Count.EqualTo(2));76 Assert.That(result[new KeyCollection(new object[] { "alpha", 2m })].Rows, Has.Count.EqualTo(1));77 Assert.That(result[new KeyCollection(new object[] { "beta", 2m })].Rows, Has.Count.EqualTo(1));78 }79 }80}...
OrdinalColumnGroupingTest.cs
Source:OrdinalColumnGroupingTest.cs
...24 var settings = new SettingsOrdinalResultSet(KeysChoice.First, ValuesChoice.None, NumericAbsoluteTolerance.None);25 var grouping = new OrdinalColumnGrouping(settings, Context.None);26 var result = grouping.Execute(rs);27 Assert.That(result, Has.Count.EqualTo(2));28 Assert.That(result[new KeyCollection(new[] { "alpha" })].Rows, Has.Count.EqualTo(3));29 Assert.That(result[new KeyCollection(new[] { "beta" })].Rows, Has.Count.EqualTo(1));30 }31 [Test]32 public void Execute_TwoColumns_ThreeGroups()33 {34 var args = new ObjectsResultSetResolverArgs(new[] { new object[] { "alpha", "1", 10 }, new object[] { "alpha", "1", 20 }, new object[] { "beta", "2", 30 }, new object[] { "alpha", "2", 40 } });35 var resolver = new ObjectsResultSetResolver(args);36 var rs = resolver.Execute();37 var settings = new SettingsOrdinalResultSet(KeysChoice.AllExpectLast, ValuesChoice.None, NumericAbsoluteTolerance.None);38 var grouping = new OrdinalColumnGrouping(settings, Context.None);39 var result = grouping.Execute(rs);40 Assert.That(result, Has.Count.EqualTo(3));41 Assert.That(result[new KeyCollection(new object[] { "alpha", "1" })].Rows, Has.Count.EqualTo(2));42 Assert.That(result[new KeyCollection(new object[] { "alpha", "2" })].Rows, Has.Count.EqualTo(1));43 Assert.That(result[new KeyCollection(new object[] { "beta", "2" })].Rows, Has.Count.EqualTo(1));44 }45 [Test]46 public void Execute_TwoCustomColumns_ThreeGroups()47 {48 var args = new ObjectsResultSetResolverArgs(new[] { new object[] { "alpha", 1d, 10 }, new object[] { "alpha", 1, 20 }, new object[] { "beta", 2, 30 }, new object[] { "alpha", 2, 40 } });49 var resolver = new ObjectsResultSetResolver(args);50 var rs = resolver.Execute();51 var settings = new SettingsOrdinalResultSet(new List<IColumnDefinition>()52 {53 new Column() { Identifier = new ColumnOrdinalIdentifier(0), Role = ColumnRole.Key, Type = ColumnType.Text },54 new Column() { Identifier = new ColumnOrdinalIdentifier(1), Role = ColumnRole.Key, Type = ColumnType.Numeric },55 }56 );57 var grouping = new OrdinalColumnGrouping(settings, Context.None);58 var result = grouping.Execute(rs);59 Assert.That(result, Has.Count.EqualTo(3));60 Assert.That(result[new KeyCollection(new object[] { "alpha", 1m })].Rows, Has.Count.EqualTo(2));61 Assert.That(result[new KeyCollection(new object[] { "alpha", 2m })].Rows, Has.Count.EqualTo(1));62 Assert.That(result[new KeyCollection(new object[] { "beta", 2m })].Rows, Has.Count.EqualTo(1));63 }64 }65}...
CaseGrouping.cs
Source:CaseGrouping.cs
...15 protected IEnumerable<IPredication> Cases { get; }16 protected Context Context { get; }17 public CaseGrouping(IEnumerable<IPredication> cases, Context context)18 => (Cases, Context) = (cases, context);19 public IDictionary<ResultSet.KeyCollection, DataTable> Execute(IResultSet resultSet)20 {21 var stopWatch = new Stopwatch();22 var dico = new Dictionary<ResultSet.KeyCollection, DataTable>();23 stopWatch.Start();24 foreach (DataRow row in resultSet.Rows)25 {26 Context.Switch(row);27 var index = Cases.Select((p, i) => new { Predication = p, Index = i })28 .FirstOrDefault(x => x.Predication.Execute(Context))29 ?.Index ?? -1;30 var key = new ResultSet.KeyCollection(new object[] { index });31 if (!dico.ContainsKey(key))32 dico.Add(key, row.Table.Clone());33 dico[key].ImportRow(row);34 }35 Trace.WriteLineIf(NBiTraceSwitch.TraceInfo, $"Building rows' groups by cases: {dico.Count} [{stopWatch.Elapsed.ToString(@"d\d\.hh\h\:mm\m\:ss\s\ \+fff\m\s")}");36 return dico;37 }38 }39}...
KeyCollection
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using NBi.Core.ResultSet;6using NBi.Core.ResultSet.Lookup.Violation;7{8 {9 static void Main(string[] args)10 {11 KeyCollection kc = new KeyCollection();12 kc.Add(new Key("col1"));13 kc.Add(new Key("col2"));14 foreach (var k in kc)15 {16 }17 }18 }19}
KeyCollection
Using AI Code Generation
1using NBi.Core.ResultSet;2using System;3using System.Collections.Generic;4using System.Linq;5using System.Text;6using System.Threading.Tasks;7{8 {9 static void Main(string[] args)10 {11 var keys = new KeyCollection();12 keys.Add(new Key(new object[] { "A", "B" }));13 keys.Add(new Key(new object[] { "C", "D" }));14 foreach (var key in keys)15 {16 Console.WriteLine(key);17 }18 }19 }20}
KeyCollection
Using AI Code Generation
1var keys = new KeyCollection();2keys.Add(new Key("col1", "col2"));3keys.Add(new Key("col3", "col4"));4var rs = new ResultSet();5rs.Load(new CsvReader("myFile.csv"));6var resolver = new ResultSetResolver();7var result = resolver.Execute(keys, rs);8var rs2 = new ResultSet();9rs2.Load(new CsvReader("myFile2.csv"));10var resolver2 = new ResultSetResolver();11var result2 = resolver2.Execute(keys, rs2);12var rs3 = new ResultSet();13rs3.Load(new CsvReader("myFile3.csv"));14var resolver3 = new ResultSetResolver();15var result3 = resolver3.Execute(keys, rs3);16var rs4 = new ResultSet();17rs4.Load(new CsvReader("myFile4.csv"));18var resolver4 = new ResultSetResolver();19var result4 = resolver4.Execute(keys, rs4);20var rs5 = new ResultSet();21rs5.Load(new CsvReader("myFile5.csv"));22var resolver5 = new ResultSetResolver();23var result5 = resolver5.Execute(keys, rs5);24var rs6 = new ResultSet();25rs6.Load(new CsvReader("myFile6.csv"));26var resolver6 = new ResultSetResolver();27var result6 = resolver6.Execute(keys, rs6);28var rs7 = new ResultSet();29rs7.Load(new CsvReader("myFile7.csv"));30var resolver7 = new ResultSetResolver();31var result7 = resolver7.Execute(keys, rs7);32var rs8 = new ResultSet();33rs8.Load(new CsvReader("myFile8.csv"));
KeyCollection
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6using NBi.Core.ResultSet;7{8 {9 public KeyCollection(IEnumerable<Key> keys)10 : base(keys)11 { }12 public KeyCollection()13 : base()14 { }15 public KeyCollection(IEnumerable<string> keys)16 : base(keys.Select(k => new Key(k)))17 { }18 public bool Contains(string key)19 {20 return this.Any(k => k.Name == key);21 }22 public bool Contains(Key key)23 {24 return this.Any(k => k.Name == key.Name);25 }26 public KeyCollection Clone()27 {28 var clone = new KeyCollection();29 foreach (var key in this)30 clone.Add(key.Clone());31 return clone;32 }33 public override string ToString()34 {35 return string.Join(", ", this.Select(k => k.Name));36 }37 }38}
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!