小编The*_*heZ的帖子

断言对象是特定类型

在JUnit中是否有可能断言一个对象是一个类的实例?由于各种原因,我在测试中有一个对象,我想检查其类型.它是Object1的类型还是Object2的类型?

目前我有:

assertTrue(myObject instanceof Object1);
assertTrue(myObject instanceof Object2);
Run Code Online (Sandbox Code Playgroud)

这有效,但我想知道是否有更有表现力的方式来做到这一点.

例如:

assertObjectIsClass(myObject, Object1);
Run Code Online (Sandbox Code Playgroud)

我能做到这一点:

assertEquals(myObject.class, Object1.getClass());
Run Code Online (Sandbox Code Playgroud)

是否有一个特定的断言方法,允许我以更优雅,流畅的方式测试对象的类型?

java junit unit-testing

176
推荐指数
6
解决办法
15万
查看次数

Azure 搜索 - 按表达式排序

我们想知道,Azure 搜索是否可以实现下面提到的场景。

让我们有一个包含三列的 Azure 搜索索引:

1.  Id [Edm.String]
2.  Tags [Collection(Edm.String)]
3.  MaxScore [Edm.Int32]
Run Code Online (Sandbox Code Playgroud)

该索引包含以下两个条目:

Id  Tags                MaxScore
1   Paris,London,Rome   30
2   Paris               10
Run Code Online (Sandbox Code Playgroud)

我们还有一个评分配置文件和一个 Tag (Sum, Linear) 类型的评分函数,它以 10 分(boost = 10)评估每个标签。

我们想在这个索引中搜索带有标签“Paris, London”的记录,并根据合规百分比对其进行排序,而 100% 是列 MaxScore 中的值。

问题是默认情况下 Azure 搜索按分数对记录进行排序。所以结果如下:

Id  Tags                MaxScore    Score     %
1   Paris,London,Rome   30          20        67%
2   Paris               10          10        100%
Run Code Online (Sandbox Code Playgroud)

但是我们需要按 [%] 列按降序对记录进行排序。使 Azure 搜索可以按表达式对记录进行排序就足够了。在我们的例子中,它类似于 $orderby=score*(100/MaxScore) 。然而,这目前是不可能的。

谢谢你。

azure azure-cognitive-search

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

React JS:调用setState后组件不更新

我有一个小小的反应应用程序,我正在玩,只是去了解图书馆.该应用程序只是一系列列表,从服务器填充.单击列表项时,该项的值将添加到应用级别的列表过滤器,然后将用于调用新数据以填充列表.

问题是我似乎无法使我的列表与应用程序(父级)中的新数据协调,即使在调用时也是如此setState.这是我的代码(咖啡):

### 
@jsx React.DOM
###

{div, h1, h2, h4, ul, li, form, input, br, p, strong, span, a} = React.DOM

SearchApp = React.createClass
  handleTopItemClick: (filter) ->
    facet = filter.field
    filters = @state.filters
    if filters.facets[facet] and filters.facets[facet].length > 0
      filters.facets[facet].push filter.value
    else 
      filters.facets[facet] = [filter.value]

    strArr = []
    _.each filters.facets, (valArr, field) ->
      _.each valArr, (val) ->
        strArr.push "+(#{field}:\"#{val}\")" 

    @setState 
      filters: filters
      queryStr: strArr.join(' ').trim()

  getInitialState: ->
    filters:
      facets: {}
    queryStr: ''    

  render: ->
    (div {
      id: 'content' …
Run Code Online (Sandbox Code Playgroud)

coffeescript reactjs

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