public override void Destroy(TestContext ctx) { parameters = null; current = null; index = -1; base.Destroy(ctx); }
public override void Initialize(TestContext ctx) { base.Initialize(ctx); if (Node.Parameter != null) { var value = Clone(Host.Deserialize(Node.Parameter)); current = new ParameterSourceValue(this, Node.Parameter, value); hasNext = true; return; } ITestParameterSource <T> instance; if (UseFixtureInstance) { instance = (ITestParameterSource <T>)GetFixtureInstance().Instance; } else if (SourceInstance != null) { instance = SourceInstance; } else { throw new InternalErrorException(); } parameters = new List <Tuple <ITestParameter, T> > (); foreach (var value in instance.GetParameters(ctx, Filter)) { var parameter = Host.Serialize(value); parameters.Add(new Tuple <ITestParameter, T> (parameter, value)); } index = 0; }
public override bool MoveNext(TestContext ctx) { if (!HasNext()) { return(false); } if (parameters != null) { var value = Clone(parameters [index].Item2); current = new ParameterSourceValue(this, parameters [index].Item1, value); index++; return(true); } else { if (!hasNext) { return(false); } hasNext = false; return(true); } }