private bool GetTransition(string name, out Transition t) { Transition[] tlist; GetTransitions(name, out tlist); if (tlist != null && tlist.Length > 0) { if (tlist.Length == 1) { t = tlist[0]; } else { var jt = new JoinTransition(); t = jt; for (int i = 0; i < tlist.Length; i++) { jt.Add(tlist[i]); } } return(true); } else { t = null; return(false); } }
public void IncompleteJoinTransition(int index) { // Arrange var trans = new JoinTransition { Id = 1, Inputs = _inputs, Outputs = new[] { _outputs[0] } }; var split = new SplitToken(_token); // Act trans.Initialize(); _inputs[index].Add(split); // Assert Assert.AreEqual(1, _inputs[index].Tokens.Count()); Assert.AreEqual(0, _inputs[(index + 1) % 2].Tokens.Count()); Assert.AreEqual(0, _outputs[0].Tokens.Count()); }
public void JoinTransition() { // Arrange var trans = new JoinTransition { Id = 1, Inputs = _inputs, Outputs = new[] { _outputs[0] } }; var split1 = new SplitToken(_token); var split2 = new SplitToken(_token); // Act trans.Initialize(); _inputs[0].Add(split1); _inputs[1].Add(split2); // Assert Assert.IsTrue(_inputs.All(i => !i.Tokens.Any())); Assert.AreEqual(1, _outputs[0].Tokens.Count()); Assert.AreEqual(_token, _outputs[0].Tokens.First()); }