Best NBi code snippet using NBi.Core.Transformation.Transformer.Native.Text.TextToLower.EvaluateEmpty
TextTransformations.cs
Source:TextTransformations.cs  
...28        }29        protected virtual object EvaluateHighLevelString(string value)30        {31            if (string.IsNullOrEmpty(value))32                return EvaluateEmpty();33            if (value.Equals("(null)"))34                return EvaluateNull();35            if (value.Equals("(empty)") || string.IsNullOrEmpty(value))36                return EvaluateEmpty();37            if (value.Equals("(blank)") || string.IsNullOrWhiteSpace(value))38                return EvaluateBlank();39            if (value.StartsWith("(") && value.EndsWith(")"))40                return EvaluateSpecial(value);41            return EvaluateString(value as string);42        }43        protected virtual object EvaluateNull() => "(null)";44        protected virtual object EvaluateEmpty() => "(empty)";45        protected virtual object EvaluateBlank() => "(blank)";46        protected virtual object EvaluateSpecial(string value) => value;47        protected abstract object EvaluateString(string value);48    }49    class TextToHtml : AbstractTextTransformation50    {51        protected override object EvaluateString(string value) => WebUtility.HtmlEncode(value);52    }53    class TextToLower : AbstractTextTransformation54    {55        protected override object EvaluateString(string value) => value.ToLowerInvariant();56    }57    class TextToUpper : AbstractTextTransformation58    {59        protected override object EvaluateString(string value) => value.ToUpperInvariant();60    }61    class TextToTrim : AbstractTextTransformation62    {63        protected override object EvaluateBlank() => "(empty)";64        protected override object EvaluateString(string value) => value.Trim();65    }66    abstract class AbstractTextAppend : AbstractTextTransformation67    {68        public IScalarResolver<string> Append { get; }69        public AbstractTextAppend(IScalarResolver<string> append)70            => Append = append;71        protected override object EvaluateEmpty() => Append.Execute();72        protected override object EvaluateBlank() => Append.Execute();73    }74    class TextToPrefix : AbstractTextAppend75    {76        public TextToPrefix(IScalarResolver<string> prefix)77            : base(prefix) { }78        protected override object EvaluateString(string value) => $"{Append.Execute()}{value}";79    }80    class TextToSuffix : AbstractTextAppend81    {82        public TextToSuffix(IScalarResolver<string> suffix)83            : base(suffix) { }84        protected override object EvaluateString(string value) => $"{value}{Append.Execute()}";85    }86    abstract class AbstractTextLengthTransformation : AbstractTextTransformation87    {88        public IScalarResolver<int> Length { get; }89        public AbstractTextLengthTransformation(IScalarResolver<int> length)90            => Length = length;91    }92    class TextToFirstChars : AbstractTextLengthTransformation93    {94        public TextToFirstChars(IScalarResolver<int> length)95            : base(length) { }96        protected override object EvaluateString(string value)97            => value.Length >= Length.Execute() ? value.Substring(0, Length.Execute()) : value;98    }99    class TextToLastChars : AbstractTextLengthTransformation100    {101        public TextToLastChars(IScalarResolver<int> length)102            : base(length) { }103        protected override object EvaluateString(string value)104            => value.Length >= Length.Execute() ? value.Substring(value.Length - Length.Execute(), Length.Execute()) : value;105    }106    class TextToSkipFirstChars : AbstractTextLengthTransformation107    {108        public TextToSkipFirstChars(IScalarResolver<int> length)109            : base(length) { }110        protected override object EvaluateString(string value)111            => value.Length <= Length.Execute() ? "(empty)" : value.Substring(Length.Execute(), value.Length - Length.Execute());112    }113    class TextToSkipLastChars : AbstractTextLengthTransformation114    {115        public TextToSkipLastChars(IScalarResolver<int> length)116            : base(length) { }117        protected override object EvaluateString(string value)118            => value.Length <= Length.Execute() ? "(empty)" : value.Substring(0, value.Length - Length.Execute());119    }120    abstract class AbstractTextPadTransformation : AbstractTextLengthTransformation121    {122        public IScalarResolver<char> Character { get; }123        public AbstractTextPadTransformation(IScalarResolver<int> length, IScalarResolver<char> character)124            : base(length)125            => Character = character;126        protected override object EvaluateEmpty() => new string(Character.Execute(), Length.Execute());127        protected override object EvaluateNull() => new string(Character.Execute(), Length.Execute());128    }129    class TextToPadRight : AbstractTextPadTransformation130    {131        public TextToPadRight(IScalarResolver<int> length, IScalarResolver<char> character)132            : base(length, character) { }133        protected override object EvaluateString(string value)134            => value.Length >= Length.Execute() ? value : value.PadRight(Length.Execute(), Character.Execute());135    }136    class TextToPadLeft : AbstractTextPadTransformation137    {138        public TextToPadLeft(IScalarResolver<int> length, IScalarResolver<char> character)139            : base(length, character) { }140        protected override object EvaluateString(string value)141            => value.Length >= Length.Execute() ? value : value.PadLeft(Length.Execute(), Character.Execute());142    }143    class BlankToEmpty : AbstractTextTransformation144    {145        protected override object EvaluateBlank() => "(empty)";146        protected override object EvaluateString(string value) => value;147    }148    class BlankToNull : AbstractTextTransformation149    {150        protected override object EvaluateBlank() => "(null)";151        protected override object EvaluateEmpty() => "(null)";152        protected override object EvaluateString(string value) => value;153    }154    class EmptyToNull : AbstractTextTransformation155    {156        protected override object EvaluateEmpty() => "(null)";157        protected override object EvaluateString(string value) => value;158    }159    class NullToEmpty : AbstractTextTransformation160    {161        protected override object EvaluateNull() => "(empty)";162        protected override object EvaluateString(string value) => value;163    }164    class HtmlToText : AbstractTextTransformation165    {166        protected override object EvaluateString(string value) => WebUtility.HtmlDecode(value);167    }168    class TextToLength : AbstractTextTransformation169    {170        protected override object EvaluateSpecial(string value) => -1;171        protected override object EvaluateBlank() => -1;172        protected override object EvaluateEmpty() => 0;173        protected override object EvaluateNull() => 0;174        protected override object EvaluateString(string value) => value.Length;175    }176    class TextToToken : AbstractTextTransformation177    {178        public IScalarResolver<int> Index { get; }179        public IScalarResolver<char> Separator { get; }180        public TextToToken(IScalarResolver<int> index)181            => (Index, Separator) = (index, null);182        public TextToToken(IScalarResolver<int> index, IScalarResolver<char> separator)183            => (Index, Separator) = (index, separator);184        protected override object EvaluateBlank() => Separator == null || char.IsWhiteSpace(Separator.Execute()) ? "(null)" : "(blank)";185        protected override object EvaluateEmpty() => "(null)";186        protected override object EvaluateString(string value)187        {188            var tokenizer = Separator == null ? (ITokenizer)new WhitespaceTokenizer() : new Tokenizer(Separator.Execute());189            var tokens = tokenizer.Execute(value);190            var indexValue = Index.Execute();191            if (indexValue < tokens.Length)192                return tokens[indexValue];193            else194                return "(null)";195        }196    }197    class TextToTokenCount : TextToLength198    {199        public IScalarResolver<char> Separator { get; }200        public TextToTokenCount()201            => Separator = null;202        public TextToTokenCount(IScalarResolver<char> separator)203            => Separator = separator;204        protected override object EvaluateBlank() => 0;205        protected override object EvaluateString(string value) => TokenCount(value);206        private int TokenCount(string value)207        {208            var tokenizer = Separator == null ? (ITokenizer)new WhitespaceTokenizer() : new Tokenizer(Separator.Execute());209            return tokenizer.Execute(value).Count();210        }211    }212    class TextToDateTime : AbstractTextTransformation213    {214        public IScalarResolver<string> Format { get; }215        public IScalarResolver<string> Culture { get; }216        public TextToDateTime(IScalarResolver<string> format)217            => (Format, Culture) = (format, new LiteralScalarResolver<string>(string.Empty));218        public TextToDateTime(IScalarResolver<string> format, IScalarResolver<string> culture)219            => (Format, Culture) = (format, culture);220        protected override object EvaluateString(string value)221        {222            var info = (string.IsNullOrEmpty(Culture.Execute()) ? CultureInfo.InvariantCulture : new CultureInfo(Culture.Execute())).DateTimeFormat;223            if (DateTime.TryParseExact(value, Format.Execute(), info, DateTimeStyles.RoundtripKind, out var dateTime))224                return DateTime.SpecifyKind(dateTime, DateTimeKind.Unspecified);225            throw new NBiException($"Impossible to transform the value '{value}' into a date using the format '{Format}'");226        }227    }228    class TextToRemoveChars : AbstractTextTransformation229    {230        public IScalarResolver<char> CharToRemove { get; }231        public TextToRemoveChars(IScalarResolver<char> charToRemove)232            => CharToRemove = charToRemove;233        protected override object EvaluateString(string value)234        {235            var stringBuilder = new StringBuilder();236            foreach (var c in value)237                if (!c.Equals(CharToRemove.Execute()))238                    stringBuilder.Append(c);239            return stringBuilder.ToString();240        }241        protected override object EvaluateBlank()242        {243            if (char.IsWhiteSpace(CharToRemove.Execute()))244                return "(empty)";245            else246                return base.EvaluateBlank();247        }248    }249    class TextToMask : AbstractTextTransformation250    {251        private char maskChar { get; } = '*';252        public IScalarResolver<string> Mask { get; }253        public TextToMask(IScalarResolver<string> mask)254            => Mask = mask;255        protected override object EvaluateString(string value)256        {257            var mask = Mask.Execute();258            var stringBuilder = new StringBuilder();259            var index = 0;260            foreach (var c in mask)261                if (c.Equals(maskChar))262                    stringBuilder.Append(index < value.Length ? value[index++] : maskChar);263                else264                    stringBuilder.Append(c);265            return stringBuilder.ToString();266        }267        protected override object EvaluateBlank()268            => Mask.Execute();269        protected override object EvaluateEmpty()270            => Mask.Execute();271    }272    class MaskToText : AbstractTextTransformation273    {274        private char maskChar { get; } = '*';275        public IScalarResolver<string> Mask { get; }276        public MaskToText(IScalarResolver<string> mask)277            => Mask = mask;278        protected override object EvaluateString(string value)279        {280            var mask = Mask.Execute();281            var stringBuilder = new StringBuilder();282            if (mask.Length != value.Length)283                return "(null)";284            for (int i = 0; i < mask.Length; i++)285                if (mask[i].Equals(maskChar) && !value[i].Equals(maskChar))286                    stringBuilder.Append(value[i]);287                else if (!mask[i].Equals(value[i]))288                    return "(null)";289            return stringBuilder.ToString();290        }291        protected override object EvaluateBlank()292            => (Mask.Execute().Replace(maskChar.ToString(), "").Length == 0) ? "(blank)" : "(null)";293        protected override object EvaluateEmpty()294            => (Mask.Execute().Replace(maskChar.ToString(), "").Length == 0) ? "(empty)" : "(null)";295    }296}...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!!
