问题列表 - 第38575页

对这个单元测试感到困惑!

基本上,我有一个抽象类,它有一个唯一的增量ID - Primitive.当实例化一个Primitive(或更确切地说,一个继承者Primitive)时,ID会递增 - 直到ID溢出的点 - 此时,我向异常添加一条消息并重新抛出.

好的,一切正常......但是我正在尝试测试这个功能,我以前从未使用过模拟.我只需要为ID提供足够的原语溢出并声明它在正确的时间抛出.

  • 实例化20亿个对象是不合理的!但是,我没有看到另一种方式.
  • 我不知道我是否正确使用嘲笑?(我正在使用Moq.)

这是我的测试(xUnit):

[Fact(DisplayName = "Test Primitive count limit")]
public void TestPrimitiveCountLimit()
{
    Assert.Throws(typeof(OverflowException), delegate()
    {
        for (; ; )
        {
            var mock = new Mock<Primitive>();
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

和:

public abstract class Primitive
{
    internal int Id { get; private set; }
    private static int? _previousId;

    protected Primitive()
    {
        try
        {
            _previousId = Id = checked (++_previousId) ?? 0;
        }
        catch (OverflowException …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing moq xunit .net-4.0

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

F#类型选项问题

我有以下代码:

let rec sums1 n = function
            | (a,b,x:int array,s,k) when (s<n&&b=x.Length-1) -> []//None
            | (a,b,x:int array,s,k) when (a=b&&((x.Length-1)=b))->[]// None 
            | (a,b,x,s,k) when (s=n) -> (Array.toList(Array.sub x a k)) 
            | (a,b,x,s,k) when (s<n) -> sums1 n (a,b+1,x,s+x.[b+1],k+1)
            | (a,b,x,s,k) when (s>n) -> sums1 n (a+1,b,x,s-x.[a],k-1)    
            | (a,b,c,d,e) -> []//None

let neco n s =match (sums1 n (0,-1,s,0,0)) with
        | [] ->None
        | x ->Some x
let ssum n xs:list<int> = neco n (List.toArray xs)
Run Code Online (Sandbox Code Playgroud)

如何编译器不允许我从类型选项<list <int >>的ssum值返回.我将返回此类型,而不是其他类型.有人知道吗?十分感谢.

f# types option

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

如何 - 用PHP动态

我有一个针对php文件的动作表单.表单完成并将数据插入数据库后,它希望它显示"Awesome".很棒,但是在表格之上.我希望它能够替换表格并显示出令人敬畏的效果.我怎么做?

谢谢.

if($done )
{
    echo "Awesome";
}
else
{
    echo "Error";
}
Run Code Online (Sandbox Code Playgroud)

php forms if-statement dynamic control-structure

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

C++:如何获取变量的类型并将其用作模板

我正在为以这种方式声明的函数的C++编写一个包装器:

class MyClass
{
public:
  template <class T>
  T& as();
};
Run Code Online (Sandbox Code Playgroud)

我的包装器需要消除显式模板,因为我不想调用 myClass.as<int>();

所以我尝试实现以这种方式声明的新函数:

class MyClass2 : public MyClass
{
public:
  template <class T>
  void get(T & val);
};
Run Code Online (Sandbox Code Playgroud)

通过这种方式我可以打电话

int a;
myClass2.get(a);
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个函数,所以类型是在运行时根据参数类型传递的?就像是:

template <class T>
void MyClass2::get(T & val)
{
  val = as< typeof(val) >();  /* Of course typeof does not exist */
}
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助.

c++ templates types

3
推荐指数
2
解决办法
4755
查看次数

静态方法中的非静态变量"this"

我读过这篇文章:https: //www.ibm.com/developerworks/java/library/j-javadev2-8/index.html

清单2中的抽象类Model具有静态变量数据存储区.

abstract class Model {
 static def datastore = DatastoreServiceFactory.datastoreService
  ...
Run Code Online (Sandbox Code Playgroud)

清单3中的Race类扩展了抽象类Model.

class Race extends Model {
 public Race(params){
  super(params)
 }
}
Run Code Online (Sandbox Code Playgroud)

在清单5和清单6 中,使用静态方法中的作者非静态变量数据存储(this.datastore).我想,静态方法是在Race类中.

static def findByName(name){
     def query = new Query(Race.class.simpleName)
     query.addFilter("name", Query.FilterOperator.EQUAL, name)
     def preparedQuery = this.datastore.prepare(query)
     if(preparedQuery.countEntities() > 1){
      return new Race(preparedQuery.asList(withLimit(1))[0])
     }else{
      return new Race(preparedQuery.asSingleEntity())
     }
    }
Run Code Online (Sandbox Code Playgroud)

这怎么可能?谢谢你的解释.
汤姆

groovy

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

用XPath获取第二个元素文本?

<span class='python'>
  <a>google</a>
  <a>chrome</a>
</span>
Run Code Online (Sandbox Code Playgroud)

我想得到chrome并让它像这样工作.

q = item.findall('.//span[@class="python"]//a')
t = q[1].text # first element = 0
Run Code Online (Sandbox Code Playgroud)

我想将它组合成一个XPath表达式,只需要一个项而不是列表.
我试过这个,但它不起作用.

t = item.findtext('.//span[@class="python"]//a[2]') # first element = 1
Run Code Online (Sandbox Code Playgroud)

实际的,而不是简化的HTML就是这样的.

<span class='python'>
  <span>
    <span>
      <img></img>
      <a>google</a>
    </span>
    <a>chrome</a>
  </span>
</span>
Run Code Online (Sandbox Code Playgroud)

python xpath lxml

20
推荐指数
1
解决办法
4万
查看次数

Silverlight:如何预测字符串大小?

我面临很多Silverlight处理布局问题的方法.主要是,在实际绘制字符串之前,我找不到预测字符串占用大小的方法.在iPhone上,我们有一些非常简单的方法,允许我们根据字体大小,自动换行选项和可用的宽度和/或高度来确定字符串在屏幕上占用的大小.但是使用Silverlight,我找不到在我的应用程序中获得一致结果的方法.

我目前正在使用TextBlock实例的ActuelHeight和ActualWidth,但它给出了随机结果.例如,我使用以下代码......

TextBlock proto = new TextBlock();

proto.Width = 456;
proto.TextWrapping = TextWrapping.Wrap;
proto.Text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit …
Run Code Online (Sandbox Code Playgroud)

silverlight windows-phone-7

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

将复杂对象从View传递到Controller:一个对象始终为null

我正在将一个复杂的对象传递ModelViewas

替代文字

但是当我从View中获取Model时,一个特定的对象总会出现,null而其他复杂类型通常会被传递

替代文字

我的视图是默认的Edit强类型视图

替代文字

我错过了什么?

ModelState中错误说

从类型'System.String'到类型'Julekalender.Database.CalendarInfo'的参数转换失败,因为没有类型转换器可以在这些类型之间进行转换.

为什么我不能为其他类型获得相同的?它是如何自动转换的?


我加入了3个字段(如T4模板不追加这个类型),但是当我仍然得到空POST荷兰国际集团

下面的绿色框是字段

<div class="editor-field">
    <%: Html.TextBoxFor(model => model.Calendar.Guid)%>
</div>
Run Code Online (Sandbox Code Playgroud)

替代文字


甚至将Action重命名为

[HttpPost]
public ActionResult General2(GeneralInfo model)
Run Code Online (Sandbox Code Playgroud)

给出了同样的错误

替代文字

parameter-passing viewmodel asp.net-mvc-2

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

如何在Common Lisp中附加工作?

我刚开始学习Lisp,我似乎不理解下面这段代码:

(setf y (loop for x in y
              for z = (something)
              unless (condition for z)
              append z))
Run Code Online (Sandbox Code Playgroud)

z附加在哪里?

lisp common-lisp

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

请求来源

如何获取提交请求的URL.我试过$ _SERVER ['REQUEST_URI']; 但这给了我目的地网址而不是源网址.是否有可能获得起源?

php request httprequest

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