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()); }
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()); }
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()); }
/// <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"); }