public void TestConstruction_Modification() { var m_a = new Mock <IAtomEncoder>(); var a = m_a.Object; var m_b = new Mock <IAtomEncoder>(); var b = m_b.Object; var m_c = new Mock <IAtomEncoder>(); var c = m_c.Object; var m_atom = new Mock <IAtom>(); var atom = m_atom.Object; var m_container = new Mock <IAtomContainer>(); var container = m_container.Object; var encoders = new List <IAtomEncoder>(); encoders.Add(a); encoders.Add(b); encoders.Add(c); IAtomEncoder encoder = new ConjugatedAtomEncoder(encoders); encoders.RemoveAt(2); // removing b should not affect the new encoder encoder.Encode(atom, container); // TODO: Moq does not support order feature. //InOrder order = InOrder(a, b, c); //order.m_a.Verify(n => n.Encode(atom, container), Times.Exactly(1)); //order.m_b.Verify(n => n.Encode(atom, container), Times.Exactly(1)); //order.m_c.Verify(n => n.Encode(atom, container), Times.Exactly(1)); //VerifyNoMoreInteractions(a, b, c, atom, container); }
public void TestEncode_Single() { var m_a = new Mock <IAtomEncoder>(); var a = m_a.Object; var m_atom = new Mock <IAtom>(); var atom = m_atom.Object; var m_container = new Mock <IAtomContainer>(); var container = m_container.Object; IAtomEncoder encoder = new ConjugatedAtomEncoder(new[] { a }); encoder.Encode(atom, container); m_a.Verify(n => n.Encode(atom, container), Times.Exactly(1)); //VerifyNoMoreInteractions(a, atom, container); }
public void TestEncode() { var m_a = new Mock <IAtomEncoder>(); var a = m_a.Object; var m_b = new Mock <IAtomEncoder>(); var b = m_b.Object; var m_c = new Mock <IAtomEncoder>(); var c = m_c.Object; var m_atom = new Mock <IAtom>(); var atom = m_atom.Object; var m_container = new Mock <IAtomContainer>(); var container = m_container.Object; IAtomEncoder encoder = new ConjugatedAtomEncoder(new[] { a, b, c, }); encoder.Encode(atom, container); //InOrder order = InOrder(a, b, c); //order.m_a.Verify(n => n.Encode(atom, container), Times.Exactly(1)); //order.m_b.Verify(n => n.Encode(atom, container), Times.Exactly(1)); //order.m_c.Verify(n => n.Encode(atom, container), Times.Exactly(1)); //VerifyNoMoreInteractions(a, b, c, atom, container); }