public void TestSingleLink() { ObjectChain initialStep = new ObjectChain(); ChainBuilder<ObjectChain> testBuilder = ChainBuilder<ObjectChain>.Build(initialStep); ObjectChain resultingChain = testBuilder; Assert.AreEqual(initialStep, resultingChain); }
public void TestMultipleSteps() { ObjectChain initialStep = new ObjectChain(); ObjectChain secondStep = new ObjectChain(); ObjectChain thirdStep = new ObjectChain(); ChainBuilder<ObjectChain> testBuilder = ChainBuilder<ObjectChain>.Build(initialStep).WithNextStep(secondStep).WithNextStep(thirdStep); ObjectChain resultingChain = testBuilder; Assert.AreEqual(initialStep, resultingChain); Assert.AreEqual(secondStep, initialStep.NextStep); Assert.AreEqual(thirdStep, secondStep.NextStep); }