This list is closed, nobody may subscribe to it.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(13) |
Oct
(49) |
Nov
(1) |
Dec
(8) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(12) |
Feb
(42) |
Mar
(61) |
Apr
(36) |
May
(20) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(7) |
2004 |
Jan
(29) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(5) |
2005 |
Jan
(12) |
Feb
(5) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(15) |
Nov
(89) |
Dec
(85) |
2006 |
Jan
(17) |
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <gc...@us...> - 2002-10-30 04:16:35
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock In directory usw-pr-cvs1:/tmp/cvs-serv28292/DotNetMock Modified Files: MockObject.cs Null.cs Added Files: verifyException.cs Log Message: --- NEW FILE: verifyException.cs --- using System; using System.Runtime.Serialization; namespace DotNetMock { [Serializable()] public class VerifyException : ApplicationException { public VerifyException() : base() {} public VerifyException(string message) : base(message) {} public VerifyException(string message, Exception innerException) : base(message, innerException) {} protected VerifyException(SerializationInfo serialInfo, StreamingContext streamingContext) : base(serialInfo, streamingContext) {} } } Index: MockObject.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/MockObject.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** MockObject.cs 25 Oct 2002 03:02:25 -0000 1.6 --- MockObject.cs 30 Oct 2002 04:16:32 -0000 1.7 *************** *** 6,9 **** --- 6,11 ---- /// Base Mock Object. All custom Mock Objects should extend this object. /// </summary> + + // TODO: Extend MarshalByRefObject to take care of remoting issues. public class MockObject : IVerifiable { Index: Null.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/Null.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Null.cs 11 Oct 2002 03:07:59 -0000 1.3 --- Null.cs 30 Oct 2002 04:16:32 -0000 1.4 *************** *** 5,16 **** /// Summary description for Null Class. /// </summary> ! public class Null { private string _name; ! public Null() { _name = "null"; } ! public Null(string name) { _name = name; } --- 5,16 ---- /// Summary description for Null Class. /// </summary> ! public class NullObject { private string _name; ! public NullObject() { _name = "null"; } ! public NullObject(string name) { _name = name; } *************** *** 30,34 **** public override bool Equals(Object other) { ! return (other is Null); } /// <summary> --- 30,34 ---- public override bool Equals(Object other) { ! return (other is NullObject); } /// <summary> |
From: <gc...@us...> - 2002-10-30 04:14:07
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock/Dynamic/Predicates In directory usw-pr-cvs1:/tmp/cvs-serv27832/Predicates Log Message: Directory /cvsroot/dotnetmock/dotnetmock/DotNetMock/Dynamic/Predicates added to the repository |
From: <gc...@us...> - 2002-10-29 03:40:16
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/data In directory usw-pr-cvs1:/tmp/cvs-serv24069/DotNetMock.Tests/data Added Files: mockcommandtests.cs Log Message: --- NEW FILE: mockcommandtests.cs --- using System; using System.Data; using NUnit.Framework; using DotNetMock.Data; namespace DotNetMock.Tests.Data { /// <summary> /// Summary description for MockCommandTests. /// </summary> [TestFixture] public class MockCommandTests { private MockCommand _mockCmd = null; [TearDown] public void Destroy() { _mockCmd.Dispose(); _mockCmd = null; } [Test] public void CommandTextProperty() { _mockCmd = new MockCommand(); _mockCmd.SetExpectedCommandText(@"user id=sa;password=password;Connect Timeout=30"); _mockCmd.CommandText = @"user id=sa;password=password;Connect Timeout=30"; _mockCmd.Verify(); } [Test] [ExpectedException(typeof(AssertionException))] public void InValidCommandTextProperty() { _mockCmd = new MockCommand(); _mockCmd.SetExpectedCommandText(@"user id=sa;password=password;Connect Timeout=30"); _mockCmd.Verify(); } [Test] public void CommandTimeoutProperty() { _mockCmd = new MockCommand(); _mockCmd.SetExpectedCommandTimeout(0); _mockCmd.CommandTimeout = 0; _mockCmd.Verify(); } [Test] [ExpectedException(typeof(NotImplementedException))] public void InValidCommandTimeoutProperty() { _mockCmd = new MockCommand(); _mockCmd.SetExpectedCommandTimeout(30); _mockCmd.CommandTimeout = 30; _mockCmd.Verify(); } [Test] public void CommandTypeProperty() { _mockCmd = new MockCommand(); _mockCmd.SetExpectedCommandType(System.Data.CommandType.Text); _mockCmd.CommandType = System.Data.CommandType.Text; _mockCmd.Verify(); } [Test] [ExpectedException(typeof(NotImplementedException))] public void InValidCommandTypeProperty() { _mockCmd = new MockCommand(); _mockCmd.SetExpectedCommandType(System.Data.CommandType.StoredProcedure); _mockCmd.CommandType = System.Data.CommandType.StoredProcedure; _mockCmd.Verify(); } [Test] public void ConnectionProperty() { _mockCmd = new MockCommand(); MockDbConnection mockConnection = new MockDbConnection(); MockTransaction mockTransaction = new MockTransaction(); NUnit.Framework.Assertion.AssertNull(_mockCmd.Connection); _mockCmd.Transaction = mockTransaction; NUnit.Framework.Assertion.AssertNotNull(_mockCmd.Transaction); _mockCmd.Connection = mockConnection; NUnit.Framework.Assertion.AssertNotNull(_mockCmd.Connection); NUnit.Framework.Assertion.AssertEquals(typeof(MockDbConnection), _mockCmd.Connection.GetType()); } [Test] public void ParametersProperty() { _mockCmd = new MockCommand(); MockDataParameter mockParameter = new MockDataParameter("@inpID", "123456"); _mockCmd.SetExpectedParameter(mockParameter); _mockCmd.Parameters.Add(mockParameter); _mockCmd.Verify(); NUnit.Framework.Assertion.AssertEquals(typeof(MockDataParameterCollection), _mockCmd.Parameters.GetType()); } [Test] [ExpectedException(typeof(AssertionException))] public void InValidParametersProperty() { _mockCmd = new MockCommand(); _mockCmd.SetExpectedParameter(new MockDataParameter("@inpID", "123456")); _mockCmd.Verify(); } [Test] public void ExecuteCalls() { _mockCmd = new MockCommand(); _mockCmd.SetExpectedExecuteCalls(5); _mockCmd.ExecuteNonQuery(); _mockCmd.ExecuteReader(); _mockCmd.ExecuteScalar(); _mockCmd.ExecuteScalar(); _mockCmd.ExecuteNonQuery(); _mockCmd.Verify(); } [Test] [ExpectedException(typeof(AssertionException))] public void InValidExecuteCalls() { _mockCmd = new MockCommand(); _mockCmd.SetExpectedExecuteCalls(2); _mockCmd.ExecuteNonQuery(); _mockCmd.Verify(); } } } |
From: <gc...@us...> - 2002-10-29 03:40:16
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock/Data In directory usw-pr-cvs1:/tmp/cvs-serv24069/DotNetMock/Data Added Files: MockCommand.cs MockDbConnection.cs mockTransaction.cs Log Message: --- NEW FILE: MockCommand.cs --- using System; using System.Data; namespace DotNetMock.Data { /// <summary> /// Summary description for MockCommand. /// </summary> public class MockCommand : MockObject, IDbCommand { private ExpectationString _commandText = new ExpectationString("MockCommand.CommandText"); private ExpectationValue _commandTimeout = new ExpectationValue("MockCommand.CommandTimeout"); private ExpectationValue _commandType = new ExpectationValue("MockCommand.CommandType"); private ExpectationCounter _executeCalls = new ExpectationCounter("MockCommand.ExecuteCalls"); private MockDbConnection _connection = null; private MockTransaction _transaction = null; private MockDataParameterCollection _parameters = null; private UpdateRowSource _updateRowSource = UpdateRowSource.None; public MockCommand() { _parameters = new MockDataParameterCollection(); } public void SetExpectedExecuteCalls(int calls) { _executeCalls.Expected = calls; } public void SetExpectedCommandText(string commandText) { _commandText.Expected = commandText; } public void SetExpectedCommandTimeout(int commandTimeout) { _commandTimeout.Expected = commandTimeout; } public void SetExpectedCommandType(System.Data.CommandType commandType) { _commandType.Expected = commandType; } public void SetExpectedParameter(IDataParameter parameter) { _parameters.AddExpected(parameter); } #region Implementation of IDbCommand #region IDbCommand Methods public void Cancel() { throw new NotImplementedException("Canceling a command is currently not implemented."); } public void Prepare() { throw new NotImplementedException("Canceling a command is currently not implemented."); } public System.Data.IDataReader ExecuteReader(System.Data.CommandBehavior behavior) { _executeCalls.Inc(); return null; } public System.Data.IDataReader ExecuteReader() { _executeCalls.Inc(); return null; } public object ExecuteScalar() { _executeCalls.Inc(); return null; } public int ExecuteNonQuery() { _executeCalls.Inc(); return 0; } public System.Data.IDbDataParameter CreateParameter() { return (IDbDataParameter) new MockDataParameter(); } #endregion #region IDbCommand Properties // TODO: Implement other CommandTypes: StoredProcedure & TableDirect public System.Data.CommandType CommandType { get { return (CommandType)_commandType.Actual; } set { if (!value.Equals(CommandType.Text)) { throw new NotImplementedException("Only CommandType.Text is currently supported."); } _commandType.Actual = value; } } // TODO: Implement actual CommandTimeout usage public int CommandTimeout { get { return (int)_commandTimeout.Actual; } set { if (value != 0) { throw new NotImplementedException("Custom CommandTimeout is not currently supported."); } _commandTimeout.Actual = value; } } public System.Data.IDbConnection Connection { get { return _connection; } set { if (_connection != value) { this.Transaction = null; } _connection = (MockDbConnection)value; } } public System.Data.UpdateRowSource UpdatedRowSource { get { return _updateRowSource; } set { _updateRowSource = value; } } public string CommandText { get { return _commandText.Actual; } set { _commandText.Actual = value; } } public MockDataParameterCollection Parameters { get { return _parameters; } } System.Data.IDataParameterCollection IDbCommand.Parameters { get { return _parameters; } } // TODO: Takes steps to ensure that transaction is compatible with the current connection public System.Data.IDbTransaction Transaction { get { return _transaction; } set { _transaction = (MockTransaction)value; } } #endregion #endregion #region Implementation of IDisposable public void Dispose() { } #endregion } } --- NEW FILE: MockDbConnection.cs --- using System; using System.Data; namespace DotNetMock.Data { /// <summary> /// Summary description for MockDbConnection. /// </summary> public class MockDbConnection : IDbConnection { public MockDbConnection() { // // TODO: Add constructor logic here // } #region Implementation of IDbConnection public void ChangeDatabase(string databaseName) { } public System.Data.IDbTransaction BeginTransaction(System.Data.IsolationLevel il) { return null; } public System.Data.IDbTransaction BeginTransaction() { return null; } public System.Data.IDbCommand CreateCommand() { return null; } public void Open() { } public void Close() { } public System.Data.ConnectionState State { get { return new System.Data.ConnectionState(); } } public string ConnectionString { get { return null; } set { } } public string Database { get { return null; } } public int ConnectionTimeout { get { return 0; } } #endregion #region Implementation of IDisposable public void Dispose() { } #endregion } } --- NEW FILE: mockTransaction.cs --- using System; using System.Data; namespace DotNetMock.Data { /// <summary> /// Summary description for MockTransaction. /// </summary> public class MockTransaction : IDbTransaction { public MockTransaction() { // // TODO: Add constructor logic here // } #region Implementation of IDbTransaction public void Rollback() { } public void Commit() { } public System.Data.IDbConnection Connection { get { return null; } } public System.Data.IsolationLevel IsolationLevel { get { return new System.Data.IsolationLevel(); } } #endregion #region Implementation of IDisposable public void Dispose() { } #endregion } } |
From: <gc...@us...> - 2002-10-29 03:40:16
|
Update of /cvsroot/dotnetmock/dotnetmock In directory usw-pr-cvs1:/tmp/cvs-serv24069 Modified Files: DotNetMock.Master.build Log Message: Index: DotNetMock.Master.build =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Master.build,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DotNetMock.Master.build 11 Oct 2002 03:07:59 -0000 1.2 --- DotNetMock.Master.build 29 Oct 2002 03:40:13 -0000 1.3 *************** *** 37,40 **** --- 37,46 ---- </target> + <target name="test" depends="build-all"> + <nunit> + <formatter type="Xml"/> + <test class="DotNetMock.Tests" assembly="${build.dir}/DotNetMock.Tests.dll" outfile="${build.dir}/DotNetMock.Tests.Results" /> + </nunit> + </target> <target name="build-all" description="Builds .NET Mock Object modules" depends="init"> <nant buildfile="${DotNetMock.Core}/${DotNetMock.Core}.build" target="build"/> |
From: <gc...@us...> - 2002-10-25 17:36:43
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/data In directory usw-pr-cvs1:/tmp/cvs-serv3608/DotNetMock.Tests/data Modified Files: MockDataParameterTests.cs Log Message: Index: MockDataParameterTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/data/MockDataParameterTests.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MockDataParameterTests.cs 25 Oct 2002 03:02:27 -0000 1.2 --- MockDataParameterTests.cs 25 Oct 2002 03:56:52 -0000 1.3 *************** *** 27,30 **** --- 27,31 ---- [Test] + [ExpectedException(typeof(AssertionException))] public void IsNullable() { *************** *** 36,51 **** _mockDataParameter.SetExpectedNullable(false); - try - { - _mockDataParameter.Verify(); - NUnit.Framework.Assertion.Fail("Should have thrown an exception."); - } - catch (NUnit.Framework.AssertionException ex) - { ! } } [Test] public void ConstructorNameValue() { --- 37,46 ---- _mockDataParameter.SetExpectedNullable(false); ! _mockDataParameter.Verify(); } [Test] + [ExpectedException(typeof(AssertionException))] public void ConstructorNameValue() { *************** *** 60,71 **** _mockDataParameter.SetExpectedValue("654321"); ! try ! { ! _mockDataParameter.Verify(); ! NUnit.Framework.Assertion.Fail("Should have thrown an exception."); ! } ! catch (NUnit.Framework.AssertionException ex) ! { ! } } [Test] --- 55,60 ---- _mockDataParameter.SetExpectedValue("654321"); ! ! _mockDataParameter.Verify(); } [Test] *************** *** 101,104 **** --- 90,94 ---- } [Test] + [ExpectedException(typeof(AssertionException))] public void ConstructorNameType() { *************** *** 109,123 **** _mockDataParameter.SetExpectedType(DbType.Int32); - try - { - _mockDataParameter.Verify(); - NUnit.Framework.Assertion.Fail("Should have thrown an exception."); - } - catch (NUnit.Framework.AssertionException ex) - { ! } } [Test] public void SetValue() { --- 99,107 ---- _mockDataParameter.SetExpectedType(DbType.Int32); ! _mockDataParameter.Verify(); } [Test] + [ExpectedException(typeof(AssertionException))] public void SetValue() { *************** *** 131,142 **** _mockDataParameter.SetExpectedType(DbType.Int32); ! try ! { ! _mockDataParameter.Verify(); ! NUnit.Framework.Assertion.Fail("Should have thrown an exception."); ! } ! catch (NUnit.Framework.AssertionException ex) ! { ! } } } --- 115,120 ---- _mockDataParameter.SetExpectedType(DbType.Int32); ! ! _mockDataParameter.Verify(); } } |
From: <gc...@us...> - 2002-10-25 17:34:38
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic/Generate In directory usw-pr-cvs1:/tmp/cvs-serv9843/DotNetMock.Tests/Dynamic/Generate Modified Files: ClassGeneratorTests.cs Log Message: Index: ClassGeneratorTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic/Generate/ClassGeneratorTests.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ClassGeneratorTests.cs 12 Oct 2002 03:29:54 -0000 1.1 --- ClassGeneratorTests.cs 25 Oct 2002 03:02:27 -0000 1.2 *************** *** 7,11 **** using System.Reflection.Emit; ! namespace DotNetMock.tests.Dynamic.Generate { public interface IThingy --- 7,11 ---- using System.Reflection.Emit; ! namespace DotNetMock.Tests.Dynamic.Generate { public interface IThingy |
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock In directory usw-pr-cvs1:/tmp/cvs-serv9843/DotNetMock Modified Files: AbstractExpectation.cs AbstractExpectationCollection.cs AssemblyInfo.cs ExpectationArrayList.cs ExpectationCounter.cs MockObject.cs Verifier.cs Added Files: IExpectation.cs IExpectationCollection.cs IVerifiable.cs Removed Files: Expectation.cs ExpectationCollection.cs Verifiable.cs Log Message: --- NEW FILE: IExpectation.cs --- namespace DotNetMock { using System; /// <summary> /// Interface that all expectation implement. Also implements the Verifiable interface /// </summary> public interface IExpectation : IVerifiable { /// <summary> /// Gets/Sets Has Expectations /// </summary> bool HasExpectations {get;set;} /// <summary> /// Sets the verify immediate flag /// </summary> bool VerifyImmediate {set;} /// <summary> /// Gets should check immediate /// </summary> bool ShouldCheckImmediate {get;} } } --- NEW FILE: IExpectationCollection.cs --- namespace DotNetMock { using System; using System.Collections; /// <summary> /// Summary description for Expectation Collection Interface. /// </summary> public interface IExpectationCollection : IExpectation { /// <summary> /// Adds object to actual collection /// </summary> /// <param name="actual">object to add</param> void AddActual(object actual); /// <summary> /// Adds an array of objects to actual collection /// </summary> /// <param name="actualMany">array of objects to add</param> void AddActualMany(object[] actualMany); /// <summary> /// Adds a Collection that implements the IEnumerable interface to actual collection /// </summary> /// <param name="actualMany"></param> void AddActualMany(IEnumerable actualMany); /// <summary> /// Adds the elements of an object that implements IList to the actual collection /// </summary> /// <param name="actualMany"></param> void AddActualMany(IList actualMany); /// <summary> /// Adds object to expected collection /// </summary> /// <param name="expected"></param> void AddExpected(object expected); /// <summary> /// Adds an array of objects to expected collection /// </summary> /// <param name="expectedMany"></param> void AddExpectedMany(object[] expectedMany); /// <summary> /// Adds a Collection that implements the IEnumerable interface to expected collection /// </summary> /// <param name="expectedMany"></param> void AddExpectedMany(IEnumerable expectedMany); /// <summary> /// Adds the elements of an object that implements IList to the expected collection /// </summary> /// <param name="expectedMany"></param> void AddExpectedMany(IList expectedMany); } } --- NEW FILE: IVerifiable.cs --- namespace DotNetMock { using System; /// <summary> /// A Verifiable is an object that can confirm at the end of a unit test that /// the correct behvaiour has occurred. /// </summary> public interface IVerifiable { void Verify(); } } Index: AbstractExpectation.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/AbstractExpectation.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** AbstractExpectation.cs 21 Sep 2002 06:19:18 -0000 1.6 --- AbstractExpectation.cs 25 Oct 2002 03:02:25 -0000 1.7 *************** *** 6,18 **** /// Summary description for Abstract Expectation. /// </summary> ! public abstract class AbstractExpectation : Expectation { private bool _hasExpectations = false; private bool _verifyImmediate = false; ! protected string _name = null; ! public AbstractExpectation(string name) { ! this._name = name; } --- 6,18 ---- /// Summary description for Abstract Expectation. /// </summary> ! public abstract class AbstractExpectation : IExpectation { private bool _hasExpectations = false; private bool _verifyImmediate = false; ! protected string name = null; ! protected AbstractExpectation(string name) { ! this.name = name; } Index: AbstractExpectationCollection.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/AbstractExpectationCollection.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** AbstractExpectationCollection.cs 11 Oct 2002 03:07:59 -0000 1.3 --- AbstractExpectationCollection.cs 25 Oct 2002 03:02:25 -0000 1.4 *************** *** 8,12 **** /// Summary description for AbstractExpectationCollection. /// </summary> ! public abstract class AbstractExpectationCollection : AbstractExpectation, ExpectationCollection { /// <summary> --- 8,12 ---- /// Summary description for AbstractExpectationCollection. /// </summary> ! public abstract class AbstractExpectationCollection : AbstractExpectation, IExpectationCollection { /// <summary> *************** *** 14,18 **** /// </summary> /// <param name="name">Name for AbstractExpectationCollection</param> ! public AbstractExpectationCollection(string name) : base(name) {} /// <summary> /// Checks the given values immediatly --- 14,18 ---- /// </summary> /// <param name="name">Name for AbstractExpectationCollection</param> ! protected AbstractExpectationCollection(string name) : base(name) {} /// <summary> /// Checks the given values immediatly *************** *** 24,33 **** /// </summary> /// <returns>Actual Collection</returns> ! abstract protected IList GetActualCollection(); /// <summary> /// Returns Expected Collection /// </summary> /// <returns>Expected Collection</returns> ! abstract protected IList GetExpectedCollection(); /// <summary> /// Adds value to actual collection --- 24,33 ---- /// </summary> /// <returns>Actual Collection</returns> ! abstract public IList ActualCollection {get;} /// <summary> /// Returns Expected Collection /// </summary> /// <returns>Expected Collection</returns> ! abstract public IList ExpectedCollection {get;} /// <summary> /// Adds value to actual collection *************** *** 36,40 **** public void AddActual(object actual) { ! GetActualCollection().Add(actual); if (ShouldCheckImmediate) { --- 36,40 ---- public void AddActual(object actual) { ! this.ActualCollection.Add(actual); if (ShouldCheckImmediate) { *************** *** 82,86 **** public void AddExpected(object expected) { ! GetExpectedCollection().Add(expected); this.HasExpectations = true; } --- 82,86 ---- public void AddExpected(object expected) { ! this.ExpectedCollection.Add(expected); this.HasExpectations = true; } *************** *** 124,128 **** public override void ClearActual() { ! GetActualCollection().Clear(); } /// <summary> --- 124,128 ---- public override void ClearActual() { ! this.ExpectedCollection.Clear(); } /// <summary> *************** *** 131,135 **** public override void ClearExpected() { ! GetExpectedCollection().Clear(); } /// <summary> --- 131,135 ---- public override void ClearExpected() { ! this.ExpectedCollection.Clear(); } /// <summary> *************** *** 146,153 **** public override void Verify() { ! NUnit.Framework.Assertion.AssertEquals(GetExpectedCollection().Count, GetActualCollection().Count); ! for (int i = 0; i < GetActualCollection().Count; i++) { ! NUnit.Framework.Assertion.AssertEquals("Collection items not equal.", GetExpectedCollection()[i], GetActualCollection()[i]); } } --- 146,153 ---- public override void Verify() { ! NUnit.Framework.Assertion.AssertEquals(this.ExpectedCollection.Count, this.ActualCollection.Count); ! for (int i = 0; i < this.ActualCollection.Count; i++) { ! NUnit.Framework.Assertion.AssertEquals("Collection items not equal.", this.ExpectedCollection[i], this.ActualCollection[i]); } } Index: AssemblyInfo.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/AssemblyInfo.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** AssemblyInfo.cs 11 Oct 2002 03:07:59 -0000 1.4 --- AssemblyInfo.cs 25 Oct 2002 03:02:25 -0000 1.5 *************** *** 1,5 **** --- 1,12 ---- + using System; using System.Reflection; using System.Runtime.CompilerServices; + using System.Runtime.InteropServices; + // Marks CLS Compliance + [assembly:CLSCompliant(true)] + + // Marks COM Visibility to false. we don't want COM clients to use this assembly + [assembly:ComVisible(false)] // // General Information about an assembly is controlled through the following Index: ExpectationArrayList.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/ExpectationArrayList.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ExpectationArrayList.cs 11 Oct 2002 03:07:59 -0000 1.6 --- ExpectationArrayList.cs 25 Oct 2002 03:02:25 -0000 1.7 *************** *** 23,29 **** /// </summary> /// <returns>Actual Collection</returns> ! protected override IList GetActualCollection() { ! return _actualArrayList; } /// <summary> --- 23,29 ---- /// </summary> /// <returns>Actual Collection</returns> ! public override IList ActualCollection { ! get { return _actualArrayList; } } /// <summary> *************** *** 31,37 **** /// </summary> /// <returns>Expected Collection</returns> ! protected override IList GetExpectedCollection() { ! return _expectedArrayList; } /// <summary> --- 31,37 ---- /// </summary> /// <returns>Expected Collection</returns> ! public override IList ExpectedCollection { ! get { return _expectedArrayList; } } /// <summary> Index: ExpectationCounter.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/ExpectationCounter.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ExpectationCounter.cs 11 Oct 2002 03:07:59 -0000 1.5 --- ExpectationCounter.cs 25 Oct 2002 03:02:25 -0000 1.6 *************** *** 48,52 **** if (ShouldCheckImmediate) { NUnit.Framework.Assertion.Assert( ! this._name + " should not be called more than " + this._expectedCalls + " times", this._actualCalls <= this._expectedCalls); } --- 48,52 ---- if (ShouldCheckImmediate) { NUnit.Framework.Assertion.Assert( ! this.name + " should not be called more than " + this._expectedCalls + " times", this._actualCalls <= this._expectedCalls); } Index: MockObject.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/MockObject.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MockObject.cs 11 Oct 2002 03:07:59 -0000 1.5 --- MockObject.cs 25 Oct 2002 03:02:25 -0000 1.6 *************** *** 6,18 **** /// Base Mock Object. All custom Mock Objects should extend this object. /// </summary> ! public class MockObject : Verifiable { ! protected string _name = null; public MockObject(string name) { ! _name = name; } public MockObject() { ! _name = "MockObject"; } /// <summary> --- 6,19 ---- /// Base Mock Object. All custom Mock Objects should extend this object. /// </summary> ! public class MockObject : IVerifiable { ! protected string name = null; ! public MockObject(string name) { ! name = name; } public MockObject() { ! name = "MockObject"; } /// <summary> *************** *** 22,28 **** /// <param name="object1">First Object.</param> /// <param name="object2">Second Object.</param> ! public void AssertEquals(string message, Object object1, Object object2) { ! NUnit.Framework.Assertion.AssertEquals(message, object1, object2); } /// <summary> --- 23,29 ---- /// <param name="object1">First Object.</param> /// <param name="object2">Second Object.</param> ! public void AssertEquals(string message, Object expectedObject, Object actualObject) { ! NUnit.Framework.Assertion.AssertEquals(message, expectedObject, actualObject); } /// <summary> Index: Verifier.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/Verifier.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Verifier.cs 21 Sep 2002 06:19:18 -0000 1.4 --- Verifier.cs 25 Oct 2002 03:02:26 -0000 1.5 *************** *** 26,33 **** /// Calls Verify() with the object and it's type. /// </summary> ! /// <param name="anObject"></param> ! public static void Verify(Object anObject) { ! Verify(anObject, anObject.GetType()); } /// <summary> --- 26,33 ---- /// Calls Verify() with the object and it's type. /// </summary> ! /// <param name="verifiableObject"></param> ! public static void Verify(Object verifiableObject) { ! Verify(verifiableObject, verifiableObject.GetType()); } /// <summary> *************** *** 38,55 **** /// <param name="anObject">Object to verify.</param> /// <param name="aType">Current Type.</param> ! protected internal static void Verify(Object anObject, Type aType) { // End the recursion at System.Object ! if (IsRootType(aType)) { return; } ! Verify(anObject, aType.BaseType); ! FieldInfo[] fields = aType.GetFields(_bindingFlags); foreach (FieldInfo field in fields) { ! VerifyField(field, anObject); } } --- 38,55 ---- /// <param name="anObject">Object to verify.</param> /// <param name="aType">Current Type.</param> ! protected internal static void Verify(Object verifiableObject, Type currentType) { // End the recursion at System.Object ! if (IsRootType(currentType)) { return; } ! Verify(verifiableObject, currentType.BaseType); ! FieldInfo[] fields = currentType.GetFields(_bindingFlags); foreach (FieldInfo field in fields) { ! VerifyField(field, verifiableObject); } } *************** *** 59,68 **** /// <param name="aField">Current Field.</param> /// <param name="anObject">Current Object.</param> ! protected internal static void VerifyField(FieldInfo aField, Object anObject) { ! Object fieldValue = aField.GetValue(anObject); ! Verifiable aVerifiable; ! if ((aVerifiable = fieldValue as Verifiable) != null) { aVerifiable.Verify(); --- 59,68 ---- /// <param name="aField">Current Field.</param> /// <param name="anObject">Current Object.</param> ! protected internal static void VerifyField(FieldInfo verifiableField, Object verifiableObject) { ! Object fieldValue = verifiableField.GetValue(verifiableObject); ! IVerifiable aVerifiable; ! if ((aVerifiable = fieldValue as IVerifiable) != null) { aVerifiable.Verify(); --- Expectation.cs DELETED --- --- ExpectationCollection.cs DELETED --- --- Verifiable.cs DELETED --- |
From: <gc...@us...> - 2002-10-25 17:34:11
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock/Data In directory usw-pr-cvs1:/tmp/cvs-serv3608/DotNetMock/Data Modified Files: MockDataParameter.cs Log Message: Index: MockDataParameter.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/Data/MockDataParameter.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** MockDataParameter.cs 25 Oct 2002 03:02:26 -0000 1.4 --- MockDataParameter.cs 25 Oct 2002 03:56:51 -0000 1.5 *************** *** 1,5 **** using System; using System.Data; - using DotNetMock; namespace DotNetMock.Data --- 1,4 ---- |
From: <gc...@us...> - 2002-10-25 17:20:09
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock/Data In directory usw-pr-cvs1:/tmp/cvs-serv9843/DotNetMock/Data Modified Files: MockDataParameter.cs Log Message: Index: MockDataParameter.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/Data/MockDataParameter.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** MockDataParameter.cs 11 Oct 2002 03:07:59 -0000 1.3 --- MockDataParameter.cs 25 Oct 2002 03:02:26 -0000 1.4 *************** *** 203,212 **** switch (Type.GetTypeCode(value.GetType())) { - case TypeCode.Empty: - throw new SystemException("Invalid data type"); - case TypeCode.Object: return DbType.Object; case TypeCode.DBNull: case TypeCode.Char: --- 203,210 ---- switch (Type.GetTypeCode(value.GetType())) { case TypeCode.Object: return DbType.Object; + case TypeCode.Empty: case TypeCode.DBNull: case TypeCode.Char: *************** *** 215,220 **** case TypeCode.UInt32: case TypeCode.UInt64: ! // Throw a SystemException for unsupported data types. ! throw new SystemException("Invalid data type"); case TypeCode.Boolean: --- 213,217 ---- case TypeCode.UInt32: case TypeCode.UInt64: ! throw new ApplicationException("Unsupported data type"); case TypeCode.Boolean: *************** *** 249,253 **** default: ! throw new SystemException("Value is of unknown data type"); } } --- 246,250 ---- default: ! throw new ApplicationException("Value is of unknown data type"); } } |
From: <gc...@us...> - 2002-10-25 17:20:07
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic In directory usw-pr-cvs1:/tmp/cvs-serv9843/DotNetMock.Tests/Dynamic Modified Files: DynamicMockTests.cs MockTests.cs PredicateTests.cs Log Message: Index: DynamicMockTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic/DynamicMockTests.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DynamicMockTests.cs 12 Oct 2002 03:29:54 -0000 1.1 --- DynamicMockTests.cs 25 Oct 2002 03:02:27 -0000 1.2 *************** *** 3,7 **** using DotNetMock.Dynamic; ! namespace DotNetMock.tests.Dynamic { [TestFixture] --- 3,7 ---- using DotNetMock.Dynamic; ! namespace DotNetMock.Tests.Dynamic { [TestFixture] Index: MockTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic/MockTests.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MockTests.cs 12 Oct 2002 03:29:54 -0000 1.1 --- MockTests.cs 25 Oct 2002 03:02:27 -0000 1.2 *************** *** 3,7 **** using DotNetMock.Dynamic; ! namespace DotNetMock.tests.Dynamic { /// <summary> --- 3,7 ---- using DotNetMock.Dynamic; ! namespace DotNetMock.Tests.Dynamic { /// <summary> Index: PredicateTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic/PredicateTests.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PredicateTests.cs 12 Oct 2002 03:29:54 -0000 1.1 --- PredicateTests.cs 25 Oct 2002 03:02:27 -0000 1.2 *************** *** 4,8 **** using DotNetMock.Dynamic; ! namespace DotNetMock.tests.Dynamic { /// <summary> --- 4,8 ---- using DotNetMock.Dynamic; ! namespace DotNetMock.Tests.Dynamic { /// <summary> |
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests In directory usw-pr-cvs1:/tmp/cvs-serv9843/DotNetMock.Tests Modified Files: DotNetMock.Tests.csproj ExpectationArrayListTests.cs ExpectationBoolTests.cs ExpectationCounterTests.cs ExpectationStringTests.cs ExpectationTypeTests.cs ExpectationValueTests.cs MockObjectTests.cs NullTests.cs ReturnValueTest.cs VerifierTests.cs Log Message: Index: DotNetMock.Tests.csproj =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/DotNetMock.Tests.csproj,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DotNetMock.Tests.csproj 7 Oct 2002 00:10:34 -0000 1.1 --- DotNetMock.Tests.csproj 25 Oct 2002 03:02:26 -0000 1.2 *************** *** 17,21 **** DelaySign = "false" OutputType = "Library" ! RootNamespace = "DotNetMock.tests" StartupObject = "" > --- 17,21 ---- DelaySign = "false" OutputType = "Library" ! RootNamespace = "DotNetMock.Tests" StartupObject = "" > *************** *** 143,147 **** --- 143,172 ---- /> <File + RelPath = "Data\MockDataParameterCollectionTests.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "Data\MockDataParameterTests.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "Dynamic\DynamicMockTests.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "Dynamic\MockTests.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "Dynamic\PredicateTests.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "Dynamic\Generate\ClassGeneratorTests.cs" SubType = "Code" BuildAction = "Compile" Index: ExpectationArrayListTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/ExpectationArrayListTests.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ExpectationArrayListTests.cs 7 Oct 2002 00:09:45 -0000 1.1 --- ExpectationArrayListTests.cs 25 Oct 2002 03:02:26 -0000 1.2 *************** *** 1,3 **** ! namespace DotNetMock.tests { using System; --- 1,3 ---- ! namespace DotNetMock.Tests { using System; Index: ExpectationBoolTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/ExpectationBoolTests.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ExpectationBoolTests.cs 7 Oct 2002 00:09:45 -0000 1.1 --- ExpectationBoolTests.cs 25 Oct 2002 03:02:26 -0000 1.2 *************** *** 2,6 **** using NUnit.Framework; ! namespace DotNetMock.tests { /// <summary> --- 2,6 ---- using NUnit.Framework; ! namespace DotNetMock.Tests { /// <summary> Index: ExpectationCounterTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/ExpectationCounterTests.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ExpectationCounterTests.cs 7 Oct 2002 00:09:45 -0000 1.1 --- ExpectationCounterTests.cs 25 Oct 2002 03:02:26 -0000 1.2 *************** *** 1,3 **** ! namespace DotNetMock.tests { using System; using NUnit.Framework; --- 1,3 ---- ! namespace DotNetMock.Tests { using System; using NUnit.Framework; Index: ExpectationStringTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/ExpectationStringTests.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ExpectationStringTests.cs 7 Oct 2002 00:09:45 -0000 1.1 --- ExpectationStringTests.cs 25 Oct 2002 03:02:26 -0000 1.2 *************** *** 1,3 **** ! namespace DotNetMock.tests { using System; --- 1,3 ---- ! namespace DotNetMock.Tests { using System; Index: ExpectationTypeTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/ExpectationTypeTests.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ExpectationTypeTests.cs 7 Oct 2002 00:09:45 -0000 1.1 --- ExpectationTypeTests.cs 25 Oct 2002 03:02:26 -0000 1.2 *************** *** 3,7 **** using NUnit.Framework; ! namespace DotNetMock.tests { /// <summary> --- 3,7 ---- using NUnit.Framework; ! namespace DotNetMock.Tests { /// <summary> Index: ExpectationValueTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/ExpectationValueTests.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ExpectationValueTests.cs 7 Oct 2002 00:09:45 -0000 1.1 --- ExpectationValueTests.cs 25 Oct 2002 03:02:26 -0000 1.2 *************** *** 1,3 **** ! namespace DotNetMock.tests { using System; --- 1,3 ---- ! namespace DotNetMock.Tests { using System; Index: MockObjectTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/MockObjectTests.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MockObjectTests.cs 7 Oct 2002 00:09:45 -0000 1.1 --- MockObjectTests.cs 25 Oct 2002 03:02:26 -0000 1.2 *************** *** 1,3 **** ! namespace DotNetMock.tests { using System; --- 1,3 ---- ! namespace DotNetMock.Tests { using System; Index: NullTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/NullTests.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** NullTests.cs 7 Oct 2002 00:09:45 -0000 1.1 --- NullTests.cs 25 Oct 2002 03:02:26 -0000 1.2 *************** *** 1,3 **** ! namespace DotNetMock.tests { using System; --- 1,3 ---- ! namespace DotNetMock.Tests { using System; Index: ReturnValueTest.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/ReturnValueTest.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ReturnValueTest.cs 7 Oct 2002 00:09:45 -0000 1.1 --- ReturnValueTest.cs 25 Oct 2002 03:02:26 -0000 1.2 *************** *** 1,3 **** ! namespace DotNetMock.tests { using System; --- 1,3 ---- ! namespace DotNetMock.Tests { using System; Index: VerifierTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/VerifierTests.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** VerifierTests.cs 7 Oct 2002 00:09:45 -0000 1.1 --- VerifierTests.cs 25 Oct 2002 03:02:26 -0000 1.2 *************** *** 1,3 **** ! namespace DotNetMock.tests { using System; --- 1,3 ---- ! namespace DotNetMock.Tests { using System; |
From: <gc...@us...> - 2002-10-25 17:20:06
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/data In directory usw-pr-cvs1:/tmp/cvs-serv9843/DotNetMock.Tests/data Modified Files: MockDataParameterTests.cs Log Message: Index: MockDataParameterTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/data/MockDataParameterTests.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MockDataParameterTests.cs 7 Oct 2002 00:09:45 -0000 1.1 --- MockDataParameterTests.cs 25 Oct 2002 03:02:27 -0000 1.2 *************** *** 4,8 **** using DotNetMock.Data; ! namespace DotNetMock.tests.Data { /// <summary> --- 4,8 ---- using DotNetMock.Data; ! namespace DotNetMock.Tests.Data { /// <summary> |
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests In directory usw-pr-cvs1:/tmp/cvs-serv3608/DotNetMock.Tests Modified Files: ExpectationArrayListTests.cs ExpectationStringTests.cs ExpectationTypeTests.cs ExpectationValueTests.cs Removed Files: ExpectationListTest.cs Log Message: Index: ExpectationArrayListTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/ExpectationArrayListTests.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ExpectationArrayListTests.cs 25 Oct 2002 03:02:26 -0000 1.2 --- ExpectationArrayListTests.cs 25 Oct 2002 03:56:52 -0000 1.3 *************** *** 113,144 **** [Test] public void FailImmediately() { _expectationArrayList.AddExpected("A"); _expectationArrayList.AddExpected("B"); _expectationArrayList.AddActual("A"); ! try ! { ! _expectationArrayList.AddActual("C"); ! NUnit.Framework.Assertion.Fail("Should have thrown an exception."); ! } ! catch (NUnit.Framework.AssertionException ex) ! { ! } } [Test] public void FailImmediatelyTooMany() { _expectationArrayList.AddExpected("A"); _expectationArrayList.AddActual("A"); ! try ! { ! _expectationArrayList.AddActual("C"); ! NUnit.Framework.Assertion.Fail("Should have thrown an exception."); ! } ! catch (NUnit.Framework.AssertionException ex) ! { ! } } --- 113,134 ---- [Test] + [ExpectedException(typeof(AssertionException))] public void FailImmediately() { _expectationArrayList.AddExpected("A"); _expectationArrayList.AddExpected("B"); + _expectationArrayList.VerifyImmediate = true; _expectationArrayList.AddActual("A"); ! _expectationArrayList.AddActual("C"); } [Test] + [ExpectedException(typeof(AssertionException))] public void FailImmediatelyTooMany() { _expectationArrayList.AddExpected("A"); _expectationArrayList.AddActual("A"); ! _expectationArrayList.VerifyImmediate = true; ! _expectationArrayList.AddActual("C"); } Index: ExpectationStringTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/ExpectationStringTests.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ExpectationStringTests.cs 25 Oct 2002 03:02:26 -0000 1.2 --- ExpectationStringTests.cs 25 Oct 2002 03:56:52 -0000 1.3 *************** *** 65,68 **** --- 65,69 ---- [Test] + [ExpectedException(typeof(AssertionException))] public void Verify() { *************** *** 74,86 **** _expectationString.Expected = test5; ! try ! { ! _expectationString.Verify(); ! NUnit.Framework.Assertion.Fail("Should have thrown an exception."); ! } ! catch (NUnit.Framework.AssertionException ex) ! { ! } ! _expectationString.Expected = test6; _expectationString.Verify(); --- 75,80 ---- _expectationString.Expected = test5; ! _expectationString.Verify(); ! _expectationString.Expected = test6; _expectationString.Verify(); Index: ExpectationTypeTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/ExpectationTypeTests.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ExpectationTypeTests.cs 25 Oct 2002 03:02:26 -0000 1.2 --- ExpectationTypeTests.cs 25 Oct 2002 03:56:52 -0000 1.3 *************** *** 61,64 **** --- 61,65 ---- [Test] + [ExpectedException(typeof(AssertionException))] public void Verify() { *************** *** 69,80 **** _expectationType.Actual = type1 ; _expectationType.Expected = type2 ; ! try ! { ! _expectationType.Verify(); ! NUnit.Framework.Assertion.Fail("Should have thrown an exception."); ! } ! catch (NUnit.Framework.AssertionException ex) ! { ! } _expectationType.Expected = type3 ; _expectationType.Verify(); --- 70,76 ---- _expectationType.Actual = type1 ; _expectationType.Expected = type2 ; ! ! _expectationType.Verify(); ! _expectationType.Expected = type3 ; _expectationType.Verify(); Index: ExpectationValueTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/ExpectationValueTests.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ExpectationValueTests.cs 25 Oct 2002 03:02:26 -0000 1.2 --- ExpectationValueTests.cs 25 Oct 2002 03:56:52 -0000 1.3 *************** *** 58,61 **** --- 58,62 ---- [Test] + [ExpectedException(typeof(AssertionException))] public void Verify() { *************** *** 66,77 **** _expectationValue.Actual = int1 ; _expectationValue.Expected = int2 ; ! try ! { ! _expectationValue.Verify(); ! NUnit.Framework.Assertion.Fail("Should have thrown an exception."); ! } ! catch (NUnit.Framework.AssertionException ex) ! { ! } _expectationValue.Expected = int3 ; _expectationValue.Verify(); --- 67,72 ---- _expectationValue.Actual = int1 ; _expectationValue.Expected = int2 ; ! _expectationValue.Verify(); ! _expectationValue.Expected = int3 ; _expectationValue.Verify(); --- ExpectationListTest.cs DELETED --- |
From: <gc...@us...> - 2002-10-25 17:19:55
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock In directory usw-pr-cvs1:/tmp/cvs-serv4413/DotNetMock Removed Files: ExpectationList.cs Log Message: --- ExpectationList.cs DELETED --- |
From: <gc...@us...> - 2002-10-12 03:29:56
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic/Generate In directory usw-pr-cvs1:/tmp/cvs-serv12370/DotNetMock.Tests/Dynamic/Generate Added Files: ClassGeneratorTests.cs Log Message: Added the dynamic Mock Object Generation package --- NEW FILE: ClassGeneratorTests.cs --- using System; using NUnit.Framework; using DotNetMock.Dynamic; using DotNetMock.Dynamic.Generate; using System.Collections; using System.Reflection; using System.Reflection.Emit; namespace DotNetMock.tests.Dynamic.Generate { public interface IThingy { void NoArgs(); void Another(); void WithSimpleArg(string s); void WithTwoArgs(string a, string b); void WithThreeArgs(string a, string b, string c); void WithLotsOfArgs(string a, string b, string c, string d, string e, string f); void WithOtherArgs(int x, bool y, object o, IList list); void WithParams(int i, params string[] extra); object simpleReturn(); string stringReturn(); int intReturn(); bool boolReturn(); double doubleReturn(); IThingy AThingy(); string ReadProperty { get; } string WriteProperty { set; } string AProperty { get; set; } } public abstract class SolidThingy { public virtual string VirtualMethod() { return "xx"; } public override string ToString() { return "xx"; } public abstract string AbstractMethod(); // cannot override public static string StaticMethod() { return "xx"; } public string NonVirtualMethod() { return "xx"; } private string privateMethod() { return "xx"; } internal string internalMethod() { return "xx"; } protected virtual string protectedMethod() { return "xx"; } protected internal virtual string protectedInternalMethod() { return "xx"; } string defaultInternalMethod() { return "xx"; } } [TestFixture] public class ClassGeneratorTest { private ClassGenerator cg; private IMock mock; private IThingy thingy; [SetUp] public void SetUp() { cg = new ClassGenerator(); mock = new Mock("Test Mock"); thingy = (IThingy)cg.Generate(typeof(IThingy), mock); } [Test] public void CallMethodIsCalled() { mock.Expect("NoArgs"); thingy.NoArgs(); mock.Verify(); } [Test] public void CallMethodWithReturn() { object x = "sdfs"; mock.ExpectAndReturn("simpleReturn", x); object result = thingy.simpleReturn(); Assertion.AssertEquals(x, result); mock.Verify(); } [Test] public void CallMethodWithReturnAndCast() { string x = "sdfs"; mock.ExpectAndReturn("stringReturn", x); string result = thingy.stringReturn(); Assertion.AssertEquals(x, result); mock.Verify(); } [Test] public void CallMethodWithWeirdObjectReturn() { IThingy t = thingy; mock.ExpectAndReturn("AThingy", t); IThingy result = thingy.AThingy(); Assertion.AssertEquals(thingy, result); mock.Verify(); } [Test] public void CallMethodWithReturnInt() { mock.ExpectAndReturn("intReturn", 7); int result = thingy.intReturn(); Assertion.AssertEquals(7, result); mock.Verify(); } [Test] public void CallMethodWithReturnBoxings() { mock.ExpectAndReturn("boolReturn", true); mock.ExpectAndReturn("doubleReturn", 1234567891234E+10); Assertion.Assert(thingy.boolReturn()); Assertion.AssertEquals(1234567891234E+10, thingy.doubleReturn()); mock.Verify(); } [Test] [ExpectedException(typeof(System.IO.IOException))] public void CallMethodTheThrowsException() { mock.ExpectAndThrow("boolReturn", new System.IO.IOException()); thingy.boolReturn(); } [Test] public void CallMethodWithParamExpectations() { mock.Expect("WithSimpleArg", new IsEqual("hello")); thingy.WithSimpleArg("hello"); mock.Verify(); } [Test] [ExpectedException(typeof(AssertionException))] public void CallMethodWithParamExpectationsThatFails() { mock.Expect("WithSimpleArg", new IsEqual("hello")); thingy.WithSimpleArg("goodbye"); mock.Verify(); } [Test] public void CallMethodWithTwoParamExpectations() { mock.Expect("WithTwoArgs", new IsEqual("hello"), new IsEqual("world")); thingy.WithTwoArgs("hello", "world"); mock.Verify(); } [Test] [ExpectedException(typeof(AssertionException))] public void CallMethodWithTwoParamExpectationsThatFails() { mock.Expect("WithTwoArgs", new IsEqual("hello"), new IsEqual("world")); thingy.WithTwoArgs("hello", "moon"); mock.Verify(); } [Test] public void CallMethodWithThreeParamExpectations() { mock.Expect("WithThreeArgs", new IsEqual("hello"), new IsEqual("the"), new IsEqual("world")); thingy.WithThreeArgs("hello", "the", "world"); mock.Verify(); } [Test] public void CallMethodWithLoadsOfParamExpectations() { mock.Expect("WithLotsOfArgs", new IsEqual("hello"), new IsEqual("world"), new IsEqual("is"), new IsEqual("this"), new IsEqual("the"), new IsEqual("end")); thingy.WithLotsOfArgs("hello", "world", "is", "this", "the", "end"); mock.Verify(); } [Test] public void CallMethodWithOtherArgs() { IList l = new ArrayList(); mock.Expect("WithOtherArgs", new IsEqual(6), new IsEqual(true), new IsNull(), new IsEqual(l)); thingy.WithOtherArgs(6, true, null, l); mock.Verify(); } [Test] public void CallReadOnlyProperty() { mock.ExpectAndReturn("ReadProperty", "hello"); mock.ExpectAndReturn("ReadProperty", "world"); Assertion.AssertEquals("hello", thingy.ReadProperty); Assertion.AssertEquals("world", thingy.ReadProperty); mock.Verify(); } [Test] public void WriteOnlyPropertyExpectations() { mock.Expect("WriteProperty", "hello"); mock.Expect("WriteProperty", "world"); thingy.WriteProperty = "hello"; thingy.WriteProperty = "world"; mock.Verify(); } [Test] public void ReadAndWriteProperty() { mock.Expect("AProperty", "hello"); mock.Expect("AProperty", "world"); mock.ExpectAndReturn("AProperty", "good"); mock.ExpectAndReturn("AProperty", "bye"); thingy.AProperty = "hello"; thingy.AProperty = "world"; Assertion.AssertEquals("good", thingy.AProperty); Assertion.AssertEquals("bye", thingy.AProperty); mock.Verify(); } [Test] public void ExtendClass() { cg = new ClassGenerator(); SolidThingy s = (SolidThingy)cg.Generate(typeof(SolidThingy), mock); mock.ExpectAndReturn("VirtualMethod", "hello"); mock.ExpectAndReturn("ToString", "STRING"); mock.ExpectAndReturn("GetHashCode", 123); mock.ExpectAndReturn("AbstractMethod", "fish"); Assertion.AssertEquals("hello", s.VirtualMethod()); Assertion.AssertEquals("STRING", s.ToString()); Assertion.AssertEquals(123, s.GetHashCode()); Assertion.AssertEquals("fish", s.AbstractMethod()); Assertion.AssertEquals("xx", s.NonVirtualMethod()); mock.Verify(); } [Test] public void BoxingOpCodes() { Assertion.AssertEquals( OpCodes.Ldind_I1, cg.GetBoxingOpCode(typeof(sbyte)) ); Assertion.AssertEquals( OpCodes.Ldind_I2, cg.GetBoxingOpCode(typeof(short)) ); Assertion.AssertEquals( OpCodes.Ldind_I4, cg.GetBoxingOpCode(typeof(int)) ); Assertion.AssertEquals( OpCodes.Ldind_I8, cg.GetBoxingOpCode(typeof(long)) ); Assertion.AssertEquals( OpCodes.Ldind_U1, cg.GetBoxingOpCode(typeof(byte)) ); Assertion.AssertEquals( OpCodes.Ldind_U2, cg.GetBoxingOpCode(typeof(ushort)) ); Assertion.AssertEquals( OpCodes.Ldind_U4, cg.GetBoxingOpCode(typeof(uint)) ); Assertion.AssertEquals( OpCodes.Ldind_I8, cg.GetBoxingOpCode(typeof(ulong)) ); Assertion.AssertEquals( OpCodes.Ldind_R4, cg.GetBoxingOpCode(typeof(float)) ); Assertion.AssertEquals( OpCodes.Ldind_R8, cg.GetBoxingOpCode(typeof(double)) ); Assertion.AssertEquals( OpCodes.Ldind_U2, cg.GetBoxingOpCode(typeof(char)) ); Assertion.AssertEquals( OpCodes.Ldind_I1, cg.GetBoxingOpCode(typeof(bool)) ); } } } |
From: <gc...@us...> - 2002-10-12 03:29:56
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock/Dynamic/Generate In directory usw-pr-cvs1:/tmp/cvs-serv12370/DotNetMock/Dynamic/Generate Added Files: ClassGenerator.cs Log Message: Added the dynamic Mock Object Generation package --- NEW FILE: ClassGenerator.cs --- using System; using System.Collections; using System.Reflection; using System.Reflection.Emit; namespace DotNetMock.Dynamic.Generate { public class ClassGenerator { private static IDictionary boxingOpCodes; public object Generate(Type type, IMock mock) { TypeBuilder typeBuilder = getTypeBuilder("Mock" + type.Name, type); FieldBuilder mockFieldBuilder = typeBuilder.DefineField("underlyingMock", typeof(IMock), FieldAttributes.Public); MethodInfo[] methods = type.GetMethods(); foreach ( MethodInfo m in methods ) { implementMethod(type, typeBuilder, m, mockFieldBuilder); } Type proxyType = typeBuilder.CreateType(); object result = Activator.CreateInstance(proxyType); FieldInfo underlyingMock = proxyType.GetField("underlyingMock"); underlyingMock.SetValue(result, mock); return result; } private TypeBuilder getTypeBuilder(string name, Type originalType) { AppDomain appDomain = AppDomain.CurrentDomain; AssemblyName assemblyName = new AssemblyName(); assemblyName.Name = "DynamicMockAssembly"; AssemblyBuilder assemblyBuilder = appDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.Run); ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule("MockModule"); Type superClass; Type[] interfaces; if (originalType.IsInterface) { superClass = null; interfaces = new Type[] {originalType}; } else { superClass = originalType; interfaces = new Type[0]; } return moduleBuilder.DefineType(name, TypeAttributes.Public, superClass, interfaces); } private void implementMethod(Type type, TypeBuilder typeBuilder, MethodInfo m, FieldBuilder mockFieldBuilder) { Type returnType = m.ReturnType; ArrayList types = new ArrayList(); foreach (ParameterInfo param in m.GetParameters()) { types.Add(param.ParameterType); } Type[] paramTypes = (Type[])types.ToArray(typeof(Type)); MethodBuilder methodBuilder = typeBuilder.DefineMethod(m.Name, MethodAttributes.Public | MethodAttributes.Virtual, returnType, paramTypes); ILGenerator il = methodBuilder.GetILGenerator(); foreach (ParameterInfo param in m.GetParameters()) { il.DeclareLocal(param.ParameterType); } string methodName = m.Name; if (methodName.StartsWith("get_") || methodName.StartsWith("set_")) { methodName = methodName.Substring(4); } il.Emit(OpCodes.Ldarg_0); il.Emit(OpCodes.Ldfld, mockFieldBuilder); il.Emit(OpCodes.Ldstr, methodName); il.Emit(OpCodes.Ldc_I4_S, paramTypes.Length); il.Emit(OpCodes.Newarr, typeof(object)); if (paramTypes.Length > 0) { il.Emit(OpCodes.Stloc_0); il.Emit(OpCodes.Ldloc_0); for(int i = 0; i < paramTypes.Length; i++) { il.Emit(OpCodes.Ldc_I4_S, i); il.Emit(OpCodes.Ldarg_S, i + 1); if (paramTypes[i].IsPrimitive) { il.Emit(OpCodes.Box, paramTypes[i]); } il.Emit(OpCodes.Stelem_Ref); il.Emit(OpCodes.Ldloc_0); } } MethodInfo call = typeof(IMock).GetMethod("Call"); il.EmitCall(OpCodes.Callvirt, call, null); if (returnType == typeof(void)) { il.Emit(OpCodes.Pop); } else { if (returnType.IsPrimitive) { il.Emit(OpCodes.Unbox, returnType); il.Emit(GetBoxingOpCode(returnType)); } il.DeclareLocal(returnType); il.Emit(OpCodes.Stloc_0); Label l = il.DefineLabel(); il.Emit(OpCodes.Br_S, l); il.MarkLabel(l); il.Emit(OpCodes.Ldloc_0); } il.Emit(OpCodes.Ret); } public OpCode GetBoxingOpCode( Type aType ) { if (boxingOpCodes == null) { boxingOpCodes = new Hashtable(); boxingOpCodes[typeof(sbyte)] = OpCodes.Ldind_I1; boxingOpCodes[typeof(short)] = OpCodes.Ldind_I2; boxingOpCodes[typeof(int)] = OpCodes.Ldind_I4; boxingOpCodes[typeof(long)] = OpCodes.Ldind_I8; boxingOpCodes[typeof(byte)] = OpCodes.Ldind_U1; boxingOpCodes[typeof(ushort)] = OpCodes.Ldind_U2; boxingOpCodes[typeof(uint)] = OpCodes.Ldind_U4; boxingOpCodes[typeof(ulong)] = OpCodes.Ldind_I8; boxingOpCodes[typeof(float)] = OpCodes.Ldind_R4; boxingOpCodes[typeof(double)] = OpCodes.Ldind_R8; boxingOpCodes[typeof(char)] = OpCodes.Ldind_U2; boxingOpCodes[typeof(bool)] = OpCodes.Ldind_I1; } if (boxingOpCodes.Contains(aType)) { return (OpCode)boxingOpCodes[aType]; } else { return OpCodes.Ldind_I1; } } } } |
From: <gc...@us...> - 2002-10-12 03:29:56
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic In directory usw-pr-cvs1:/tmp/cvs-serv12370/DotNetMock.Tests/Dynamic Added Files: DynamicMockTests.cs MockTests.cs PredicateTests.cs Log Message: Added the dynamic Mock Object Generation package --- NEW FILE: DynamicMockTests.cs --- using System; using NUnit.Framework; using DotNetMock.Dynamic; namespace DotNetMock.tests.Dynamic { [TestFixture] public class DynamicMockTest { interface IBlah { object DoStuff(string name); } [Test] public void DefaultDynamicMock() { IMock mock = new DynamicMock(typeof(IBlah)); Assertion.AssertEquals("MockBlah", mock.Name); mock.ExpectAndReturn("DoStuff", "world", "hello"); IBlah blah = (IBlah)mock.Object; Assertion.AssertEquals("world", blah.DoStuff("hello")); mock.Verify(); } [Test] public void NamedDynamicMock() { IMock mock = new DynamicMock(typeof(IBlah), "XBlah"); Assertion.AssertEquals("XBlah", mock.Name); mock.Verify(); } [Test] public void CustomDynamicMock() { IMock mock = new CustomMock(typeof(IBlah)); IBlah blah = (IBlah)mock.Object; Assertion.AssertEquals("CUSTOM", blah.DoStuff("hello")); mock.Verify(); } private class CustomMock : DynamicMock { public CustomMock(Type t) : base(t) {} public override object Call(string name, params object[] args) { return "CUSTOM"; } } } } --- NEW FILE: MockTests.cs --- using System; using NUnit.Framework; using DotNetMock.Dynamic; namespace DotNetMock.tests.Dynamic { /// <summary> /// Summary description for MockTest. /// </summary> [TestFixture] public class MockTests { private IMock mock; [SetUp] public void SetUp() { mock = new Mock("mymock"); } [Test] public void Name() { Assertion.AssertEquals("mymock", mock.Name); } [Test] public void NewMockVerifies() { mock.Verify(); } [Test] public void CallToVoidMethod() { mock.Expect("myMethod"); mock.Call("myMethod"); mock.Verify(); } [Test] [ExpectedException(typeof(AssertionException))] public void NoCallToVoidMethod() { mock.Expect("myMethod"); mock.Verify(); } [Test] [ExpectedException(typeof(AssertionException))] public void TooManyCallsToVoidMethod() { mock.Expect("myMethod"); mock.Call("myMethod"); mock.Call("myMethod"); } [Test] public void ManyCallsToVoidMethod() { mock.Expect("myMethod"); mock.Expect("myMethod"); mock.Expect("myMethod"); mock.Call("myMethod"); mock.Call("myMethod"); mock.Call("myMethod"); mock.Verify(); } [Test] public void CallToMethodWithParams() { mock.Expect("myMethod", new IsEqual("hello"), new IsAnything()); mock.Call("myMethod", "hello", null); mock.Verify(); } [Test] [ExpectedException(typeof(AssertionException))] public void CallToMethodWithInvalidParams() { mock.Expect("myMethod", new IsEqual("hello"), new IsAnything()); mock.Call("myMethod", "world", null); } [Test] public void CallToMethodWithParamsButNotCheckingValues() { mock.Expect("myMethod"); mock.Call("myMethod", "world", null); mock.Verify(); } [Test] public void CallMultipleMethods() { mock.Expect("myMethod1"); mock.Expect("myMethod2"); mock.Expect("myMethod3"); mock.Call("myMethod1"); mock.Call("myMethod2"); mock.Call("myMethod3"); mock.Verify(); } [Test] [ExpectedException(typeof(AssertionException))] public void CallMultipleMethodsInWrongOrder() { mock.Expect("myMethod1"); mock.Expect("myMethod2"); mock.Expect("myMethod3"); mock.Call("myMethod1"); mock.Call("myMethod3"); mock.Call("myMethod2"); mock.Verify(); } [Test] public void CallToNonVoidMethod() { object something = new object(); mock.ExpectAndReturn("myMethod", something); object result = mock.Call("myMethod"); mock.Verify(); Assertion.AssertSame(something, result); } [Test] public void CallToNonVoidMethodWithParams() { object something = new object(); mock.ExpectAndReturn("myMethod", something, new IsEqual("hello")); object result = mock.Call("myMethod", "hello"); mock.Verify(); Assertion.AssertSame(something, result); } [Test] [ExpectedException(typeof(AssertionException))] public void CallToNonVoidMethodWithWrongParams() { object something = new object(); mock.ExpectAndReturn("myMethod", something, new IsEqual("hello")); object result = mock.Call("myMethod", "bye"); mock.Verify(); Assertion.AssertSame(something, result); } [Test] public void MultipleCallToNonVoidMethod() { object something = new object(); object anotherthing = new object(); int x = 3; mock.ExpectAndReturn("myMethod", something); mock.ExpectAndReturn("myMethod", anotherthing); mock.ExpectAndReturn("myMethod", x); Assertion.AssertSame(something, mock.Call("myMethod")); Assertion.AssertSame(anotherthing, mock.Call("myMethod")); Assertion.AssertEquals(x, mock.Call("myMethod")); mock.Verify(); } [Test] public void CallToNonVoidMethodReturningNull() { mock.ExpectAndReturn("myMethod", null); Assertion.AssertNull(mock.Call("myMethod")); mock.Verify(); } [Test] public void DefaultEqualsPredicates() { object o = new object(); mock.Expect("myMethod", o); mock.Call("myMethod", o); } [Test] [ExpectedException(typeof(AssertionException))] public void DefaultEqualsPredicatesFailure() { mock.Expect("myMethod", new object()); mock.Call("myMethod", new object()); } [Test] public void DefaultAnythingPredicates() { mock.Expect("myMethod", null, null); mock.Expect("myMethod", null, "zzz"); mock.Expect("myMethod", "zzz", null); mock.Call("myMethod", "???", "???"); mock.Call("myMethod", "???", "zzz"); mock.Call("myMethod", "zzz", "???"); } [Test] public void FixedValue() { mock.SetValue("myMethod", "hello"); mock.SetValue("anotherMethod", "world"); Assertion.AssertEquals("hello", mock.Call("myMethod")); Assertion.AssertEquals("hello", mock.Call("myMethod")); Assertion.AssertEquals("hello", mock.Call("myMethod")); Assertion.AssertEquals("hello", mock.Call("myMethod")); Assertion.AssertEquals("world", mock.Call("anotherMethod")); Assertion.AssertEquals("world", mock.Call("anotherMethod")); mock.SetValue("myMethod", "bye"); Assertion.AssertEquals("bye", mock.Call("myMethod")); Assertion.AssertEquals("bye", mock.Call("myMethod")); Assertion.AssertEquals("world", mock.Call("anotherMethod")); mock.SetValue("myMethod", null); Assertion.AssertNull(mock.Call("myMethod")); Assertion.AssertNull(mock.Call("myMethod")); mock.Verify(); } [Test] [ExpectedException(typeof(System.IO.IOException))] public void CallThrowingException() { mock.ExpectAndThrow("myMethod", new System.IO.IOException()); mock.Call("myMethod"); } } } --- NEW FILE: PredicateTests.cs --- using System; using System.Text.RegularExpressions; using NUnit.Framework; using DotNetMock.Dynamic; namespace DotNetMock.tests.Dynamic { /// <summary> /// Summary description for PredicateTests. /// </summary> public class PredicateTests { [TestFixture] public class PredicatesTest { private IPredicate p; [Test] public void IsNull() { p = new IsNull(); Assertion.Assert(p.eval(null)); Assertion.Assert(!p.eval(new object())); Assertion.Assert(!p.eval(1)); Assertion.Assert(!p.eval(true)); Assertion.Assert(!p.eval(false)); } [Test] public void NotNull() { p = new NotNull(); Assertion.Assert(!p.eval(null)); Assertion.Assert(p.eval(new object())); } [Test] public void IsEqual() { object o1 = new object(); object o2 = new object(); p = new IsEqual(o1); Assertion.Assert(p.eval(o1)); Assertion.Assert(!p.eval(o2)); Assertion.Assert(!p.eval(null)); int i1 = 1; int i2 = 2; p = new IsEqual(i1); Assertion.Assert(p.eval(i1)); Assertion.Assert(p.eval(1)); Assertion.Assert(!p.eval(i2)); Assertion.Assert(!p.eval(2)); } [Test] public void NotEqual() { object o1 = new object(); object o2 = new object(); p = new NotEqual(o1); Assertion.Assert(!p.eval(o1)); Assertion.Assert(p.eval(o2)); Assertion.Assert(p.eval(null)); int i1 = 1; int i2 = 2; p = new NotEqual(i1); Assertion.Assert(!p.eval(i1)); Assertion.Assert(!p.eval(1)); Assertion.Assert(p.eval(i2)); Assertion.Assert(p.eval(2)); } [Test] public void IsAnything() { p = new IsAnything(); Assertion.Assert(p.eval(null)); Assertion.Assert(p.eval(0)); Assertion.Assert(p.eval(99)); Assertion.Assert(p.eval(-2)); Assertion.Assert(p.eval(true)); Assertion.Assert(p.eval(false)); Assertion.Assert(p.eval("")); Assertion.Assert(p.eval("hello")); Assertion.Assert(p.eval(new object())); } [Test] public void IsType() { p = new IsTypeOf(typeof(System.IO.TextReader)); Assertion.Assert(!p.eval(null)); Assertion.Assert(p.eval(new System.IO.StringReader(""))); Assertion.Assert(!p.eval(new System.IO.StringWriter())); } [Test] public void Not() { Assertion.Assert(new Not(new False()).eval(null)); Assertion.Assert(!new Not(new True()).eval(null)); } [Test] public void And() { Assertion.Assert( new And(new True() , new True() ).eval(null)); Assertion.Assert(!new And(new True() , new False()).eval(null)); Assertion.Assert(!new And(new False(), new True() ).eval(null)); Assertion.Assert(!new And(new False(), new False()).eval(null)); } [Test] public void Or() { Assertion.Assert( new Or(new True() , new True() ).eval(null)); Assertion.Assert( new Or(new True() , new False()).eval(null)); Assertion.Assert( new Or(new False(), new True() ).eval(null)); Assertion.Assert(!new Or(new False(), new False()).eval(null)); } [Test] public void IsIn() { p = new IsIn(2, 3, 5); Assertion.Assert(!p.eval(1)); Assertion.Assert(p.eval(2)); Assertion.Assert(p.eval(3)); Assertion.Assert(!p.eval(4)); Assertion.Assert(p.eval(5)); Assertion.Assert(!p.eval(6)); Assertion.Assert(!p.eval(null)); int[] array = {1, 2}; p = new IsIn(array); Assertion.Assert(p.eval(1)); Assertion.Assert(p.eval(2)); Assertion.Assert(!p.eval(3)); } [Test] public void NotIn() { p = new NotIn(1, 2); Assertion.Assert(!p.eval(1)); Assertion.Assert(!p.eval(2)); Assertion.Assert(p.eval(3)); int[] array = {1, 2}; p = new NotIn(array); Assertion.Assert(!p.eval(1)); Assertion.Assert(!p.eval(2)); Assertion.Assert(p.eval(3)); } [Test] public void IsEqualIgnoreCase() { p = new IsEqualIgnoreCase("heLLo"); Assertion.Assert(p.eval("HELLO")); Assertion.Assert(p.eval("hello")); Assertion.Assert(p.eval("HelLo")); Assertion.Assert(!p.eval("abcde")); } [Test] public void StripSpace() { Assertion.AssertEquals("Hello World", IsEqualIgnoreWhiteSpace.StripSpace("Hello\n \n World")); Assertion.AssertEquals("Hello World", IsEqualIgnoreWhiteSpace.StripSpace(" Hello World ")); Assertion.AssertEquals("", IsEqualIgnoreWhiteSpace.StripSpace(" ")); } [Test] public void TestIsEqualIgnoreWhiteSpace() { p = new IsEqualIgnoreWhiteSpace("Hello World how\n are we?"); Assertion.Assert(p.eval("Hello World how are we?")); Assertion.Assert(p.eval(" Hello World how are \n\n\twe?")); Assertion.Assert(!p.eval("HelloWorld how are we?")); Assertion.Assert(!p.eval("Hello World how are we")); } [Test] public void IsMatch() { p = new IsMatch(new Regex(@"^th[aeiou]\w* .*$")); Assertion.Assert(p.eval("the world")); Assertion.Assert(!p.eval("theworld")); Assertion.Assert(!p.eval("ThE world")); Assertion.Assert(!p.eval(" the world")); Assertion.Assert(p.eval("thats nice")); Assertion.Assert(!p.eval(new object())); Assertion.Assert(!p.eval(null)); p = new IsMatch(@"^th[aeiou]\w* .*$"); Assertion.Assert(p.eval("the world")); Assertion.Assert(!p.eval("theworld")); Assertion.Assert(!p.eval("ThE world")); p = new IsMatch(@"^th[aeiou]\w* .*$", false); Assertion.Assert(p.eval("the world")); Assertion.Assert(!p.eval("theworld")); Assertion.Assert(!p.eval("ThE world")); p = new IsMatch(@"^th[aeiou]\w* .*$", true); Assertion.Assert(p.eval("the world")); Assertion.Assert(!p.eval("theworld")); Assertion.Assert(p.eval("ThE world")); } [Test] public void Delegate() { p = new Predicate(new Predicate.Method(myEval)); myFlag = false; Assertion.Assert(p.eval(null)); Assertion.Assert(!p.eval(null)); Assertion.Assert(p.eval(null)); Assertion.Assert(!p.eval(null)); } private bool myFlag; private bool myEval(object val) { myFlag = !myFlag; return myFlag; } class True : IPredicate { public bool eval(object val) { return true; } } class False : IPredicate { public bool eval(object val) { return false; } } } } } |
From: <gc...@us...> - 2002-10-12 03:29:56
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock/Dynamic In directory usw-pr-cvs1:/tmp/cvs-serv12370/DotNetMock/Dynamic Added Files: DynamicMock.cs IMock.cs IPredicate.cs Mock.cs Predicate.cs Log Message: Added the dynamic Mock Object Generation package --- NEW FILE: DynamicMock.cs --- using System; using DotNetMock.Dynamic.Generate; namespace DotNetMock.Dynamic { public class DynamicMock : Mock { private object obj; private Type type; public DynamicMock(Type type) : this(type, null) { string name = type.Name; if (name.StartsWith("I")) { name = name.Substring(1); } Name = "Mock" + name; } public DynamicMock(Type type, string name) : base(name) { this.type = type; } public override object Object { get { if (obj == null) { generate(); } return obj; } } private void generate() { ClassGenerator cg = new ClassGenerator(); obj = cg.Generate(type, this); } } } --- NEW FILE: IMock.cs --- using System; namespace DotNetMock.Dynamic { /// <summary> /// Interface for setting up and invoking a Mock object. The default implementation of /// this is <c>Mock</c> but users may choose to implement their own with custom needs. /// </summary> /// <see cref="Mock"/> public interface IMock { /// <summary> /// Name of this Mock - used for test failure readability only. /// </summary> string Name { get; } /// <summary> /// Get mocked version of object. /// </summary> object Object { get; } /// <summary> /// Expect a method to be called with the supplied parameters. /// </summary> void Expect(string methodName, params object[] args); /// <summary> /// Expect a method to be called with the supplied parameters and setup a /// value to be returned. /// </summary> void ExpectAndReturn(string methodName, object returnVal, params object[] args); /// <summary> /// Expect a method to be called with the supplied parameters and setup an /// exception to be thrown. /// </summary> void ExpectAndThrow(string methodName, Exception exceptionVal, params object[] args); /// <summary> /// Set a fixed return value for a method/property. This allows the method to be /// called multiple times in no particular sequence and have the same value returned /// each time. Useful for getter style methods. /// </summary> void SetValue(string methodName, object returnVal); /// <summary> /// Make a call to a mocked up method name to check it meets its expectations. /// </summary> object Call(string methodName, params object[] args); /// <summary> /// Verify that all expectations were met. /// </summary> void Verify(); } } --- NEW FILE: IPredicate.cs --- using System; namespace DotNetMock.Dynamic { /// <summary> /// Interface for all Predicates to implement. /// </summary> public interface IPredicate { bool eval(object val); } } --- NEW FILE: Mock.cs --- using System; using System.Collections; using NUnit.Framework; namespace DotNetMock.Dynamic { /// <summary> /// Summary description for Mock. /// </summary> public class Mock : IMock { private int currentExpectation; private string name; private object obj; private IList expectations; private IDictionary values; public Mock(string name) { this.name = name; expectations = new ArrayList(); values = new Hashtable(); currentExpectation = 0; } public virtual string Name { get { return name; } set { name = value; } } public virtual object Object { get { return obj; } set { obj = value; } } public virtual void Verify() { Assertion.AssertEquals(currentExpectation, expectations.Count); } public virtual void Expect(string methodName, params object[] args) { ExpectAndReturn(methodName, null, args); } public virtual void ExpectAndReturn(string methodName, object result, params object[] args) { expectations.Add(new Expectation(methodName, result, null, args)); } public virtual void ExpectAndThrow(string methodName, Exception e, params object[] args) { expectations.Add(new Expectation(methodName, null, e, args)); } public virtual void SetValue(string methodName, object returnVal) { values[methodName] = returnVal; } public virtual object Call(string methodName, params object[] args) { if (values.Contains(methodName)) { return values[methodName]; } if (currentExpectation == expectations.Count) { Assertion.Fail(methodName + "() called too many times"); } Expectation exp = (Expectation)expectations[currentExpectation]; currentExpectation++; return exp.Verify(methodName, args); } private class Expectation { private string methodName; private object[] args; private object returnValue; private Exception e; public Expectation(string methodName, object returnValue, Exception e, object[] args) { this.methodName = methodName; if (args == null) { this.args = new object[0]; } else { this.args = args; } this.returnValue = returnValue; this.e = e; } public object Verify(string methodName, object[] args) { Assertion.AssertEquals(this.methodName, methodName); // assert that each passed in arg is validated by the appropriate predicate. for (int i = 0; i < this.args.Length; i++) { object expectedArg = this.args[i]; object actualArg = args[i]; IPredicate predicate = expectedArg as IPredicate; // if expectedArg is not an IPredicate, use default // behavior of IsEqual or IsAnything if (predicate == null) { if (expectedArg == null) { predicate = new IsAnything(); } else { predicate = new IsEqual(expectedArg); } } Assertion.Assert(predicate.eval(actualArg)); } // if exception setup to be thrown, throw it if (e != null) { throw e; } // otherwise return desired value return returnValue; } } } } --- NEW FILE: Predicate.cs --- using System; using System.Text; using System.Text.RegularExpressions; namespace DotNetMock.Dynamic { /// <summary> /// Summary description for Predicate. /// </summary> public class IsNull : IPredicate { public bool eval(object val) { return val == null; } } public class IsAnything : IPredicate { public bool eval(object val) { return true; } } public class IsIn : IPredicate { private object[] inList; public IsIn(params object[] inList) { if (inList.Length == 1 && inList[0].GetType().IsArray) { Array arr = (Array)inList[0]; this.inList = new object[arr.Length]; arr.CopyTo(this.inList, 0); } else { this.inList = inList; } } public bool eval(object val) { foreach (object o in inList) { if (o.Equals(val)) { return true; } } return false; } } public class IsEqual : IPredicate { private object compare; public IsEqual(object compare) { this.compare = compare; } public bool eval(object val) { return compare.Equals(val); } } public class IsTypeOf : IPredicate { private Type type; public IsTypeOf(Type type) { this.type = type; } public bool eval(object val) { return val == null ? false : type.IsAssignableFrom(val.GetType()); } } public class Not : IPredicate { private IPredicate p; public Not(IPredicate p) { this.p = p; } public bool eval(object val) { return !p.eval(val); } } public class And : IPredicate { private IPredicate p1, p2; public And(IPredicate p1, IPredicate p2) { this.p1 = p1; this.p2 = p2; } public bool eval(object val) { return p1.eval(val) && p2.eval(val); } } public class Or : IPredicate { private IPredicate p1, p2; public Or(IPredicate p1, IPredicate p2) { this.p1 = p1; this.p2 = p2; } public bool eval(object val) { return p1.eval(val) || p2.eval(val); } } public class NotNull : IPredicate { public bool eval(object val) { return val != null; } } public class NotEqual : IPredicate { private IPredicate p; public NotEqual(object compare) { p = new Not(new IsEqual(compare)); } public bool eval(object val) { return p.eval(val); } } public class NotIn : IPredicate { private IPredicate p; public NotIn(params object[] inList) { p = new Not(new IsIn(inList)); } public bool eval(object val) { return p.eval(val); } } public class IsEqualIgnoreCase : IPredicate { private IPredicate p; public IsEqualIgnoreCase(object compare) { p = new IsEqual(compare.ToString().ToLower()); } public bool eval(object val) { return p.eval(val.ToString().ToLower()); } } public class IsEqualIgnoreWhiteSpace : IPredicate { private IPredicate p; public IsEqualIgnoreWhiteSpace(object compare) { p = new IsEqual(StripSpace(compare.ToString())); } public bool eval(object val) { return p.eval(StripSpace(val.ToString())); } public static string StripSpace(string s) { StringBuilder result = new StringBuilder(); bool lastWasSpace = true; foreach(char c in s) { if (Char.IsWhiteSpace(c)) { if (!lastWasSpace) { result.Append(' '); } lastWasSpace = true; } else { result.Append(c); lastWasSpace = false; } } return result.ToString().Trim(); } } public class IsMatch : IPredicate { private Regex regex; public IsMatch(Regex regex) { this.regex = regex; } public IsMatch(String regex) : this(new Regex(regex)) { } public IsMatch(String regex, bool ignoreCase) : this(new Regex(regex, ignoreCase ? RegexOptions.IgnoreCase : RegexOptions.None)) { } public bool eval(object val) { return val == null ? false : regex.IsMatch(val.ToString()); } } public class Predicate : IPredicate { public delegate bool Method(object val); private Method m; public Predicate(Method m) { this.m = m; } public bool eval(object val) { return m(val); } } } |
From: <gc...@us...> - 2002-10-12 03:27:12
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic/Generate In directory usw-pr-cvs1:/tmp/cvs-serv12321/Generate Log Message: Directory /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic/Generate added to the repository |
From: <gc...@us...> - 2002-10-12 03:26:13
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock/Dynamic/Generate In directory usw-pr-cvs1:/tmp/cvs-serv12200/Generate Log Message: Directory /cvsroot/dotnetmock/dotnetmock/DotNetMock/Dynamic/Generate added to the repository |
From: <gc...@us...> - 2002-10-12 03:25:43
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic In directory usw-pr-cvs1:/tmp/cvs-serv12097/Dynamic Log Message: Directory /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic added to the repository |
From: <gc...@us...> - 2002-10-12 03:25:23
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock/Dynamic In directory usw-pr-cvs1:/tmp/cvs-serv12043a/Dynamic Log Message: Directory /cvsroot/dotnetmock/dotnetmock/DotNetMock/Dynamic added to the repository |
From: Griffin C. <gri...@at...> - 2002-10-11 05:11:10
|
This is an announcement for the initial release of the .NET Mock Objects core framework. http://www.sourceforge.net/projects/dotnetmock The initial .NET implementation of the core framework is complete. Next is the implementation of standard .NET objects. Feedback is welcome as well as any help or contributions. After all, there is only one lowly programmer working on this ;) -Griffin |
From: <gc...@us...> - 2002-10-11 03:08:03
|
Update of /cvsroot/dotnetmock/dotnetmock In directory usw-pr-cvs1:/tmp/cvs-serv27329 Modified Files: DotNetMock.Master.build Log Message: Added XML comments to most files Added NDoc documentation task to Master.Build file Index: DotNetMock.Master.build =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Master.build,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DotNetMock.Master.build 11 Oct 2002 00:24:36 -0000 1.1 --- DotNetMock.Master.build 11 Oct 2002 03:07:59 -0000 1.2 *************** *** 8,12 **** <property name="version" value="0.1"/> <property name="build.dir" value="build/"/> ! <property name="package.dir" value="${build.dir}/${project.name}-${version}"/> <property name="bin.dir" value="${package.dir}/bin/"/> <property name="src.dir" value="${package.dir}/src"/> --- 8,13 ---- <property name="version" value="0.1"/> <property name="build.dir" value="build/"/> ! <property name="dist.dir" value="dist"/> ! <property name="package.dir" value="${dist.dir}/${project.name}-${version}"/> <property name="bin.dir" value="${package.dir}/bin/"/> <property name="src.dir" value="${package.dir}/src"/> *************** *** 16,19 **** --- 17,21 ---- <target name="init" description="Setup environment"> <mkdir dir="${build.dir}" failonerror="false"/> + <mkdir dir="${dist.dir}" failonerror="false"/> <mkdir dir="${package.dir}" failonerror="false"/> <mkdir dir="${bin.dir}" failonerror="false"/> *************** *** 25,28 **** --- 27,31 ---- <delete dir="${src.dir}" failonerror="false"/> <delete dir="${package.dir}" failonerror="false"/> + <delete dir="${dist.dir}" failonerror="false"/> <delete dir="${build.dir}" failonerror="false"/> </target> *************** *** 39,45 **** </target> ! <target name="package" description="Collects and packs up the distribution" depends="build-all"> ! <copy file="${DotNetMock.Core}/build/${DotNetMock.Core}.dll" tofile="${bin.dir}/${DotNetMock.Core}.dll"/> ! <copy file="${DotNetMock.Tests}/build/${DotNetMock.Tests}.dll" tofile="${bin.dir}/${DotNetMock.Tests}.dll"/> <copy file="lib/nunit.framework.dll" tofile="${bin.dir}/nunit.framework.dll"/> <copy todir="${src.dir}/${DotNetMock.Core}"> --- 42,48 ---- </target> ! <target name="package" description="Collects and packs up the distribution" depends="build-all doc"> ! <copy file="build/${DotNetMock.Core}.dll" tofile="${bin.dir}/${DotNetMock.Core}.dll"/> ! <copy file="build/${DotNetMock.Tests}.dll" tofile="${bin.dir}/${DotNetMock.Tests}.dll"/> <copy file="lib/nunit.framework.dll" tofile="${bin.dir}/nunit.framework.dll"/> <copy todir="${src.dir}/${DotNetMock.Core}"> *************** *** 53,58 **** </fileset> </copy> ! <zip zipfile="${build.dir}/${project.name}-${version}.zip"> ! <fileset basedir="${build.dir}"> <includes name="**/*"/> </fileset> --- 56,61 ---- </fileset> </copy> ! <zip zipfile="${dist.dir}/${project.name}-${version}.zip"> ! <fileset basedir="${package.dir}"> <includes name="**/*"/> </fileset> *************** *** 60,62 **** --- 63,99 ---- </target> + <target name="doc" description="build documentation"> + <echo message="Requires HtmlHelp compiler (hhc.exe) to be in the system path"/> + <ndoc failonerror="false"> + <assemblies basedir="."> + <includes name="build/${DotNetMock.Core}.dll"/> + </assemblies> + <documenters> + <documenter name="MSDN"> + <property name="OutputDirectory" value="${build.dir}/docs/MSDN"/> + <property name="HtmlHelpName" value="DotNetMock"/> + <property name="HtmlHelpCompilerFilename" value="hhc.exe"/> + <property name="IncludeFavorites" value="False"/> + <property name="Title" value="An .NET Mock Objects Documented Class Library"/> + <property name="SplitTOCs" value="False"/> + <property name="DefaulTOC" value=""/> + <property name="ShowVisualBasic" value="True"/> + <property name="ShowMissingSummaries" value="True"/> + <property name="ShowMissingRemarks" value="True"/> + <property name="ShowMissingParams" value="True"/> + <property name="ShowMissingReturns" value="True"/> + <property name="ShowMissingValues" value="True"/> + <property name="DocumentInternals" value="False"/> + <property name="DocumentProtected" value="True"/> + <property name="DocumentPrivates" value="False"/> + <property name="DocumentEmptyNamespaces" value="False"/> + <property name="IncludeAssemblyVersion" value="False"/> + <property name="CopyrightText" value=""/> + <property name="CopyrightHref" value=""/> + </documenter> + </documenters> + </ndoc> + <copy file="${build.dir}/docs/MSDN/DotNetMock.chm" todir="${package.dir}/doc"/> + </target> + </project> |