@Test
	public void verifyIntegerWithMixedExpression() {
		Context context = new Context();
		DataFactory factory = new DataFactory();
		IVPNumber a = factory.createIVPNumber();
		IVPNumber b = factory.createIVPNumber();
		IVPNumber c = factory.createIVPNumber();

		a.setValueType(IVPValue.DOUBLE_TYPE);
		b.setValueType(IVPValue.INTEGER_TYPE);
		c.setValueType(IVPValue.INTEGER_TYPE);

		context.addDouble(a.getUniqueID(), 3.4313);
		context.addInt(b.getUniqueID(), 10);
		context.addInt(c.getUniqueID(), 2);

		Division division1 = factory.createDivision();
		division1.setExpressionA(a.getUniqueID());
		division1.setExpressionB(b.getUniqueID());

		Division division2 = factory.createDivision();
		division2.setExpressionA(c.getUniqueID());
		division2.setExpressionB(division1.getUniqueID());

		HashMap map = new HashMap();
		map.put(division1.getUniqueID(), division1);
		map.put(division2.getUniqueID(), division2);
		map.put(a.getUniqueID(), a);
		map.put(b.getUniqueID(), b);
		map.put(c.getUniqueID(), c);
		// division2(c / division1(a / b))
		// c / (a / b)

		IVPNumber result = (IVPNumber) division2.evaluate(context, map, factory);
		assertTrue(result.getValueType().equals(IVPValue.DOUBLE_TYPE));
		assertTrue(context.getDouble(result.getUniqueID()) == 5.828694663830035);
	}