Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Framework/ComponentModel
In directory sc8-pr-cvs1:/tmp/cvs-serv1590/DotNetMock.Framework/ComponentModel
Added Files:
MockMarshalByValueComponent.cs
Log Message:
1) Added MockMarshalByValueComponent class
--- NEW FILE: MockMarshalByValueComponent.cs ---
using System;
using System.Collections;
using System.ComponentModel;
using DotNetMock;
namespace DotNetMock.Framework.ComponentModel
{
/// <summary>
/// Base MockObject for remotable components that are marshaled by value.
/// </summary>
public class MockMarshalByValueComponent : MockObject, IComponent, IDisposable, IServiceProvider
{
private IContainer _expectedContainer = null;
private bool _expectedDesignMode = false;
private ISite _expectedSite = null;
private Hashtable _serviceProviders = null;
private ExpectationCounter _getServiceCalls = new ExpectationCounter( "MockMarshalByValueComponent.GetServiceCalls" );
public MockMarshalByValueComponent()
{
this.name = "MockMarshalByValueComponent";
_serviceProviders = new Hashtable();
}
#region Mock Methods
public void SetExpectedContainer( IContainer container )
{
_expectedContainer = container;
}
public void SetExpectedDesignMode( bool designMode )
{
_expectedDesignMode = designMode;
}
public void SetExpectedSite( ISite site )
{
_expectedSite = site;
}
public void SetExpectedGetServiceCalls( int count )
{
_getServiceCalls.Expected = count;
}
public void SetExpectedServiceProvider( IServiceProvider serviceProvider , Type serviceType )
{
_serviceProviders.Add( serviceType, serviceProvider );
}
#endregion
#region Public Properties
public IContainer Container
{
get { return _expectedContainer; }
}
public bool DesignMode
{
get
{
if ( _expectedSite == null )
{
return false;
}
return _expectedDesignMode;
}
}
#endregion
#region Implementation of IComponent
public event System.EventHandler Disposed;
public System.ComponentModel.ISite Site
{
get
{
return _expectedSite;
}
set
{
_expectedSite = value;
}
}
#endregion
#region Implementation of IDisposable
public void Dispose()
{
Dispose( false );
}
public void Dispose( bool dispose )
{
Disposed( this, null );
}
#endregion
#region Implementation of IServiceProvider
public object GetService(Type serviceType)
{
_getServiceCalls.Inc();
foreach ( Type expectedType in _serviceProviders.Keys )
{
if ( expectedType.Equals( serviceType ) )
{
return _serviceProviders[ expectedType ];
}
}
return null;
}
#endregion
}
}
|