问题列表 - 第27625页

使用Moq在C#中设置索引器

我无法弄清楚如何使用Moq在C#中设置索引器.Moq文档很薄弱,我已经做了很多搜索......我想做的事情在如何设置索引属性的解决方案中类似:

var someClass = new Mock<ISomeClass>();
someClass.SetupSet(o => o.SomeIndexedProperty[3] = 25);
Run Code Online (Sandbox Code Playgroud)

我想修改上面的内容以适用于任何索引和任何值,所以我可以这样做:

someClass.Object.SomeIndexedProperty[1] = 5;
Run Code Online (Sandbox Code Playgroud)

目前我有以下内容,它对索引属性getter非常有用,但是如果我设置了值,Moq会忽略它:

var someValues = new int[] { 10, 20, 30, 40 };
var someClass = new Mock<ISomeClass>();
someClass.Setup(o => o.SomeIndexedProperty[It.IsAny<int>()])
    .Returns<int>(index => someValues[index]);

// Moq doesn't set the value below, so the Assert fails!
someClass.Object.SomeIndexedProperty[3] = 25;
Assert.AreEqual(25, someClass.Object.SomeIndexedProperty[3]);
Run Code Online (Sandbox Code Playgroud)

c# unit-testing indexer moq

19
推荐指数
2
解决办法
5963
查看次数

Python doctest错误

嗨,我最近开始尝试python目前阅读"像计算机科学家一样思考:学习python v2nd版本"我一直在使用doctest遇到一些麻烦.我使用windows 7机器和带有pydev的Eclipse IDE.

我的问题是,当我运行下面的脚本时,我得到以下错误.所述脚本位于错误消息下方

    Traceback (most recent call last):
  File "C:\Users\shaytac\PythonProjects\test.py", line 21, in <module>
    doctest.testmod()
  File "C:\Python26\lib\doctest.py", line 1829, in testmod
    for test in finder.find(m, name, globs=globs, extraglobs=extraglobs):
  File "C:\Python26\lib\doctest.py", line 852, in find
    self._find(tests, obj, name, module, source_lines, globs, {})
  File "C:\Python26\lib\doctest.py", line 906, in _find
    globs, seen)
  File "C:\Python26\lib\doctest.py", line 894, in _find
    test = self._get_test(obj, name, module, globs, source_lines)
  File "C:\Python26\lib\doctest.py", line 978, in _get_test
    filename, lineno)
  File "C:\Python26\lib\doctest.py", line 597, in get_doctest
    return DocTest(self.get_examples(string, …
Run Code Online (Sandbox Code Playgroud)

python doctest

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

不可变字符串vs std :: string

我最近一直在阅读有关不可变字符串的原因为什么字符串在Java和.NET中不可变为什么.NET字符串是不可改变的?以及为什么D选择不可变字符串的一些东西.似乎有很多好处.

  • 平凡的线程安全
  • 更安全
  • 在大多数用例中,内存效率更高.
  • 便宜的子串(标记化和切片)

更不用说大多数新语言都有不可变的字符串,D2.0,Java,C#,Python等.

C++会从不可变字符串中受益吗?

是否有可能在c ++(或c ++ 0x)中实现具有所有这些优点的不可变字符串类?


更新:

在不可变字符串const_stringfix_str上有两次尝试.五年内都没有更新.它们甚至被使用过吗?为什么const_string没有进入boost?

c++ string immutability

61
推荐指数
3
解决办法
3万
查看次数

什么是C#中的事件?

在c#什么是事件?它与ActionScript事件类似吗?有什么不同吗?在什么?

.net c# events

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

如何使用__import__导入*

执行以下操作的最佳方法是什么,__import__以便我可以动态指定模块?

from module import *
Run Code Online (Sandbox Code Playgroud)

python import

17
推荐指数
3
解决办法
4475
查看次数

iBatis多参数映射器方法

假设我有一个getUser带有两个参数的查询- userName和password.我想要一个如下所示的mapper方法:

public UserBean getUser(String userName, String password);
Run Code Online (Sandbox Code Playgroud)

有什么方法可以实现这样的目标吗?或者也许我应该传递我的mapper方法参数图(以及我的xml映射器中的一些parameterMap)?

public UserBean getUser(Map<String, Object> paramMap);
Run Code Online (Sandbox Code Playgroud)

我期待着一些提示和解释.

ibatis mapper

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

使用集成Windows身份验证(NTLM)使用Python通过Exchange进行SMTP

我想使用登录的Windows用户的凭据来验证使用NTLM到Exchange服务器的SMTP连接.

我知道python-ntlm模块和两个 为SMTP启用NTLM身份验证的补丁,但我想使用当前用户的安全令牌而不必提供用户名和密码.

使用Python和urllib2的Windows身份验证非常相似的问题.

python ntlm smtp pywin32

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

单元格中的Excel XML换行符

我正在使用LINQ to XML来创建Excel XML文件.我想在单元格中包含换行符.Excel使用&#10;文字表示新行.如果我尝试使用XText添加它:

XText newlineElement = new XText( "Foo&#10;Bar" );
Run Code Online (Sandbox Code Playgroud)

我明白了:

Foo&amp;#10;Bar

在Excel中显示为:

Foo&#10;Bar

有没有办法在&#10不做的情况下写入XML文件

String.Replace( "&amp;#10;", "&#10;" )
Run Code Online (Sandbox Code Playgroud)

在生成的文件文本?

编辑这是一个代码片段,显示我如何为Excel文档创建一行.因为它有点凌乱,我正在避开它.:)让我知道更多的代码是否会有所帮助,或者这是否会增加更多的混淆.

在该示例中,newlineElement上述内容由代码示例中的唯一XText表示.

const string CELL = "{urn:schemas-microsoft-com:office:spreadsheet}Cell";
const string DATA = "{urn:schemas-microsoft-com:office:spreadsheet}Data";
const string STYLE = "{urn:schemas-microsoft-com:office:spreadsheet}StyleID";
const string TYPE= "{urn:schemas-microsoft-com:office:spreadsheet}Type";   
const string HEIGHT = "{urn:schemas-microsoft-com:office:spreadsheet}Height";
const string ROW = "{urn:schemas-microsoft-com:office:spreadsheet}Row";
Run Code Online (Sandbox Code Playgroud)

...

XElement rowElement = new XElement( Row,
                                    new XElement( CELL,
                                        new XAttribute( STYLE, "s0" ) ),
                                    new XElement( CELL, …
Run Code Online (Sandbox Code Playgroud)

c# excel linq-to-xml

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

有智能的PHP Emacs标记解决方案吗?

我想导航到这一点下的成员声明.使用etags *.php然后导航创建标记文件find-tag是有限的,因为它似乎没有任何调用类的意义.因此,如果两个类具有相同名称的方法,则必须循环.

语义的semantic-ia-fast-jump功能,另一个潜在的选择,对于PHP方法似乎根本不起作用.

php tags emacs

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

TortoiseSvn Merge后跟Create Patch不包含新文件

我在TortoiseSvn中进行合并,它修改了一些文件,删除了一些文件,并添加了一些文件.接下来我正在创建一个Create Patch来创建一个包含这些更改的补丁文件.问题是生成的补丁文件仅包含修改和删除,而不包括添加.

我发现了一种解决方法.如果我恢复添加,然后在TortoiseSVN中显式添加这些文件,然后执行修补程序,它会选择所有内容,包括添加.

有没有办法避免这种解决方法?

svn tortoisesvn merge patch

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