Best NBi code snippet using NBi.NUnit.Builder.Helper.ResultSetResolverArgsBuilder.BuildIfUnavaibleResultSetResolverArgs
ResultSetResolverArgsBuilder.cs
Source:ResultSetResolverArgsBuilder.cs  
...61        }62        private ResultSetResolverArgs BuildResultSetSystemXml(ResultSetSystemXml xml)63        {64            if (xml?.IfUnavailable?.ResultSet != null)65                return BuildIfUnavaibleResultSetResolverArgs(BuildInternalResultSetSystemXml(xml), BuildResultSetSystemXml(xml.IfUnavailable.ResultSet));66            else67                return BuildInternalResultSetSystemXml(xml);68        }69        private ResultSetResolverArgs BuildInternalResultSetSystemXml(ResultSetSystemXml xml)70        {71            //ResultSet (external flat file)72            if (!xml?.File?.IsEmpty() ?? false)73                return BuildFlatFileResultSetResolverArgs(xml.File);74            //Query75            else if (xml.Query != null)76                return BuildQueryResolverArgs(xml.Query, scope);77            else if (xml.SequenceCombination != null)78                return BuildSequenceCombinationResolverArgs(xml.SequenceCombination);79            else if (xml.Sequence != null)80                return BuildSequenceResolverArgs(xml.Sequence);81            else if (xml.XmlSource != null)82                return BuildXPathResolverArgs(xml.XmlSource);83            else if (xml.JsonSource != null)84                return BuildJsonPathResolverArgs(xml.JsonSource);85            else if (xml.Empty != null)86                return BuildEmptyResolverArgs(xml.Empty);87            else if (xml.Iteration != null)88                return BuildIterativeResultSetResolverArgs(xml.Iteration, xml.NestedResultSet);89            else if (xml.Rows != null)90                return BuildEmbeddedResolverArgs(xml.Content);91            throw new ArgumentException();92        }93        private ResultSetResolverArgs BuildResultSetXml(ResultSetXml xml)94        {95            //ResultSet (external flat file)96            if (!string.IsNullOrEmpty(xml.File))97            {98                ParseFileInfo(xml.File, out var filename, out var parserName);99                if (string.IsNullOrEmpty(parserName))100                    return BuildFlatFileResultSetResolverArgs(new FileXml() { Path = filename });101                else102                    return BuildFlatFileResultSetResolverArgs(new FileXml() { Path = filename, Parser = new ParserXml() { Name = parserName } });103            }104            //ResultSet (embedded)105            else if (xml.Rows != null)106                return BuildEmbeddedResolverArgs(xml.Content);107            throw new ArgumentException();108        }109        private ResultSetResolverArgs BuildSequenceCombinationResolverArgs(SequenceCombinationXml sequenceCombinationXml)110        {111            var resolvers = new List<ISequenceResolver>();112            var sequenceFactory = new SequenceResolverFactory(ServiceLocator);113            var builder = new SequenceResolverArgsBuilder(ServiceLocator);114            builder.Setup(settings);115            builder.Setup(Variables);116            foreach (var sequenceXml in sequenceCombinationXml.Sequences)117            {118                builder.Setup(sequenceXml.Type);119                builder.Setup((object)sequenceXml.SentinelLoop ?? sequenceXml.Items);120                builder.Build();121                resolvers.Add(sequenceFactory.Instantiate(sequenceXml.Type, builder.GetArgs()));122            }123            return new SequenceCombinationResultSetResolverArgs(resolvers);124        }125        private ResultSetResolverArgs BuildSequenceResolverArgs(SequenceXml sequenceXml)126        {127            var sequenceFactory = new SequenceResolverFactory(ServiceLocator);128            var builder = new SequenceResolverArgsBuilder(ServiceLocator);129            builder.Setup(settings);130            builder.Setup(Variables);131            builder.Setup(sequenceXml.Type);132            builder.Setup((object)sequenceXml.SentinelLoop ?? sequenceXml.Items);133            builder.Build();134            var resolver = sequenceFactory.Instantiate(sequenceXml.Type, builder.GetArgs());135            return new SequenceResultSetResolverArgs(resolver);136        }137        private void ParseFileInfo(string input, out string filename, out string parserName)138        {139            var split = input.Split(new char[] { '!' }, StringSplitOptions.RemoveEmptyEntries);140            filename = split[0];141            parserName = split.Count() == 1 ? string.Empty : split[1];142        }143        private ResultSetResolverArgs BuildEmbeddedResolverArgs(IContent content)144        {145            Trace.WriteLineIf(Extensibility.NBiTraceSwitch.TraceVerbose, "ResultSet defined in embedded resultSet.");146            return new ContentResultSetResolverArgs(content);147        }148        private ResultSetResolverArgs BuildIterativeResultSetResolverArgs(IterationXml iterationXml, ResultSetSystemXml nestedResultSetXml)149        {150            var sequenceFactory = new SequenceResolverFactory(ServiceLocator);151            var builder = new SequenceResolverArgsBuilder(ServiceLocator);152            builder.Setup(settings);153            builder.Setup(Variables);154            builder.Setup(iterationXml.Sequence.Type);155            builder.Setup((object)iterationXml.Sequence.SentinelLoop ?? iterationXml.Sequence.Items);156            builder.Build();157            var sequenceResolver = sequenceFactory.Instantiate(iterationXml.Sequence.Type, builder.GetArgs());158            var nestedHelper = new ResultSetSystemHelper(ServiceLocator, scope, Variables);159            nestedResultSetXml.Settings = settings;160            var nestedResultSetResolver = nestedHelper.InstantiateResolver(nestedResultSetXml);161            return new IterativeResultSetResolverArgs(sequenceResolver, iterationXml.Sequence.Name, Variables, nestedResultSetResolver);162        }163        private ResultSetResolverArgs BuildQueryResolverArgs(QueryXml queryXml, SettingsXml.DefaultScope scope)164        {165            Trace.WriteLineIf(Extensibility.NBiTraceSwitch.TraceVerbose, "ResultSet defined through a query.");166            var argsBuilder = new QueryResolverArgsBuilder(ServiceLocator);167            argsBuilder.Setup(queryXml, settings, scope, Variables);168            argsBuilder.Build();169            var argsQuery = argsBuilder.GetArgs();170            return new QueryResultSetResolverArgs(argsQuery);171        }172        private ResultSetResolverArgs BuildFlatFileResultSetResolverArgs(FileXml fileMetadata)173        {174            Trace.WriteLineIf(Extensibility.NBiTraceSwitch.TraceVerbose, $"ResultSet defined in an external flat file to be read with {(string.IsNullOrEmpty(fileMetadata.Parser?.Name) ? "the default CSV parser" : fileMetadata.Parser?.Name)}.");175            var helper = new ScalarHelper(ServiceLocator, settings, scope, new Context(Variables));176            var resolverPath = helper.InstantiateResolver<string>(fileMetadata.Path);177            if (fileMetadata.IfMissing == null)178                return new FlatFileResultSetResolverArgs(resolverPath, settings?.BasePath, fileMetadata.Parser?.Name, settings?.CsvProfile);179            var builder = new ResultSetResolverArgsBuilder(ServiceLocator);180            builder.Setup(fileMetadata.IfMissing, settings, scope, Variables);181            builder.Build();182            var redirection = builder.GetArgs();183            var factory = new ResultSetResolverFactory(ServiceLocator);184            var resolver = factory.Instantiate(redirection);185            return new FlatFileResultSetResolverArgs(resolverPath, settings?.BasePath, fileMetadata.Parser?.Name, resolver, settings?.CsvProfile);186        }187        private ResultSetResolverArgs BuildXPathResolverArgs(XmlSourceXml xmlSource)188        {189            Trace.WriteLineIf(Extensibility.NBiTraceSwitch.TraceVerbose, "ResultSet defined through an xml-source.");190            var helper = new ScalarHelper(ServiceLocator, settings, scope, new Context(Variables));191            IReaderArgs reader = null;192            if (xmlSource.File != null)193            {194                var resolverPath = helper.InstantiateResolver<string>(xmlSource.File.Path);195                reader = new FileReaderArgs(settings?.BasePath, resolverPath);196            }197            else if (xmlSource.Url != null)198            {199                var resolverUrl = helper.InstantiateResolver<string>(xmlSource.Url.Value);200                reader = new UrlReaderArgs(resolverUrl);201            }202            else if (xmlSource.Rest != null)203            {204                var restHelper = new RestHelper(ServiceLocator, settings, scope, Variables);205                reader = new RestReaderArgs(restHelper.Execute(xmlSource.Rest));206            }207            var selects = new List<IPathSelect>();208            var selectFactory = new PathFlattenizerFactory();209            foreach (var select in xmlSource.XPath.Selects)210                selects.Add(selectFactory.Instantiate(helper.InstantiateResolver<string>(select.Value), select.Attribute, select.Evaluate));211            var flattenizer = new XPathArgs212            {213                From = helper.InstantiateResolver<string>(xmlSource.XPath.From.Value),214                Selects = selects,215                DefaultNamespacePrefix = xmlSource.XPath?.DefaultNamespacePrefix,216                IsIgnoreNamespace = xmlSource.IgnoreNamespace217            };218            return new DataSerializationResultSetResolverArgs(reader, flattenizer);219        }220        private ResultSetResolverArgs BuildJsonPathResolverArgs(JsonSourceXml jsonSource)221        {222            Trace.WriteLineIf(Extensibility.NBiTraceSwitch.TraceVerbose, "ResultSet defined through an json-source.");223            var context = new Context(Variables);224            var helper = new ScalarHelper(ServiceLocator, settings, scope, context);225            IReaderArgs reader = null;226            if (jsonSource.File != null)227            {228                var resolverPath = helper.InstantiateResolver<string>(jsonSource.File.Path);229                reader = new FileReaderArgs(settings?.BasePath, resolverPath);230            }231            else if (jsonSource.Url != null)232            {233                var resolverUrl = helper.InstantiateResolver<string>(jsonSource.Url.Value);234                reader = new UrlReaderArgs(resolverUrl);235            }236            else if (jsonSource.Rest != null)237            {238                var restHelper = new RestHelper(ServiceLocator, settings, scope, Variables);239                reader = new RestReaderArgs(restHelper.Execute(jsonSource.Rest));240            }241            else if (jsonSource.QueryScalar != null)242            {243                var builder = new ScalarResolverArgsBuilder(ServiceLocator, context);244                builder.Setup(jsonSource.QueryScalar, settings, scope);245                builder.Build();246                var args = ServiceLocator.GetScalarResolverFactory().Instantiate<string>(builder.GetArgs());247                reader = new ScalarReaderArgs(args);248            }249            var selects = new List<IPathSelect>();250            var selectFactory = new PathFlattenizerFactory();251            foreach (var select in jsonSource.JsonPath.Selects)252                selects.Add(selectFactory.Instantiate(helper.InstantiateResolver<string>(select.Value), string.Empty, false));253            var flattenizer = new JsonPathArgs254            {255                From = helper.InstantiateResolver<string>(jsonSource.JsonPath.From.Value),256                Selects = selects,257            };258            return new DataSerializationResultSetResolverArgs(reader, flattenizer);259        }260        private ResultSetResolverArgs BuildEmptyResolverArgs(EmptyResultSetXml empty)261        {262            var scalarHelper = new ScalarHelper(ServiceLocator, settings, scope, new Context(Variables));263            if (empty.Columns.Count > 0 && !string.IsNullOrEmpty(empty.ColumnCount))264                return new EmptyResultSetResolverArgs(empty.Columns.Select(x => x.Identifier as ColumnNameIdentifier), scalarHelper.InstantiateResolver<int>(empty.ColumnCount));265            else if (empty.Columns.Count > 0)266                return new EmptyResultSetResolverArgs(empty.Columns.Select(x => x.Identifier as ColumnNameIdentifier));267            else if (!string.IsNullOrEmpty(empty.ColumnCount))268                return new EmptyResultSetResolverArgs(scalarHelper.InstantiateResolver<int>(empty.ColumnCount));269            else270                throw new ArgumentNullException();271        }272        private ResultSetResolverArgs BuildIfUnavaibleResultSetResolverArgs(ResultSetResolverArgs primaryArgs, ResultSetResolverArgs secondaryArgs)273        {274            var factory = ServiceLocator.GetResultSetResolverFactory();275            var primary = factory.Instantiate(primaryArgs);276            var secondary = factory.Instantiate(secondaryArgs);277            return new IfUnavailableResultSetResolverArgs(primary, secondary);278        }279        public ResultSetResolverArgs GetArgs() => args;280    }281}...BuildIfUnavaibleResultSetResolverArgs
Using AI Code Generation
1using NBi.NUnit.Builder.Helper;2using NBi.NUnit.ResultSetComparison;3using NUnit.Framework;4using System;5using System.Collections.Generic;6using System.Linq;7using System.Text;8using System.Threading.Tasks;9{10    {11        public void BuildIfUnavaibleResultSetResolverArgs_WithOneResultSetResolverArgs_ReturnsTheSame()12        {13            var resultSetResolverArgs = new ResultSetResolverArgs();14            var resultSetResolverArgsList = new List<ResultSetResolverArgs>() { resultSetResolverArgs };15            var argsBuilder = new ResultSetResolverArgsBuilder();16            var result = argsBuilder.BuildIfUnavaible(resultSetResolverArgsList);17            Assert.That(result, Is.EqualTo(resultSetResolverArgsList));18        }19        public void BuildIfUnavaibleResultSetResolverArgs_WithTwoResultSetResolverArgs_ReturnsTheSame()20        {21            var resultSetResolverArgs = new ResultSetResolverArgs();22            var resultSetResolverArgsList = new List<ResultSetResolverArgs>() { resultSetResolverArgs, resultSetResolverArgs };23            var argsBuilder = new ResultSetResolverArgsBuilder();24            var result = argsBuilder.BuildIfUnavaible(resultSetResolverArgsList);25            Assert.That(result, Is.EqualTo(resultSetResolverArgsList));26        }27        public void BuildIfUnavaibleResultSetResolverArgs_WithTwoResultSetResolverArgsAndOneNull_ReturnsTheSame()28        {29            var resultSetResolverArgs = new ResultSetResolverArgs();30            var resultSetResolverArgsList = new List<ResultSetResolverArgs>() { resultSetResolverArgs, null };31            var argsBuilder = new ResultSetResolverArgsBuilder();32            var result = argsBuilder.BuildIfUnavaible(resultSetResolverArgsList);33            Assert.That(result, Is.EqualTo(resultSetResolverArgsList));34        }35        public void BuildIfUnavaibleResultSetResolverArgs_WithTwoResultSetResolverArgsAndOneNull_ReturnsTheSameWithTheNullFilled()36        {37            var resultSetResolverArgs = new ResultSetResolverArgs();38            var resultSetResolverArgsList = new List<ResultSetResolverArgs>() { resultSetResolverArgs, null };39            var argsBuilder = new ResultSetResolverArgsBuilder();BuildIfUnavaibleResultSetResolverArgs
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6using NBi.Core.Query.Resolver;7using NBi.NUnit.Builder.Helper;8using NUnit.Framework;9{10    {11        public void BuildIfUnavaibleResultSetResolverArgs_WithNullArgument_ReturnsNull()12        {13            var args = ResultSetResolverArgsBuilder.BuildIfUnavaibleResultSetResolverArgs(null);14            Assert.That(args, Is.Null);15        }16        public void BuildIfUnavaibleResultSetResolverArgs_WithEmptyArgument_ReturnsNull()17        {18            var args = ResultSetResolverArgsBuilder.BuildIfUnavaibleResultSetResolverArgs(new ResultSetResolverArgs());19            Assert.That(args, Is.Null);20        }21        public void BuildIfUnavaibleResultSetResolverArgs_WithNonEmptyArgument_ReturnsArgument()22        {23            var args = ResultSetResolverArgsBuilder.BuildIfUnavaibleResultSetResolverArgs(new ResultSetResolverArgs()24            {25            });26            Assert.That(args, Is.Not.Null);27        }28    }29}30using System;31using System.Collections.Generic;32using System.Linq;33using System.Text;34using System.Threading.Tasks;35using NBi.Core.Query.Resolver;36using NBi.NUnit.Builder.Helper;37using NUnit.Framework;38{39    {40        public void BuildIfUnavaibleResultSetResolverArgs_WithNullArgument_ReturnsNull()41        {42            var args = ResultSetResolverArgsBuilder.BuildIfUnavaibleResultSetResolverArgs(null);43            Assert.That(args, Is.Null);44        }45        public void BuildIfUnavaibleResultSetResolverArgs_WithEmptyArgument_ReturnsNull()46        {47            var args = ResultSetResolverArgsBuilder.BuildIfUnavaibleResultSetResolverArgs(new ResultSetResolverArgs());48            Assert.That(args, Is.Null);49        }50        public void BuildIfUnavaibleResultSetResolverArgs_WithNonEmptyArgument_ReturnsArgument()51        {BuildIfUnavaibleResultSetResolverArgs
Using AI Code Generation
1using  System;2 using  System.Collections.Generic;3 using  System.Linq;4 using  System.Text;5 using  System.Threading.Tasks;6 using  NBi.NUnit.Builder.Helper;7 using  NBi.Core.ResultSet;8 using  NBi.Core.Calculation;9 using  NBi.Core.Calculation.Predicate;10 using  NUnit.Framework.Constraints;11{12    {13         static   void  Main( string [] args)14        {15            var  argsBuilder =  new  ResultSetResolverArgsBuilder();16            argsBuilder.BuildIfUnavaibleResultSetResolverArgs( new  ResultSetResolverArgs(17                     new  ResultSet()18                    {19                        Columns =  new  List<IColumnDefinition>()20                        {21                             new  ColumnOrdinalIdentifier(0),22                             new  ColumnOrdinalIdentifier(1)23                        },24                        Rows =  new  List<IRow>()25                        {26                             new  Row( new  List<object>() { 1, 2 }),27                             new  Row( new  List<object>() { 2, 3 }),28                             new  Row( new  List<object>() { 3, 4 })29                        }30                    },31                     new  ResultSet()32                    {33                        Columns =  new  List<IColumnDefinition>()34                        {35                             new  ColumnOrdinalIdentifier(0),36                             new  ColumnOrdinalIdentifier(1)37                        },38                        Rows =  new  List<IRow>()39                        {40                             new  Row( new  List<object>() { 1, 2 }),41                             new  Row( new  List<object>() { 2, 3 }),42                             new  Row( new  List<object>() { 3, 4 })43                        }44                    },45                     new  ResultSetComparisonSettings()46                    {47                    }48            );49            var  argsBuilder2 =  new  ResultSetResolverArgsBuilder();50            argsBuilder2.BuildIfUnavaibleResultSetResolverArgs( new  ResultSetResolverArgs(51                     new  ResultSet()52                    {53                        Columns =  new  List<IColumnDefinition>()54                        {55                             new  ColumnOrdinalIdentifier(0),56                             new  ColumnOrdinalIdentifier(1)57                        },58                        Rows =  new  List<IRow>()59                        {60                             new  Row( new  List<object>() { 1, 2 }),61                             new  Row( new  List<object>() { 2, 3 }),62                             new  Row( new  List<object>() {BuildIfUnavaibleResultSetResolverArgs
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6using NBi.NUnit.Builder.Helper;7using NBi.NUnit.Query;8using NBi.Core.ResultSet;9using NBi.Core.ResultSet.Resolver;10{11    {12        static void Main(string[] args)13        {14            var argsBuilder = new ResultSetResolverArgsBuilder();BuildIfUnavaibleResultSetResolverArgs
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6using NBi.NUnit.Builder.Helper;7{8    {9        static void Main(string[] args)10        {11            var builder = new ResultSetResolverArgsBuilder();12            builder.BuildIfUnavaibleResultSetResolverArgs();13        }14    }15}BuildIfUnavaibleResultSetResolverArgs
Using AI Code Generation
1using NBi.NUnit.Builder.Helper;2using NBi.NUnit.Query;3using NBi.Xml.Constraints;4using NBi.Xml.Items;5using NBi.Xml.Settings;6using NBi.Xml.Systems;7using NUnit.Framework;8{9    {10        public void BuildIfUnavaibleResultSetResolverArgs_ResultSetResolverArgsObject()11        {12            var args = ResultSetResolverArgsBuilder.BuildIfUnavaibleResultSetResolverArgs(13                {14                    ConnectionString = "Data Source=.;Initial Catalog=AdventureWorks2012;Integrated Security=True"15                },16                {17                },18                new SettingsXml(),19                {20                },21                {22                });23            Assert.That(args, Is.InstanceOf<ResultSetResolverArgs>());24        }25    }26}27using NBi.NUnit.Builder.Helper;28using NBi.NUnit.Query;29using NBi.Xml.Constraints;30using NBi.Xml.Items;31using NBi.Xml.Settings;32using NBi.Xml.Systems;33using NUnit.Framework;34{35    {36        public void GetResultSetResolver_ResultSetResolverObject()37        {38            var builder = new QueryBuilder();39            var args = ResultSetResolverArgsBuilder.BuildIfUnavaibleResultSetResolverArgs(40                {41                    ConnectionString = "Data Source=.;Initial Catalog=AdventureWorks2012;Integrated Security=True"42                },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!!
