带你去月球
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
::
36 随笔 :: 4 文章 :: 6 评论 :: 0 Trackbacks
How to constructor mock time object.
using
System;
using
System.Collections.Generic;
using
System.Text;
using
System.Windows.Forms;
namespace
NUnit
{
public
interface
Enviromental
{
DateTime Now
{
get
;}
void
PlayWarn();
}
public
class
SystemEnvironment : Enviromental
{
public
DateTime Now
{
get
{
return
DateTime.Now;
}
}
public
void
PlayWarn()
{
}
}
public
class
MockSystemEnvironment : Enviromental
{
private
DateTime currentTime;
public
MockSystemEnvironment(DateTime when)
{
currentTime
=
when;
}
public
DateTime Now
{
get
{
return
currentTime;
}
}
public
void
IncreamentMinutes(
int
minutes)
{
currentTime
=
currentTime.AddMinutes(minutes);
}
public
void
PlayWarn()
{
MessageBox.Show(
"
daoleshijian
"
);
}
}
public
class
Checker
{
Enviromental env;
public
Checker(Enviromental env)
{
this
.env
=
env;
}
public
void
Reminder()
{
DateTime now
=
env.Now;
if
(now.Hour
>=
17
)
{
env.PlayWarn();
}
}
}
}
1
//
Test this mock time object
2
3
private
void
Test(
object
sender, EventArgs e)
4
{
5
DateTime when
=
new
DateTime(
2002
,
10
,
1
,
17
,
55
,
0
);
6
7
MockSystemEnvironment env;
8
env
=
new
MockSystemEnvironment(when);
9
10
env.IncreamentMinutes(
600
);
11
Checker checker
=
new
Checker(env);
12
13
listBox1.Items.Add(env.Now);
14
checker.Reminder();
15
}
posted on 2007-05-23 09:11
带你去月球
阅读(26)
评论(1)
编辑
收藏
所属分类:
c
评论
#1楼
2007-05-23 09:44
JiKun.Xiong
呵呵
回复
引用
查看
社区
新闻
新用户注册
刷新评论列表
标题
姓名
主页
Email
(只有博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2007-05-23 09:14 编辑过
所属分类的其他文章:
·
App config file in CSharp
·
C++模板的威力
·
学好C++的50条法则
·
如何学好C++(zf)
·
c++
·
工具 tools
·
编写一个窗体
·
如何获得数据库里所有表的名字(SQL+C#) (转)收藏。。。
·
关于静态构造器的说明 (z 收藏)
·
多线程 singleton pattern
最新IT新闻:
·
英特尔雅虎开发网络计算机频道
·
Windows Live视频邮件9月9日开始测试
·
Intel首次公开展示Nehalem架构迅驰3平台
·
Pogo浏览器
·
洪磊口述:番茄花园如何捆绑流氓软件月入十万
博客园新闻频道
博客园首页
社区
<
2007年5月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
公告
输入您的搜索字词
提交搜索表单
Web
www.google.com
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
给我留言
查看留言
我的标签
网络协议
(1)
Networks
(1)
随笔分类
(32)
c(21)
(rss)
English(2)
(rss)
Others(7)
(rss)
XML(2)
(rss)
随笔档案
(36)
2008年5月 (1)
2008年3月 (1)
2007年12月 (2)
2007年9月 (1)
2007年8月 (7)
2007年7月 (9)
2007年6月 (4)
2007年5月 (11)
文章分类
(2)
c
(rss)
net(1)
(rss)
save(1)
(rss)
xml
(rss)
最新随笔
1. 用户需求_1 (Networks Safty)
2. 网络安全
3. 通过反射设置窗口属性 (自动化测试UI)
4. (zs)windows下使用makefile编译C语言.doc
5. App config file in CSharp
6. Market Info
7. English Speech : The olympic game ( 29th )
8. Save others
9. C++模板的威力
10. 学好C++的50条法则
11. 如何学好C++(zf)
12. Visual C++初学者入门的一条捷径(转)
13. c++
14. 工具 tools
15. 编写一个窗体
16. 如何获得数据库里所有表的名字(SQL+C#) (转)收藏。。。
17. 关于静态构造器的说明 (z 收藏)
18. 多线程 singleton pattern
19. 测试工具
20. .NET中异常处理最佳实践
最新评论
1. re: 关于静态构造器的说明 (z 收藏)
有点抱歉的说:楼主的结果是错的。实际结果应该是这样 static B() static A() X=2,Y=1 还我郁闷半天不得不复制代码运行一下。嘿嘿 不过这句话真的很重要:static构造器在程序...
--Seattle
阅读排行榜
1. 英文自我介绍(1234)
2. Visual C++初学者入门的一条捷径(转)(279)
3. c#单态模式与泛型结合的使用方法(277)
4. FolderBrowserDialog and OpenFileDialog Controls(183)
5. 如何学好C++(zf)(182)
评论排行榜
1. c#单态模式与泛型结合的使用方法(2)
2. 关于静态构造器的说明 (z 收藏)(1)
3. Visual C++初学者入门的一条捷径(转)(1)
4. How to constructor mock time object. (1)
5. Save_Resources(0)
Powered by:
博客园
Copyright © 带你去月球