我有一个类处理2 xml文件并生成一个文本文件.
我想写一堆单元/集成测试,可以单独传递或失败,以便执行以下操作:
下面是该课程的原型以及我在单元测试中的第一次尝试.
是否有我应该用于此类测试的模式,还是人们倾向于编写数以万亿的TestX()函数?
有没有更好的方法来哄骗NUnit的文本文件差异?我应该嵌入文本文件diff算法吗?
class ReportGenerator
{
string Generate(string inputPathA, string inputPathB)
{
//do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
[TextFixture]
public class ReportGeneratorTests
{
static Diff(string pathToExpectedResult, string pathToActualResult)
{
using (StreamReader rs1 = File.OpenText(pathToExpectedResult))
{
using (StreamReader rs2 = File.OpenText(pathToActualResult))
{
string actualContents = rs2.ReadToEnd();
string expectedContents = rs1.ReadToEnd();
//this works, but the output could be a LOT more useful.
Assert.AreEqual(expectedContents, actualContents);
}
}
}
static TestGenerate(string pathToInputA, string pathToInputB, string pathToExpectedResult)
{ …Run Code Online (Sandbox Code Playgroud) 我想编写一个类似这样的存储过程:
SELECT * from T where T.A = @a and T.B = @b
Run Code Online (Sandbox Code Playgroud)
如果返回行,则返回这些行,否则返回
SELECT * from T where T.A = @a and T.B IS NULL
Run Code Online (Sandbox Code Playgroud)
编辑:
感觉应该有一种方法来创建一个过程,使其运行第一个查询一次,并仅在必要时运行第二个查询.
结束编辑.
我能管理的最好的是跟随,它(理论上)运行第一个查询两次,除非缓存它:
IF EXISTS (SELECT * from T where T.A = @a and T.B = @b) THEN
SELECT * from T where T.A = @a and T.B = @b
ELSE
SELECT * from T where T.A = @a and T.B IS NULL
Run Code Online (Sandbox Code Playgroud)
值得一提的是,这是在Microsoft SQL Server 2008中
出于安装原因,我想在我的应用程序中使用3.5.我唯一缺少的功能是UseLayoutRounding,它与我的自定义控件非常吻合.有没有办法在3.5中模拟UseLayoutRounding?
有没有办法将以下Backus-Naur形式(BNF)语法转换为.Net正则表达式?(我并没有停留在BNF,但我认为这可能是解释我想要做的事情的最佳方式).
<field> ::= "<<" <fieldname> <options> ">>"
<options> ::= "" | "(" <option> ")"
<option> ::= "" |
<option> <non-paren> |
<option> <escaped-character>
<escaped-character> ::= "\\" | "\)"
<non-paren> ::= any character but paren
<fieldname> ::= any string that doesn't contain "(" or ">>"
Run Code Online (Sandbox Code Playgroud)
我很接近,但我无法弄清楚如何应对逃避\和).这将捕获命名组中的fieldname和option:
<<(?<fieldname>.\*?)(\((?<option>.*?)\))?>>
Run Code Online (Sandbox Code Playgroud)
编辑
事实证明,我对BNF语法比我想象的更生气.
我试图得到的是括号是特殊字符.在"选项"部分中,它们必须通过斜杠进行转义.(还必须转义斜线).
我正在编写一些代码,我需要获取与组合框关联的列表框的窗口句柄。在 spy++ 中查看时,看起来列表框的父级是桌面,而不是组合框。如何以编程方式找到列表框窗口句柄?
我正在尝试在jqgrid上使用表单编辑.当数据发送到网络服务器时,我想在get/post数据中发送一个额外的字段.
听起来像editData是我想要使用的.如何将其挂钩到导航栏?
<script type="text/javascript">
$(document).ready(function(){
if (jQuery('#ReferenceGrid').attr('role') == 'undefined' || jQuery('#ReferenceGrid').attr('role') == null) {
var lastSel;
jQuery('#ReferenceGrid').jqGrid({
url: '/PlannedWorkOrder/Items/',
datatype: 'json',
postData: { referenceNumber: $('#reference').text() },
colNames: ['Platinum Part Number', 'Quantity'],
colModel: [
{ name: 'PlatinumPartNumber', index: 'PlatinumPartNumber', width: 300, sortable: false, editable: true },
{ name: 'Quantity', index: 'Quantity', width: 300, sortable: false, editable: true, editrules:{integer: true} },
],
jsonReader: {
cell: "",
id: "PlatinumPartNumber",
repeatitems: false
},
search:false,
viewrecords: true,
height: '100%',
sortorder: 'desc',
caption: 'Details',
altRows: true, …Run Code Online (Sandbox Code Playgroud) 当我将项目设置"Generate Serialization Assembly"设置为"On"时,为什么Visual Studio 2005不生成序列化设置?
如果一个人希望将大量光栅图像批量转换为矢量图形,那么有没有哪种工具做得那么好?
举个例子,想想几乎所有具有标准形状(椭圆,矩形)和文本的图表.
在C#中,我有可能被放入一些静态的数据Dictionary<int, T>,其中T一些引用类型.Web应用程序只需要静态初始化一次(它不会更改).
由于我不必担心插入或删除性能,使用什么是最好的数据结构(或者我应该自己动手)?我可能会看到大约100,000个条目,间隔相当均匀.
我正在寻找一种获取这些数据的最佳算法.Dictionary<>虽然不错,但我认为必须有针对只读数据优化的东西.
我怀疑,但尚未确认这些密钥的范围可能是0 - 400,000.如果是这样的话,建议会如何变化?(我想我会发布一个可能的答案).
也许我可以:
这会比具有合理负载系数的HashTable/Dictionary更好还是更差?
我有一些JavaScript代码,我正在尝试转换为Typescript.
据说,typescript是JavaScript的超集,除了下面的编译器错误.假设我没有将ko库导入typescript,我将如何转换以下代码:
(function(ko, viewModels){
viewModels.MyViewModel = function(){
//stuff in here
}
}(ko, window.viewModels = window.viewModels || {}));
Run Code Online (Sandbox Code Playgroud)
对于参考,这是我在TypeScript中的尝试
module viewModels {
export class PartDetailsViewModel {
public bar: string;
constructor (){
this.bar = ko.foo(); //<-- compiler error, "ko" does not exist in current scope
}
}
}
}
Run Code Online (Sandbox Code Playgroud) c# ×2
.net ×1
.net-3.5 ×1
bnf ×1
combobox ×1
diff ×1
import ×1
jqgrid ×1
listbox ×1
nunit ×1
readonly ×1
regex ×1
sgen ×1
sql ×1
sql-server ×1
text-files ×1
typescript ×1
unit-testing ×1
winapi ×1
wpf ×1