Example #1
0
        public void TestCyclic_Bond()
        {
            var mock_cyclicSearch            = new Mock <ICyclicVertexSearch>();
            ICyclicVertexSearch cyclicSearch = mock_cyclicSearch.Object;
            var            mock_container    = new Mock <IAtomContainer>();
            IAtomContainer container         = mock_container.Object;
            IAtom          a1        = new Mock <IAtom>().Object;
            IAtom          a2        = new Mock <IAtom>().Object;
            var            mock_bond = new Mock <IBond>();
            IBond          bond      = mock_bond.Object;

            mock_container.Setup(n => n.Atoms.IndexOf(a1)).Returns(42);
            mock_container.Setup(n => n.Atoms.IndexOf(a2)).Returns(43);
            mock_bond.Setup(n => n.Begin).Returns(a1);
            mock_bond.Setup(n => n.End).Returns(a2);

            RingSearch ringSearch = new RingSearch(container, cyclicSearch);

            ringSearch.Cyclic(bond);

            // verify the number returned from getAtomNumber is passed on
            mock_container.Verify(n => n.Atoms.IndexOf(a1), Times.Once());
            mock_container.Verify(n => n.Atoms.IndexOf(a2), Times.Once());
            mock_cyclicSearch.Verify(n => n.Cyclic(42, 43), Times.Once());
        }
Example #2
0
        public void TestCyclic()
        {
            var mock_cyclicSearch            = new Mock <ICyclicVertexSearch>();
            ICyclicVertexSearch cyclicSearch = mock_cyclicSearch.Object;
            IAtomContainer      container    = new Mock <IAtomContainer>().Object;

            RingSearch ringSearch = new RingSearch(container, cyclicSearch);

            ringSearch.Cyclic();

            mock_cyclicSearch.Verify(n => n.Cyclic(), Times.Once());
        }
Example #3
0
        public void TestCyclic_Atom()
        {
            var mock_cyclicSearch            = new Mock <ICyclicVertexSearch>();
            ICyclicVertexSearch cyclicSearch = mock_cyclicSearch.Object;
            var            mock_container    = new Mock <IAtomContainer>();
            IAtomContainer container         = mock_container.Object;
            IAtom          atom = new Mock <IAtom>().Object;

            mock_container.Setup(n => n.Atoms.IndexOf(It.IsAny <IAtom>())).Returns(42);

            RingSearch ringSearch = new RingSearch(container, cyclicSearch);

            ringSearch.Cyclic(atom);

            // verify the number returned from getAtomNumber is passed on
            mock_container.Verify(n => n.Atoms.IndexOf(atom), Times.Once());
            mock_cyclicSearch.Verify(n => n.Cyclic(42), Times.Once());
        }
Example #4
0
 /// <summary>
 /// Create a new RingSearch for the specified container using the provided
 /// search.
 /// </summary>
 /// <param name="container">non-null input structure</param>
 /// <param name="searcher">non-null adjacency list representation of the container</param>
 /// <exception cref="ArgumentNullException">if the container or graph was null</exception>
 public RingSearch(IAtomContainer container, ICyclicVertexSearch searcher)
 {
     this.searcher  = searcher ?? throw new ArgumentNullException(nameof(searcher), "searcher was null");
     this.container = container ?? throw new ArgumentNullException(nameof(container), "container must not be null");
 }