public void ClearState() { RiverModelLC riverModelLC = new RiverModelLC(); Trigger trigger = new Trigger(); riverModelLC.Initialize(new Argument[0]); Link triggerLink = new Link(); triggerLink.ID = "TargetToTriggerLink"; triggerLink.SourceComponent = riverModelLC; triggerLink.SourceElementSet = riverModelLC.GetOutputExchangeItem(0).ElementSet; //last branch in the river triggerLink.SourceQuantity = riverModelLC.GetOutputExchangeItem(0).Quantity; triggerLink.TargetComponent = trigger; triggerLink.TargetElementSet = trigger.GetInputExchangeItem(0).ElementSet; triggerLink.TargetQuantity = trigger.GetInputExchangeItem(0).Quantity; riverModelLC.AddLink(triggerLink); riverModelLC.Prepare(); string stateID = riverModelLC.KeepCurrentState(); Assert.AreEqual("state:1",stateID); Assert.AreEqual(1,riverModelLC._riverModelEngine._states.Count); riverModelLC.ClearState("state:1"); Assert.AreEqual(0,riverModelLC._riverModelEngine._states.Count); }