Best NBi code snippet using NBi.Core.Transformation.Transformer.Native.Text.TextToLastChars.EvaluateNull
TextTransformations.cs
Source:TextTransformations.cs
...16 public object Evaluate(object value)17 {18 switch (value)19 {20 case null: return EvaluateNull();21 case DBNull _: return EvaluateNull();22 case string s: return EvaluateHighLevelString(s);23 default:24 var caster = new TextCaster();25 var str = caster.Execute(value);26 return EvaluateHighLevelString(str);27 }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 {...
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!!