public void Setup()
        {
            m_LineOne = new Line(0,
                                 0.0,
                                 10.0,
                                 100.0,
                                 10.0);
            m_LineTwo = new Line(0,
                                 0.0,
                                 50.0,
                                 100.0,
                                 50.0);
            m_LineThree = new Line(0,
                                   0.0,
                                   70.0,
                                   100.0,
                                   70.0);

            m_NodeIndexHelper = Substitute.For <INodeIndexHelper>();
            m_NodeIndexHelper.NodeIndexToLine(0).ReturnsForAnyArgs(LineForIndex);
            m_NodeIndexHelper.NodeIndexToDirection(0).ReturnsForAnyArgs(DirectionForIndex);

            m_NodeConverterOne = Substitute.For <ILineToLineNodeConverter>();
            m_NodeConverterTwo = Substitute.For <ILineToLineNodeConverter>();

            m_Disposer = Substitute.For <IDisposer>();
            m_Factory = Substitute.For <IConverterFactory>();
            m_Factory.Create <ILineToLineNodeConverter>().Returns(m_NodeConverterOne,
                                                                  m_NodeConverterTwo);

            m_Converter = new PathToLineToLineNodeConverter(m_Disposer,
                                                            m_Factory,
                                                            m_NodeIndexHelper);
        }
        public void DisposeCallsDisposeTest()
        {
            var disposer = Substitute.For <IDisposer>();

            var converter = new PathToLineToLineNodeConverter(disposer,
                                                              m_Factory,
                                                              m_NodeIndexHelper);

            converter.Dispose();

            disposer.Received().Dispose();
        }