How to use EvaluateString method of NBi.Core.Transformation.Transformer.Native.Text.BlankToNull class

Best NBi code snippet using NBi.Core.Transformation.Transformer.Native.Text.BlankToNull.EvaluateString

TextTransformations.cs

Source:TextTransformations.cs Github

copy

Full Screen

...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)";...

Full Screen

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run NBi automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful