@Test
public void javascriptWithScope() throws Exception {
Map<String, Object> scope = new LinkedHashMap<String, Object>();
scope.put("a", 99);
scope.put("b", 80);
JavaScript javaScript = new JavaScript("a < 100", scope);
Map<String, Object> data = new LinkedHashMap<String, Object>();
data.put("javaScript", javaScript);
BSONObject obj = generateAndParse(data);
CodeWScope result = (CodeWScope) obj.get("javaScript");
assertNotNull(result);
assertEquals(javaScript.getCode(), result.getCode());
Map<?, ?> returnedScope = result.getScope().toMap();
assertEquals(returnedScope, scope);
}