public void true_if_matching() { var frame1 = new BuildFrame(typeof(IWidget), "red", typeof(ColorWidget)); var frame2 = new BuildFrame(typeof(IWidget), "red", typeof(ColorWidget)); var frame3 = new BuildFrame(typeof(IWidget), "green", typeof(ColorWidget)); frame1.Contains(frame2).ShouldBeTrue(); frame1.Contains(frame3).ShouldBeFalse(); frame3.Attach(frame2); frame3.Contains(frame1).ShouldBeTrue(); }
internal void Push(BuildFrame frame) { if (_root == null) { _root = _current = frame; } else { if (_root.Contains(frame)) { throw new StructureMapException(295, frame.ToString(), _root.ToStackString()); } _current.Attach(frame); _current = frame; } }