@Test
public void testHighLow() throws Exception {
ProbeDesc<String> pd = new ProbeDesc<String>();
pd.setName("empty");
pd.setProbeName("empty");
Map<String, Object> dsMap = new HashMap<String, Object>();
dsMap.put("dsName", "ds0");
dsMap.put("dsType", DsType.COUNTER);
dsMap.put("collecthigh", "high");
dsMap.put("collectlow", "low");
pd.add(dsMap);
GenerateProbe.ChainedMap<Object> args = GenerateProbe.ChainedMap.start();
args.set(ProbeDesc.class, pd).set(Probe.class, DummyProbe.class);
@SuppressWarnings("unchecked")
MokeProbe<String, Number> p = (MokeProbe<String, Number>) GenerateProbe.quickProbe(testFolder, args);
HostStarter host = new HostStarter(new HostInfo("DummyHost"));
host.setParent(Tools.getDefaultTimer());
host.getHost().setHostDir(testFolder.newFolder("testDefault"));
p.setHost(host);
p.configure();
Assert.assertTrue("Failed to create storage", p.checkStore());
Map<String, Number> val = new HashMap<String, Number>();
long high = 255L;
long low = 64L;
val.put("high", high);
val.put("low", low);
p.injectValues(val);
p.collect();
Assert.assertEquals("32 + 32 to 64 failed", (high << 32) + low, p.getLastValues().get("ds0").doubleValue(), 0.1);
}