Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MapinfoWrapper
- {
- public MapinfoWrapper()
- {
- Publics.InternalMapinfo = new MapinfoWrapper();
- }
- public void Do(string cmd)
- {
- //Call COM do command
- }
- public string Eval(string cmd)
- {
- //Return value from COM eval command
- }
- }
- internal static class Publics
- {
- private static MapinfoWrapper _internalwrapper;
- internal static MapinfoWrapper InternalMapinfo
- {
- get
- {
- return _internalwrapper;
- }
- set
- {
- _internalwrapper = value;
- }
- }
- }
- public class TableInfo
- {
- public string Name {
- get { return Publics.InternalMapinfo.Eval("String comman to get the name"); }
- set { Publics.InternalMapinfo.Do("String command to set the name"); }
- }
- }
- public class TableInfo
- {
- private IMapinfoWrapper wrapper;
- public TableInfo() : this(null) {}
- public TableInfo( IMapinfoWrapper wrapper )
- {
- // use from cache if not supplied, could create new here
- this.wrapper = wrapper ?? Publics.InternalMapInfo;
- }
- public string Name {
- get { return wrapper.Eval("String comman to get the name"); }
- set { wrapper.Do("String command to set the name"); }
- }
- }
- public interface IMapinfoWrapper
- {
- void Do( string cmd );
- void Eval( string cmd );
- }
- public class MapinfoWrapper
- {
- public MapinfoWrapper()
- {
- }
- public void Do(string cmd)
- {
- //Call COM do command
- }
- public string Eval(string cmd)
- {
- //Return value from COM eval command
- }
- }
- internal static class Publics
- {
- private static MapinfoWrapper _internalwrapper;
- internal static MapinfoWrapper InternalMapinfo
- {
- get
- {
- if (_internalwrapper == null)
- {
- _internalwrapper = new MapinfoWrapper();
- }
- return _internalwrapper;
- }
- }
- }
- [TestMethod]
- [ExpectedException(typeof(ApplicationException))]
- public void TestTableInfoName()
- {
- IMapinfoWrapper mockWrapper = new MockMapinfoWrapper();
- mockWrapper.ThrowDoException(typeof(ApplicationException));
- TableInfo info = new TableInfo( mockWrapper );
- info.Do( "invalid command" );
- }
Add Comment
Please, Sign In to add comment