public virtual void testPartAmountVirtual() { JDFDoc d = new JDFDoc(ElementName.JDF); JDFNode n = d.getJDFRoot(); n.setVersion(JDFElement.EnumVersion.Version_1_3); n.setType("ConventionalPrinting", true); JDFComponent comp = (JDFComponent)n.appendMatchingResource(ElementName.COMPONENT, EnumProcessUsage.AnyOutput, null); JDFResourceLink cpLink = n.getLink(comp, null); JDFAttributeMap mapBad = new JDFAttributeMap("Condition", "Waste"); cpLink.setActualAmount(42, mapBad); Assert.AreEqual(42.0, cpLink.getActualAmount(mapBad), 0); Assert.IsTrue(n.isValid(EnumValidationLevel.Incomplete), "allow part amounts to non-existing partitions"); cpLink.removeChild(ElementName.AMOUNTPOOL, null, 0); comp.addPartition(EnumPartIDKey.SheetName, "Sheet1"); mapBad.put(EnumPartIDKey.SheetName.getName(), "Sheet1"); cpLink.setActualAmount(42, mapBad); Assert.AreEqual(42.0, cpLink.getActualAmount(mapBad), 0); Assert.IsTrue(n.isValid(EnumValidationLevel.Incomplete), "allow partamounts to non-existing partitions"); mapBad.put(EnumPartIDKey.SheetName.getName(), "Sheet2"); Assert.AreEqual(0.0, cpLink.getActualAmount(mapBad), 0); JDFAttributeMap m2 = new JDFAttributeMap("Condition", "Waste"); Assert.AreEqual(42.0, cpLink.getActualAmount(m2), 0); m2.put("SheetName", "Sheet1"); Assert.AreEqual(42.0, cpLink.getActualAmount(m2), 0); m2.put("Side", "Front"); Assert.AreEqual(0.0, cpLink.getActualAmount(m2), 0); }
public virtual void testGetAmountPoolDouble() { JDFDoc d = new JDFDoc("TestLink"); JDFResourceLink rl = (JDFResourceLink)d.getRoot(); rl.setActualAmount(12, new JDFAttributeMap("SignatureName", "1")); rl.setActualAmount(14, new JDFAttributeMap("SignatureName", "2")); Assert.AreEqual(26.0, rl.getActualAmount(null), 0.1); rl.setAmount(42.0, null); Assert.AreEqual(42.0, rl.getAmount(new JDFAttributeMap("SignatureName", "2")), 0.1, "root attribute is incorrectly retrieved"); rl.removeChild(ElementName.AMOUNTPOOL, null, 0); rl.setActualAmount(33, null); Assert.AreEqual(33.0, rl.getActualAmount(null), 0.1); }
public virtual void testAmountCondition() { JDFDoc d = new JDFDoc(ElementName.JDF); JDFNode n = d.getJDFRoot(); n.setVersion(JDFElement.EnumVersion.Version_1_3); n.setType("ConventionalPrinting", true); JDFMedia m = (JDFMedia)n.addResource(ElementName.MEDIA, null, EnumUsage.Input, null, null, null, null); JDFResourceLink rl = n.getLink(m, null); JDFAttributeMap map = new JDFAttributeMap("SheetName", "s1"); JDFAttributeMap mapC = new JDFAttributeMap(map); mapC.put("Condition", "Good"); m.setAmount(42); Assert.AreEqual("42", m.getAttribute(AttributeName.AMOUNT), "m amount!=42"); Assert.AreEqual(42.0, rl.getAmount(null), 0.1, "rl amount!=42"); Assert.AreEqual(42.0, rl.getMinAmount(null), 0.1, "rl amount!=42"); Assert.AreEqual(42.0, rl.getMaxAmount(null), 0.1, "rl amount!=42"); rl.setAmount(44, map); Assert.AreEqual(44.0, rl.getAmount(map), 0.1, "rl amount!=42"); Assert.AreEqual(44.0, rl.getMinAmount(map), 0.1, "rl amount!=42"); Assert.AreEqual(44.0, rl.getMaxAmount(map), 0.1, "rl amount!=42"); Assert.AreEqual(-1.0, rl.getAmount(mapC), 0.1, "no good in map"); Assert.AreEqual(-1.0, rl.getMinAmount(mapC), 0.1, "no good in map"); Assert.AreEqual(-1.0, rl.getMaxAmount(mapC), 0.1, "no good in map"); rl.removeChild(ElementName.AMOUNTPOOL, null, 0); rl.setAmount(44, mapC); Assert.AreEqual(44.0, rl.getAmount(mapC), 0.1, "rl amount!=42"); Assert.AreEqual(44.0, rl.getMinAmount(mapC), 0.1, "rl amount!=42"); Assert.AreEqual(44.0, rl.getMaxAmount(mapC), 0.1, "rl amount!=42"); Assert.AreEqual(44.0, rl.getAmount(map), 0.1, "no good in rl"); Assert.AreEqual(44.0, rl.getMinAmount(map), 0.1, "no good in rl"); Assert.AreEqual(44.0, rl.getMaxAmount(map), 0.1, "no good in rl"); JDFAttributeMap mapW = new JDFAttributeMap(map); mapW.put("Condition", "Waste"); rl.setAmount(4, mapW); Assert.AreEqual(48.0, rl.getAmount(map), 0.1, "sum g/w in rl"); Assert.AreEqual(48.0, rl.getMinAmount(map), 0.1, "sum g/w in rl"); Assert.AreEqual(48.0, rl.getMaxAmount(map), 0.1, "sum g/w in rl"); }