小编han*_*aad的帖子

Moq-验证对方法的最后一次调用

public interface IMouseTraits
{
    void ForceCursor(Cursor cursor);
    void SetCursor(Cursor cursor);
}
Run Code Online (Sandbox Code Playgroud)

1)如何验证对SetCursor的最后一次调用是Cursors.Arrow(多次调用SetCursor和ForceCursor并允许使用不同的参数)。

2)我如何验证双方的最后一次通话SetCursor和ForceCursor是SetCursor允许的(多次调用和的setCursor与ForceCursor不同参数)。

[Test]
public void AfterOperationCursorIsArrow()
{
    var mock = new Mock<IMouseTraits>();

    varw = new WindowOperation(mock.Object);
    w.Execute();

    mock.Verify(traits => traits.SetCursor(Cursors.Arrow));  // ?
}
Run Code Online (Sandbox Code Playgroud)

c# unit-testing moq

2
推荐指数
1
解决办法
476
查看次数

使用Delphi中的Generics与属性接口

这段代码出了什么问题:

INamed = interface
    function GetName : String;
    property Name : String read GetName;
end;

Person = class(TInterfacedObject, INamed)
strict private
    name_ : String;
    function GetName : String;
public
    constructor Create(firstName : String); reintroduce;
    property Name : String read GetName;
end;
// trivial Person implementation...

Printer<T : INamed> = class
    ref : T;
    procedure Print;
end;

Printer2 = class
    ref : INamed;
    procedure Print;
end;

procedure Printer<T>.Print;
begin
    //WriteLn(ref.Name);  // <-- this line gives access violation
    WriteLn(ref.GetName); // <-- this …
Run Code Online (Sandbox Code Playgroud)

delphi generics interface

1
推荐指数
1
解决办法
1913
查看次数

装饰者模式与Call超级反模式

让我们有一个简单的Decorator示例:

struct IStuff {
  virtual void Info()=0;
  virtual ~IStuff() { }
};

class Ugly : public IStuff {
public:
  void Info() { cout  << "Ugly"; }
};

class Shiny : public IStuff {
  IStuff* stuff;
public:
  Shiny(IStuff* stuff) {
    this->stuff = stuff;
  }
  ~Shiny() {
    delete stuff;
  }
  void Info() {
    stuff->Info(); // <------------------------------- call super?
    cout << "->Shiny";
  }
};

int main() {
  IStuff* s = new Ugly();
  s = new Shiny(s); // decorate
  s = new Shiny(s); // …
Run Code Online (Sandbox Code Playgroud)

c++ design-patterns anti-patterns decorator

1
推荐指数
1
解决办法
965
查看次数

量角器等待条件不应该在超时后失败

ExpectedConditions.visibilityOf如果元素不可见,是否可以在没有失败的情况下等待?我想处理的情况,其中一个按钮的威力已经通过动画变得可见,点击它拿走.

browser.wait(conditions.visibilityOf(button), 500).then(function (visible) {
    if (visible) {
        return button.click().then(function () {/*...*/});
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript webdriver angularjs selenium-webdriver protractor

1
推荐指数
1
解决办法
1496
查看次数

排除MongoDB中除嵌入文档的单个字段外的所有字段

请考虑以下文档:

{
    "_id": 1,
    "name" : "bob",
    "alotofstuff": [],
    "morestuff",
    "item": {
        "name": "baumeister",
        "manyfieldshere": 1,
        "evenmore": 2
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法返回文档,没有item除name字段之外的所有属性,如下所示:

{
    "_id": 1,
    "name" : "bob",
    "alotofstuff": [],
    "morestuff",
    "item": {
        "name": "baumeister",
    }
}
Run Code Online (Sandbox Code Playgroud)

我想避免写一个投影,必须包括所有其他字段{ name: 1, alotofstuff: 1, morestuff: 1, item.name: 1 }(真实文档要大得多).

mongodb

1
推荐指数
1
解决办法
773
查看次数

Wpf椭圆切断顶部和底部

我需要绘制一个看起来像我的例子的椭圆(或其他任何东西?)(大致用油漆画出我的意思)

椭圆

任何建议如何发展这个?

我试过Clip,但我只能切断顶部或底部(或者我做错了吗?)

<Canvas Width="16" Height="16">
    <Ellipse Fill="Red" MinHeight="16"  Name="ellipse1" Stroke="White" StrokeThickness="1" MinWidth="16" >
        <Ellipse.Clip>
            <RectangleGeometry Rect="0,0,16,10"/>
        </Ellipse.Clip>
    </Ellipse>
</Canvas>
Run Code Online (Sandbox Code Playgroud)

最好的是,如果它是一个圆圈,动态地将大小更改为内容

谢谢马库斯

wpf xaml ellipse

0
推荐指数
1
解决办法
2676
查看次数

如何在c#中更改属性名称?

我的Model类中有两个属性.我正在使用MVC 4.例如我在下面的类和它的属性 -

public Class Test 
{  
   public string Custom1 {get; set;}    
   public string Custom2 {get; set;}   
}
Run Code Online (Sandbox Code Playgroud)

当我绑定这个Test模型类时,它正常工作.我想要的是,我想保留属性名称Custom1和Custom2,但想要更改其名称.

意味着,Custom1将在那里,但我访问此属性使用不同的名称,如EmailId和密码而不是Custom1和Custom2.

c# asp.net-mvc-4

0
推荐指数
1
解决办法
1300
查看次数