public bool TakeFirst(string identifier, out ExpressionSyntax result)
 {
     if (MockedExpectCalls.TryGetValue(identifier, out var queue) && queue.Count > 0)
     {
         VerifiedMocks.Add(identifier);
         result = queue.Dequeue();
         return(true);
     }
     result = null;
     return(false);
 }
 public void Add(string identifier, ExpressionSyntax syntax)
 {
     if (!MockedExpectCalls.ContainsKey(identifier))
     {
         MockedExpectCalls.Add(identifier, new Queue <ExpressionSyntax>());
     }
     if (MockedExpectCalls.TryGetValue(identifier, out var list))
     {
         list.Enqueue(syntax);
     }
 }
 public IEnumerable <ExpressionSyntax> TakeRest()
 {
     foreach (var identifier in VerifiedMocks)
     {
         if (MockedExpectCalls.TryGetValue(identifier, out var queue))
         {
             foreach (var invocation in queue)
             {
                 yield return(invocation);
             }
         }
     }
 }