public List <Interval <T, D> > GetIntervals(D time, StubMode mode) { Build(); List <Interval <T, D> > stubedIntervals; switch (mode) { case StubMode.Contains: stubedIntervals = head.Stab(time, ContainConstrains.None); break; case StubMode.ContainsStart: stubedIntervals = head.Stab(time, ContainConstrains.IncludeStart); break; case StubMode.ContainsStartThenEnd: stubedIntervals = head.Stab(time, ContainConstrains.IncludeStart); if (stubedIntervals.Count == 0) { stubedIntervals = head.Stab(time, ContainConstrains.IncludeEnd); } break; default: throw new ArgumentException("Invalid StubMode " + mode, "mode"); } return(stubedIntervals); }
public XElement Render() { return(new XElement(NodeName, new XAttribute(StubModeName, StubMode.ToString()), new XElement(DescrName, Description), TypeMap.Render(), new XElement(CallsName, Calls.Select(c => c.Render()).ToArray()))); }
public List <T> Get(D time, StubMode mode) { List <Interval <T, D> > intervals = GetIntervals(time, mode); List <T> result = new List <T>(); foreach (Interval <T, D> interval in intervals) { result.Add(interval.Data); } return(result); }
public CallInfo FindCall(IMethodInvocation invocationInfo) { switch (StubMode) { case StubModeType.MethodName: return(FindCallByName(invocationInfo.MethodBase)); case StubModeType.MethodSignature: return(FindCallBySignature(invocationInfo.MethodBase)); case StubModeType.MethodArguments: return(FindCallByArguments(invocationInfo)); default: throw new InvalidOperationException("Unknown StubMode: " + StubMode.ToString()); } }