我想测试一些在同一个类中调用其他人的方法.它基本上是相同的方法,但参数较少,因为数据库中有一些默认值.我在这上面展示
public class A{
Integer quantity;
Integer price;
A(Integer q, Integer v){
this quantity = q;
this.price = p;
}
public Float getPriceForOne(){
return price/quantity;
}
public Float getPrice(int quantity){
return getPriceForOne()*quantity;
}
}
Run Code Online (Sandbox Code Playgroud)
所以我想测试是否在调用方法getPrice(int)时调用了方法getPriceForOne().基本上调用普通方法getPrice(int)和mock getPriceForOne.
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
....
public class MyTests {
A mockedA = createMockA();
@Test
public void getPriceTest(){
A a = new A(3,15);
... test logic of method without mock ...
mockedA.getPrice(2);
verify(mockedA, times(1)).getPriceForOne();
}
}
Run Code Online (Sandbox Code Playgroud)
考虑一下,我有一个更复杂的文件,这个文件是其他人的实用工具,必须全部在一个文件中.
我正在尝试使用DecimalFormat.format()方法格式化BigDecimal值.
我的问题是,我不知道如何设置DecimalFormats DecimalFormatSymbol来格式化文本而不使用任何分组分隔符.
我想知道如何设置分组符号并使用格式方法.我知道如何通过使用替换或其他方法来做到这一点,但它不是我想要的.
所以我需要知道如何将空字符设置为分组运算符.
例:
DecimalFormat dec = new DecimalFormat();
DecimalFormatSymbols decFS = new DecimalFormatSymbols();
decFS.setGroupingSeparator( '\0' );
dec.setDecimalFormatSymbols( decFS );
BigDecimal number = new BigDecimal(1000);
String result = dec.format(number);
Run Code Online (Sandbox Code Playgroud)
我希望得到"1000"作为字符串,没有其他字符.请帮忙
注意(对帖子做出反应):我想仅仅编号,而不需要分组.
我需要借助master report的参数将一个dataSource传递给我的子报表List<String>.我不知道dataSource是什么类型是正确的以及如何在子报表中获取值.
我的主报告中的片段:
<parameter name="seznamPriloh" class="java.util.List" isForPrompting="false"/>
....
<subreport>
<reportElement x="0" y="56" width="555" height="76"/>
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{seznamPriloh})]]></dataSourceExpression>
<subreportExpression><![CDATA[cz.alis.keong.jasjdr.reporting.ReportCompiler.compile("R79_SeznamPriloh")]]></subreportExpression>
</subreport>
Run Code Online (Sandbox Code Playgroud)
我的子报告中的代码段:
<detail>
<band height="23">
<textField>
<reportElement x="56" y="3" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$F{}]]></textFieldExpression>
</textField>
</band>
</detail>
Run Code Online (Sandbox Code Playgroud)
请告诉我如何通过主报告的java.util.List<String>类型参数将数据源传递到子报告.
编辑次数:08.14 14:20将标签添加到Java
编辑:08.14 15:30涉及如何打印iReport中另一个列表中包含的字符串列表?适用于4.5.0和List<String>
您好我在tab java和field java选项的配置窗口中为tomcat设置参数.我想添加配置到catalina_opts有没有办法怎么做?
在那个领域,我有
-Dcatalina.home=d:\apache-tomcat-7.0.23
-Dcatalina.base=d:\apache-tomcat-7.0.23
-Djava.endorsed=d:\apache-tomcat-7.0.23\endorsed
-Djava.io.tmpdir=d:\apache-tomcat-7.0.23\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=d:\apache-tomcat-7.0.23\conf\logging.properties
-XX:MaxPermSize=256m
Run Code Online (Sandbox Code Playgroud)
编辑次数:22.06.2012 12:26
我想添加这个参数
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8777
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=192.168.1.1
Run Code Online (Sandbox Code Playgroud)
编辑:22.06.2012 12:51
我将这些参数直接放入"Java选项"字段中,它可以工作,不确定为什么它第一次不起作用.
我想知道在查询varchar特定表中列中是否存在值时如何最大化速度.我不需要知道它在哪里,或者有多少次出现,我只想要一个true/ false.当然,该列有一个索引.
现在,我有这个:
SELECT exists (SELECT 1 FROM table WHERE column = <value> LIMIT 1);
Run Code Online (Sandbox Code Playgroud) 我编写测试并希望将BigDecimal结果与预期值进行比较。我想要使用方法Assert.assertEquals(BigDecimal, BigDecimal),因为如果删除它会显示精确的比较值,并且在 Eclipse 中我可以显示比较窗口。
所以在代码中我有一个方法返回BigDecimal四舍五入到小数点后两位。在测试用例中,我现在返回不带非零十进制数字的数字。所以我想创建比例为 0 的BigDecimal并将返回的BigDecimal修剪为相同的比例。
为了更复杂,我现在有方法从任何具有正确值的对象getDecimal(Object [,Optionaly int scale])创建BigDecimaltoString(),默认比例为 99。我在主要的“重”代码中使用它,所以这个方法必须非常快(不需要创建另一个对象,不要使用正则表达式等。 )。
所以简单的问题是:如何修改BigDecimal实例以通过最小负载修剪结尾的小数零。
想要这样的片子
0.010 -> 0.01
5.000 -> 5
100 -> 100 not 1E+2
Run Code Online (Sandbox Code Playgroud)
回复:
someTrim(new BigDecimal("100.00")).equals(new BigDecimal(100))
Run Code Online (Sandbox Code Playgroud)
做数学之类的事情
100.00 / (2, 99, DOWN) * 50.00 -> 2500
Run Code Online (Sandbox Code Playgroud)
我的代码看起来像
public static BigDecimal getDecimal( Object value ) {
// null here probably work beter, but dont want number longer then 99 decimal …Run Code Online (Sandbox Code Playgroud) 我想用它来构建 unique_key。但我不想明确提供架构名称。有什么办法可以弄清楚吗?
CREATE OR REPLACE FUNCTION is_value_free(_header_id integer, _value varchar)
RETURNS BOOLEAN AS
$$
BEGIN
RETURN NOT EXISTS (
SELECT header_id, value
FROM myschema.mytable
WHERE value LIKE _value AND header_id != _header_id
LIMIT 1);
END;
$$ LANGUAGE plpgsql;
ALTER TABLE mytable
ADD CONSTRAINT uniq_value CHECK (is_value_free(header_id,value))
Run Code Online (Sandbox Code Playgroud)
如果我这样做,它必须有效:
set search_path = schema1;
CREATE FUNCTION AS ABOVE
set search_path = schema2;
INSERT INTO schema1.mytable(id, header_id, value)
VALUES (1,1,'a'); -- Should be ok
INSERT INTO schema1.mytable(id, header_id, value)
VALUES (1,2,'a'); -- Should violate …Run Code Online (Sandbox Code Playgroud) 我有报告组和子组,需要按字母顺序排序,但我想要排序null或空值作为最后.是否有选择或一些工作来制作它?谢谢帕维尔