我在模拟一个Iterable类并调用spliterator(). 调用spliterator一次时一切正常,但第二次调用不返回任何值。
由于模拟总是返回相同的Spliterator实例,我假设状态没有被重置。有没有办法做到这一点?
这是我能给出的最小的例子
调用mapStringToHash是现实生活中的 Lib,无法更改。
MyIterable也不是我控制的对象。
package net.test;
import static org.hamcrest.CoreMatchers.is;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static java.util.stream.Collectors.toList;
import static org.hamcrest.MatcherAssert.assertThat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Spliterator;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.runners.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class)
public class SpliteratorTest {
class MyIterable<T> implements Iterable<T> {
private List<T> list;
MyIterable(List<T> list) {
this.list = new ArrayList<>(list);
}
@Override
public Iterator<T> iterator() …Run Code Online (Sandbox Code Playgroud) 我有一个带有data属性的jquery元素列表.
现在我想获得这些数据属性的列表.
由于data-attribute是某种对象属性,我认为这可能适用于下划线pluck方法.
这甚至可能吗?
看到这个简短的例子:
var divs = $("div");
// now do something
// expected result: [1, 2, 3]Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.com/libraries/underscore.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-foo="1">a</div>
<div data-foo="2">b</div>
<div data-foo="3">c</div>
<div>x</div>Run Code Online (Sandbox Code Playgroud)
解
基于@ romeo-sierra这是我写下来的方式(因为我已经有了jquery对象).下划线是多余的
var foos = $("div").map(function() {
return $(this).data("foo");
}).toArray();
console.log(foos);Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div data-foo="1">a</div>
<div data-foo="2">b</div>
<div data-foo="3">c</div>
<div>x</div>Run Code Online (Sandbox Code Playgroud)
我试图弄清楚打开python文件的最佳方法是基于它的类型.
例如,我有一些像这样的基本东西,但它对我来说似乎并不"pythonic",我觉得它在某种程度上可以重构和编写得更清洁;
def openfile(filename):
if read_file_from_top:
if not filename.endswith('.gz'):
with open(filename, 'r') as infile:
for line in infile:
# do something
else:
with gzip.open(filename, 'r') as infile:
for line in infile:
# do something
elif read_file_from_bottom:
if not filename.endswith('.gz'):
with open(filename, 'r') as infile:
for line in infile:
# do something
else:
with gzip.open(filename, 'r') as infile:
for line in infile:
# do something
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来做到这一点,也许使用发电机?谢谢.
我们希望在数据加载时显示加载图标,并且图表是在 highcharts 中制作的。
下面是伪代码:
// service call
// data is pushed in data set
// and that data is used in highcharts.
$('Chart_name').highcharts({
});
Run Code Online (Sandbox Code Playgroud) 我想知道是否有可能追踪1px方形轮廓,插入div内的特定距离.目前,css和HTML看起来像这样
.object {
width: 100px;
height: 100px;
background-color: red;
color: white;
padding: 5px;
}Run Code Online (Sandbox Code Playgroud)
<div class="object">
Hello World!
</div>Run Code Online (Sandbox Code Playgroud)
结果如下:
http://i.imgur.com/qdB0yb6.png
而预期的结果将是这样的:
javascript ×2
css ×1
highcharts ×1
html ×1
java ×1
java-stream ×1
jquery ×1
loader ×1
mockito ×1
python ×1
unit-testing ×1