我正在使用JUnit测试套件来运行一些测试,其中一个使用@Parameterized运行多次.我发现当我运行测试时,@ Parameterized函数在@BeforeClass之前运行.这是预期的行为还是其他事情发生了?我原以为@BeforeClass会在任何测试开始之前运行.
这是我的测试套件:
@RunWith(Suite.class)
@SuiteClasses({ Test1.class, Test2.class })
public class TestSuite {
@BeforeClass
public static void setup() throws Exception {
// setup, I want this to be run before anything else
}
}
Run Code Online (Sandbox Code Playgroud)
Test1使用@Parameterized:
public class Test1 {
private String value;
// @Parameterized function which appears to run before @BeforeClass setup()
@Parameterized.Parameters
public static Collection<Object[]> configurations() throws InterruptedException {
// Code which relies on setup() to be run first
}
public Test1(String value) {
this.value = value;
}
@Test
public …Run Code Online (Sandbox Code Playgroud) 我有一个RDD Map[String, String]; 有没有办法filter多次调用它而不经过RDD多次?
例如,我想做这样的事情:
val stateNY = mapRDD.filter(person => person("state").equals("NY"))
val stateOR = mapRDD.filter(person => person("state").equals("OR"))
val stateMA = mapRDD.filter(person => person("state").equals("MA"))
val stateWA = mapRDD.filter(person => person("state").equals("WA"))
Run Code Online (Sandbox Code Playgroud)
还有这个:
val wage10to20 = mapRDD.filter(person => person("wage").toDouble > 10 && person("wage").toDouble <= 20)
val wage20to30 = mapRDD.filter(person => person("wage").toDouble > 20 && person("wage").toDouble <= 30)
val wage30to40 = mapRDD.filter(person => person("wage").toDouble > 30 && person("wage").toDouble <= 40)
val wage40to50 = mapRDD.filter(person => person("wage").toDouble > 40 && person("wage").toDouble <= …Run Code Online (Sandbox Code Playgroud) 当我调用我的AsyncTask时,运行doInBackground,但之后永远不会调用onPostExecute.Eclipse并没有抱怨@OverrideAsyncTask中的s或任何参数,所以我不确定是什么问题.谁能告诉我这是什么问题?
调用AsyncTask:
new AsyncDataFetcher(this).execute(productInfoUrls);
Run Code Online (Sandbox Code Playgroud)
productInfoUrls 是一个网址列表.
的AsyncTask:
private static class AsyncDataFetcher extends AsyncTask<List<String>, Void, List<JSONObject>> {
Context context;
public AsyncDataFetcher(Context context) {
this.context = context;
}
@Override
protected List<JSONObject> doInBackground(List<String>... urls) {
List<JSONObject> jsonList = new ArrayList<JSONObject>();
JSONParser json_parse = new JSONParser();
for (int i = 0; i < urls[0].size(); i ++) {
jsonList.add(json_parse.getJSONFromUrl(urls[0].get(i)));
}
return jsonList;
}
@Override
protected void onPostExecute(List<JSONObject> jsonList) {
if(jsonList != null){
productInfoParser.Parse(jsonList);
loaded = true;
}
}
}
Run Code Online (Sandbox Code Playgroud) 当我尝试name为XmlElementfor JAXB 分配属性时,我在Eclipse中收到错误:
The attribute name is undefined for the annotation type XmlElement
Run Code Online (Sandbox Code Playgroud)
我的模型类的示例:
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Components {
Component component;
@XmlElement(name = "component") // error on this line
public void setComponent(Component component) {
this.component = component;
}
}
Run Code Online (Sandbox Code Playgroud)
我试图用这个答案.
我正在尝试编写一个映射String和Int的函数?成对,然后在继续映射之前过滤对中非空的第二个值.
我的代码看起来像这样:
val ids: List<String> = listOf("a", "b", "c")
val ints: Map<String, Int?> = mapOf("a" to 1, "b" to 2, "c" to null)
ids.map { id: String ->
Pair(id, ints[id])
}.filter { pair -> pair.second != null}.map { pair: Pair<String, Int> ->
func(id, pair.second)
}
Run Code Online (Sandbox Code Playgroud)
问题是第二张地图有错误:
Type inference failed: Cannot infer type parameter T in
inline fun <T, R> kotlin.collections.Iterable<T>.map ( transform (T) -> R ): kotlin.collections.List<R>
Run Code Online (Sandbox Code Playgroud)
这看起来是因为编译器不知道聪明地将我Iterable<Pair<String, Int?>>投入到Iterable<Pair<String, Int>>我之后filter.我该怎么做才能解决这个问题?
如何检查类的实例是否使用 Trait?我无法使用,instanceof因为 Trait 是不可实例化的。
我正在尝试使用一种@BeforeClass方法运行 Scala Junit 测试。当我运行这个测试类时,该setup()方法永远不会执行。我在这里做错了什么?我使用的是 JUnit 4.12 和 Scala 2.10.5。其余的测试按预期执行。
import org.apache.spark.SparkContext
import org.apache.spark.rdd.RDD
import org.junit.BeforeClass
import org.junit.Test
import junit.framework.TestCase
object PerformanceTest extends TestCase {
var sc: SparkContext = _;
@BeforeClass
def setup(): Unit = {
if (sc == null) {
sc = new SparkContext("local", "ANTLR Expression Test")
}
}
}
class PerformanceTest extends TestCase {
@Test
def testWeightedAverage(): Unit = {
val csvRDD = PerformanceTest.sc.textFile("src/main/resources/MOCK_DATA.csv")
// ...
}
}
Run Code Online (Sandbox Code Playgroud) 我创建了一个Serializable版本番石榴的中ImmutableRangeMap和Builder,才能在斯卡拉在我的星火应用程序中使用.我也有一个零参数构造函数SerializableImmutableRangeMap,所以InvalidClassException: no valid constructor当我运行我的Spark应用程序时为什么会得到它?
这是我的SerializableImmutableRangeClass对象和类:
object SerializableImmutableRangeMap extends Serializable {
final class SerializableBuilder[K <: Comparable[_], V]() extends Serializable {
val keyRanges: RangeSet[K] = TreeRangeSet.create()
val rangeMap: RangeMap[K, V] = TreeRangeMap.create()
def put(range: Range[K], value: V): SerializableBuilder[K, V] = {
checkNotNull(range)
checkNotNull(value)
checkArgument(!range.isEmpty(), "Range must not be empty, but was %s", range)
if (!keyRanges.complement().encloses(range)) {
// it's an error case; we can afford an expensive lookup
for (entry: Entry[Range[K], …Run Code Online (Sandbox Code Playgroud) 单击标题后如何使手风琴折叠而不仅仅是标题中的文字?现在它只在我点击"Major"时才会崩溃.
JSFiddle:http://jsfiddle.net/P63pp/
我的手风琴html:
<div class="panel-group" id="accordion">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="accordian" href="#collapseMajor">
Major
</a>
</h4>
</div>
<div id="collapseMajor" class="panel-collapse collapse in">
<div class="panel-body">
<div class="checkbox">
<label>
<input type="checkbox" id="All" title="major" class="check-all-majors" checked>
All Majors
</label>
</div>
<div class="checkbox-group">
<div class="checkbox">
<label>
<input type="checkbox" id="AFM" title="major" class="check-majors" checked>AFM
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="ARTS" title="major" class="check-majors" checked>ARTS
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="CHEM" title="major" class="check-majors" checked>CHEM
</label>
</div>
</div> …Run Code Online (Sandbox Code Playgroud) 我收到错误label assigned to a block which is not a set。我的标签,会出现此错误:child,left,right,first,和last。我正在做的是为一组备选方案分配一个标签;这不应该被支持吗?
我的语法片段:
expr:
unaryExpr '(' child=(stat | expr | NUMBER) ')' #labelUnaryExpr
| binaryExpr '(' left=(stat | expr | constant) ',' right=(stat | expr | constant) ')' #labelBinaryExpr
| multipleExpr '(' first=(stat | expr | constant) (',' rest=(stat | expr | constant))+ ')' #labelMultipleExpr
;
Run Code Online (Sandbox Code Playgroud)