public SupportConcatThread(ExprConcatNode node, int numLoop, string expectedResult) { _node = node; _numLoop = numLoop; _expectedResult = expectedResult; _thread = new Thread(Run); }
private void runAssertionThreading(ConfigurationEngineDefaults.ThreadingProfile threadingProfile) { _concatNode = new ExprConcatNode(); var textA = "This is the first text"; var textB = "Second text"; var textC = "Third text, some more"; foreach (var text in new[] { textA, textB, textC }) { _concatNode.AddChildNode(new ExprConstantNodeImpl(text)); } _concatNode.Validate(SupportExprValidationContextFactory.MakeEmpty(_container, threadingProfile)); var numThreads = 4; var numLoop = 10000; var threads = new List <SupportConcatThread>(numThreads); for (var i = 0; i < numThreads; i++) { var thread = new SupportConcatThread(_concatNode, numLoop, textA + textB + textC); threads.Add(thread); thread.Start(); } foreach (var thread in threads) { thread.Join(); Assert.IsFalse(thread.IsFail); } }
public ExprConcatNodeEvalThreadLocal( ExprConcatNode parent, ExprEvaluator[] evaluators, IThreadLocalManager threadLocalManager) { _parent = parent; _evaluators = evaluators; _localBuffer = threadLocalManager.Create <StringBuilder>(() => new StringBuilder()); }
public void TestToExpressionString() { _concatNode = new ExprConcatNode(); _concatNode.AddChildNode(new SupportExprNode("a")); _concatNode.AddChildNode(new SupportExprNode("b")); Assert.AreEqual("\"a\"||\"b\"", _concatNode.ToExpressionStringMinPrecedenceSafe()); _concatNode.AddChildNode(new SupportExprNode("c")); Assert.AreEqual("\"a\"||\"b\"||\"c\"", _concatNode.ToExpressionStringMinPrecedenceSafe()); }
public ExprConcatNodeEvalThreadLocal(ExprConcatNode parent, ExprEvaluator[] evaluators) { _parent = parent; _evaluators = evaluators; }
public void SetUp() { _container = SupportContainer.Reset(); _concatNode = new ExprConcatNode(); }
internal static string Evaluate(EvaluateParams evaluateParams, StringBuilder buffer, ExprEvaluator[] evaluators, ExprConcatNode parent) { if (InstrumentationHelper.ENABLED) { InstrumentationHelper.Get().QExprConcat(parent); } foreach (ExprEvaluator child in evaluators) { var resultX = (string)child.Evaluate(evaluateParams); if (resultX == null) { if (InstrumentationHelper.ENABLED) { InstrumentationHelper.Get().AExprConcat(null); } return(null); } buffer.Append(resultX); } var result = buffer.ToString(); if (InstrumentationHelper.ENABLED) { InstrumentationHelper.Get().AExprConcat(result); } return(result); }
public ExprConcatNodeEvalWNew(ExprConcatNode parent, ExprEvaluator[] evaluators) { _parent = parent; _evaluators = evaluators; }