anchor.diff:          let msg = getStringErrors errDict
           printfn "%A" msg
           Assert.Pass()
  +
  +//check equality of dictionary keys and given list
  +let checkEqualErrors (errorDict:Dictionary<_,_>) (testErrors:ResizeArray<_>) =
  +    if errorDict.Keys.Count = testErrors.Count
  +    then
  +        let r = testErrors |> Seq.tryFind (fun error -> not <| errorDict.ContainsKey(error))
  +        match r with
  +        | None -> true
  +        | Some x -> false
  +     else
  +        false
  +
  +//test: check result type (success or error) and compare error dictionary with testErrors
  +let errorTest buildAstAbstract qGraph shouldBeSuccess testErrors =
  +    let r = (new Parser<_>()).Parse  buildAstAbstract qGraph
  +    match r with
  +    | Error (errDict) ->
  +        let msg = getStringErrors errDict
  +        if shouldBeSuccess
  +        then
  +            Assert.Fail(sprintf "Test should produce success parsing result but its fully failed. " + msg) 
  +        else
  +            Assert.True(checkEqualErrors errDict testErrors)
  +            printfn "%A" msg
  +            Assert.Pass()
  +    | Success(tree, errDict) ->
  +        let msg = getStringErrors errDict
  +        if shouldBeSuccess
  +        then
  +            Assert.True(checkEqualErrors errDict testErrors)
  +            printfn "%A" msg
  +            Assert.Pass()
  +        else
  +            Assert.Fail(sprintf "Test should produce success parsing result but its fully failed. " + msg) 
  +
   
   let perfTest parse inputLength graph =    
       for x in 0..inputLength do
  
positive.code: //    t._26_UnambiguousBrackets_Inf()
  //    t._27_UnambiguousBrackets_WithoutEmptyString()
  //    t._28_UnambiguousBrackets_DifferentPathLengths ()
     // t.``TSQL performance test for Alvor`` 2 100 false
      //t._29_AandB_Circle ()
      //t.``TSQL performance test 2`` 2 100 false
  //    t.temp ()
      0
  
negative.code: 
          test RNGLR.PrettySimpleCalc.buildAstAbstract qGraph 13 12 0 3 0
  
      [<Test>]
      member this._02_PrettySimpleCalcSimple_BranchedInput () =
          let qGraph = new ParserInputGraph<_>(0, 4)
  