我有以下课程:
public class PairOfDice
{
private Dice d1,d2;
public int Value
{
get { return d1.Value + d2.Value; }
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想PairOfDice在我的测试中使用a 返回值1,虽然我在我的真实骰子中使用随机值:
[Test]
public void DoOneStep ()
{
var mock = new Mock<PairOfDice>();
mock.Setup(x => x.Value).Return(2);
PairOfDice d = mock.Object;
Assert.AreEqual(1, d.Value);
}
Run Code Online (Sandbox Code Playgroud)
不幸的是我收到了Invalid setup on non-overridable member错误.在这种情况下我该怎么办?
请注意,这是我第一次尝试实施单元测试.
我在使用Doxygen和Visual Studio 2010和C++时遇到了困难.
除了"un/comment lines"之外,没有其他评论功能吗?例如,生成注释存根,并///在新行之后添加.
另外,我想知道在VS2010的IntelliSense功能中显示这些注释需要什么?
我有3*.dat文件(346KB,725KB,1762KB),它们填充了一个json-string"big"int-Arrays.
每次创建对象(多次)时,我都会使用这三个文件并将 JsonConvert.DeserializeObject数组反序列化为对象.
我想过使用二进制文件而不是json-string,或者我可以直接保存这些数组吗?我不需要使用这些文件,它只是当前保存数据的位置.我很乐意更快地切换到任何东西.
加快这些对象初始化的不同方法有哪些?
现在,每个遗传C#库(A.Forge,遗传算法框架,GeneticSharp)似乎只评估单个Chromosome,然后使用各种选择方法之一来创建新一代.
由于我的问题涉及两个人工智能相互对抗,所以单独评估他们的健康状况有点困难.虽然游戏很简单,可以创造一些表面障碍(人工智能不会直接互动,但障碍会发送到彼此的游戏中),这样可以让我获得一些抽象的健身,但这不是"真正的"交易.
这些库似乎也没有提供另一个我可以实现这种评估方法的接口.是否有其他框架允许这样或者我需要从头开始?
我目前正在尝试在C#中使用正则表达式:
Regex reg_gameinfo = new Regex(@"PokerStars Game #(?<HID>[0-9]+):\s+(?:HORSE)? \(?(?<GAME>Hold'em|Razz|7 Card Stud|Omaha|Omaha Hi/Lo|Badugi) (?<LIMIT>No Limit|Limit|Pot Limit),? \(?(?<CURRENCYSIGN>\$|)?(?<SB>[.0-9]+)/\$?(?<BB>[.0-9]+) (?<CURRENCY>.*)\) - (?<DATETIME>.*$)", RegexOptions.Multiline);
Match matchresults = reg_gameinfo.Match(rawtext);
Dictionary<string,string> gameinfo = new Dictionary<string,string>();
if (matchresults.Success)
{
gameinfo.Add("HID", matchresults.Groups["HID"].Value);
gameinfo.Add("GAME", matchresults.Groups["GAME"].Value);
...
}
Run Code Online (Sandbox Code Playgroud)
我可以遍历matchresult.GroupsGroupCollection并将键值对添加到我的gameinfo字典中吗?
我有一个123MB的大int数组,它基本上是这样用的:
private static int[] data = new int[32487834];
static int eval(int[] c)
{
int p = data[c[0]];
p = data[p + c[1]];
p = data[p + c[2]];
p = data[p + c[3]];
p = data[p + c[4]];
p = data[p + c[5]];
return data[p + c[6]];
}
Run Code Online (Sandbox Code Playgroud)
eval()被称为很多(约50B次)与不同c,我想知道是否(以及如何)我可以加快它.
我已经使用了一个不安全的函数和一个使用所有CPU 的固定数组.它是RayW的TwoPlusTwo 7卡评估器的C#端口.C++版本的速度微不足道.
GPU可以用来加快速度吗?
我目前正试图用一种不常见的方法,一种遗传算法来解决reddit上的艰难挑战#151.
总之,一个分隔条件字符串之后consonants和vowels和移除spaces我需要把它放在一起不知道什么字符是第一位的.
hello world被分隔到hllwrld与eoo和需要被重新组装起来.例如hlelworlod,一种解决方案是,但这没有多大意义.采用所有可能解决方案的详尽方法可行,但对于较长的问题集则不可行.
cost使用Zipf定律构造相对数据库,并且可以从没有空格的句子中始终分离单词(借用此问题/答案)1和2有效地编码构造gene.这个gene例子的正确性是1211212111使用该infer_spaces()方法生成500个随机序列,并使用所有单词的成本评估适应度,取最佳值25%并从中修改4个新值,适用于小字符串,但经常落入局部最小值,尤其是对于较长序列.Hello World已经在第一代中发现(已经thisisnotworkingverygood正确分离并且具有成本)已经在第二代中41.223收敛到th iss n ti wo or king v rye good(270成本).
显然,使用计算出的成本作为评估方法仅适用于语法正确的句子的分离,而不适用于此遗传算法.你有更好的想法吗?或者是解决方案的另一部分,例如问题的表示gene?
标题部分是静态的,带有变量后缀.例如"Window Title { - user_id}".
如何在不知道确切标题的情况下获取句柄?
当我在 Sqlite 浏览器中打开旧数据库时,文本已显示错误。我唯一可以设置的编码是 UTF-8 和 UTF-16。

当我查询数据库时,Visual Studio 中的编码已经错误。

我假设文本是用 ANSI (Windows-1252) 编码的(在评论中确认)。我尝试将其转换为 UTF-8
var encoding = Encoding.GetEncoding(1252);
byte[] encBytes = encoding.GetBytes(result);
byte[] utf8Bytes = Encoding.Convert(encoding, Encoding.UTF8, encBytes);
return Encoding.UTF8.GetString(utf8Bytes);
Run Code Online (Sandbox Code Playgroud)
不知何故,外部遗留应用程序可以正确显示它,所以似乎有一种方法。但我不确定接下来我可以尝试什么。
是
#define LBitmap std::list < CBITMAP *>
Run Code Online (Sandbox Code Playgroud)
一个好习惯?
编辑:好吧,我该怎么做才能说服我的老板这是不好的做法?
c# ×7
c++ ×2
algorithm ×1
api ×1
arrays ×1
collections ×1
doxygen ×1
encoding ×1
geneticsharp ×1
gpu ×1
lookup ×1
loops ×1
moq ×1
performance ×1
properties ×1
python ×1
sqlite ×1
unit-testing ×1
utf-8 ×1