我曾尝试使用Moq对使用DetachedCriteria类的存储库上的方法进行单元测试.但是我遇到了一个问题,即我实际上无法模拟内部构建的内部Criteria对象.有没有办法模拟分离标准?
测试方法
[Test]
[Category("UnitTest")]
public void FindByNameSuccessTest()
{
//Mock hibernate here
var sessionMock = new Mock<ISession>();
var sessionManager = new Mock<ISessionManager>();
var queryMock = new Mock<IQuery>();
var criteria = new Mock<ICriteria>();
var sessionIMock = new Mock<NHibernate.Engine.ISessionImplementor>();
var expectedRestriction = new Restriction {Id = 1, Name="Test"};
//Set up expected returns
sessionManager.Setup(m => m.OpenSession()).Returns(sessionMock.Object);
sessionMock.Setup(x => x.GetSessionImplementation()).Returns(sessionIMock.Object);
queryMock.Setup(x => x.UniqueResult<SopRestriction>()).Returns(expectedRestriction);
criteria.Setup(x => x.UniqueResult()).Returns(expectedRestriction);
//Build repository
var rep = new TestRepository(sessionManager.Object);
//Call repostitory here to get list
var returnR = rep.FindByName("Test");
Assert.That(returnR.Id == …Run Code Online (Sandbox Code Playgroud) c# nhibernate unit-testing fluent-nhibernate detachedcriteria
我有一个为我定义的样式ListBoxItems,触发器设置IsSelected为True 时的背景颜色:
<Style x:Key="StepItemStyle" TargetType="{x:Type ListBoxItem}">
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border Name="Border" Padding="0" SnapsToDevicePixels="true">
<ContentPresenter />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Border" Property="Background" Value="#40a0f5ff"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
这种风格即使在ListBox和ListBoxItem失去焦点时也能保持所选项目,在我的情况下绝对是必须的.问题是我还希望ListBoxItem在其中一个TextBox孩子得到关注时被选中.为了达到这个目的,我添加了一个触发器,IsSelected当IsKeyboardFocusWithin为true 时设置为true:
<Trigger Property="IsKeyboardFocusWithin" Value="True">
<Setter Property="IsSelected" Value="True" />
</Trigger>
Run Code Online (Sandbox Code Playgroud)
当我添加此触发器时,焦点在子节点上时会选择Item TextBox,但第一个行为会消失.现在当我点击外面时ListBox,该项目被取消选中.
我怎样才能保持这两种行为?
大多数时候我定义varchar(255)长度auto.
但是现在我想为utf8字段定义多少varchar长度:
密码
用户名
电子邮件
如果此字段的定义应小于varchar 255,那么它将提高多少性能?
谢谢
在Java代码中执行空检查,并且为空值抛出IllegalArgumentExceptions时,您使用什么类型的消息模板?
我们倾向于使用这样的东西
public User getUser(String username){
if (username == null){
throw new IllegalArgumentException("username is null");
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
更好的是:"为空"或"为空",为什么?
对我来说,"无效"感觉更自然.
我想分解一个类,使其与执行某个任务的逻辑分离,以便用户可以按照自己的意愿编写新策略而不会干扰中心模型.所以,我想使用模板化策略类,但不必让策略的用户进行模板化:
class Model {
...
boost::shared_ptr< Strategy < T > > m_pStrategy;
...
public:
template < typename T >
void DoSomething() { m_pStrategy < T > ::DoSomething(); }
};
Run Code Online (Sandbox Code Playgroud)
我希望DoSomething函数不被模板化.有没有其他方法可以实现我想要做的事情?
谢谢.
我需要在java中为具有Web应用程序的9个服务器的集群实现缓存解决方案.我看到了apache JCS,看起来很旧,你知道另一个开源解决方案吗?
这是我的代码片段:
class Request
{
public:
Request(void);
………..
}
Request::Request(void)
{
qDebug()<<"Request: "<<"Hello World";
}
class LoginRequest :public Request
{
public:
LoginRequest(void);
LoginRequest(QDomDocument);
……………
}
LoginRequest::LoginRequest(void)
{
qDebug()<<"LoginRequest: "<<"Hello World";
requestType=LOGIN;
requestId=-1;
}
LoginRequest::LoginRequest(QDomDocument doc){
qDebug()<<"LoginRequest: "<<"Hello World with QDomDocument";
LoginRequest::LoginRequest();
xmlDoc_=doc;
}
Run Code Online (Sandbox Code Playgroud)
当调用Overrided LoginRequest的构造函数时
LoginRequest *test=new LoginRequest(doc);
Run Code Online (Sandbox Code Playgroud)
我想出了这个结果:
Request: Hello World
LoginRequest: Hello World with QDomDocument
Request: Hello World
LoginRequest: Hello World
Run Code Online (Sandbox Code Playgroud)
显然,LoginRequest的构造函数都调用了REquest构造函数.
有没有办法解决这种情况?
我可以构造另一个函数来完成我想要做的工作,并让两个构造函数都调用该函数.但我想知道有什么解决方案吗?
编辑:http: //www.parashift.com/c++-faq-lite/ctors.html#faq-10.3
我有这个JSON对象:
{"time":"123456789", "raw":"chat_history", "data":{
"msg":[
{"time":1111111111, "user":"user1", "text":"text from user1"},
{"time":2222222222, "user":"user2", "text":"text from user2"},
{"time":3333333333, "user":"user3", "text":"text from user3"},
{"time":4444444444, "user":"user4", "text":"text from user4"}
]
}}
Run Code Online (Sandbox Code Playgroud)
我必须创建一个FOR来循环data.msg的元素并打印它:
我会用FOR打印这些结果:
11111111111 - user1 - text from users1
22222222222 - user2 - text from users2
33333333333 - user3 - text from users3
44444444444 - user4 - text from users4
Run Code Online (Sandbox Code Playgroud)
你可以帮帮我吗?
非常感谢你
例如:
用户名:zjm1126密码:11
我将密码存储在gae上的数据存储区中,
当我在/ _ah/admin看到数据视图时,我可以看到密码所有人的密码注册,
我认为这不安全,是吗?
密码是这样的吗?
如何存储密码,
谢谢
替代文字http://omploader.org/vNGtxZA
并且check_password方法是:
username:zjm1126
password:11
Run Code Online (Sandbox Code Playgroud) 如何使用java api将doc转换为pdf.其中document包含各种格式,如ms中的表格.使用iText转换为pdf时.实际文件看起来与转换后的pdf不同.请提供任何api而不是安装转换的exe.必须是开源的
java ×3
c++ ×2
c# ×1
caching ×1
constructor ×1
database ×1
field ×1
inheritance ×1
javascript ×1
json ×1
listbox ×1
listboxitem ×1
ms-word ×1
mysql ×1
nhibernate ×1
overloading ×1
passwords ×1
pdf ×1
python ×1
templates ×1
unit-testing ×1
wpf ×1