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 testGetAmountPoolSumDouble() { JDFNode d = new JDFDoc("JDF").getJDFRoot(); JDFResource m = d.addResource("Media", EnumUsage.Input); m.addPartition(EnumPartIDKey.SignatureName, "1"); JDFResourceLink rl = d.getLink(m, EnumUsage.Input); JDFAttributeMap map = new JDFAttributeMap("SignatureName", "1"); map.put("Condition", "Good"); rl.setActualAmount(12, map); VJDFAttributeMap vMap = new VJDFAttributeMap(); vMap.Add(new JDFAttributeMap("SignatureName", "1")); JDFAttributeMap sig1 = new JDFAttributeMap("SignatureName", "2"); vMap.Add(sig1); rl.getAmountPool().getPartAmount(map).setPartMapVector(vMap); map.put("Condition", "Waste"); rl.setActualAmount(14, map); Assert.AreEqual(26.0, rl.getAmountPoolSumDouble(AttributeName.ACTUALAMOUNT, null), 0.1); Assert.AreEqual(26.0, rl.getAmountPoolSumDouble(AttributeName.ACTUALAMOUNT, vMap), 0.1); sig1.put("SheetName", "S1"); Assert.AreEqual(26.0, rl.getAmountPoolSumDouble(AttributeName.ACTUALAMOUNT, vMap), 0.1, " also when more granular"); sig1 = new JDFAttributeMap(sig1); sig1.put("SheetName", "S2"); vMap.Add(sig1); Assert.AreEqual(26.0, rl.getAmountPoolSumDouble(AttributeName.ACTUALAMOUNT, vMap), 0.1, " also when more granular"); }
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 testGetMinAmountPoolAttribute() { 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(12.0, rl.getMinAmountPoolAttribute("ActualAmount", null, null, 42), 0.0); JDFAttributeMap map = new JDFAttributeMap("SignatureName", "3"); map.put("SheetName", "a"); rl.setActualAmount(24, map); map.put("SheetName", "b"); rl.setActualAmount(26, map); Assert.AreEqual(24.0, rl.getMinAmountPoolAttribute("ActualAmount", null, new JDFAttributeMap("SignatureName", "3"), 42), 0.0); }
public virtual void testValidAttributesAmountPool() { JDFDoc d = new JDFDoc(ElementName.JDF); JDFNode n = d.getJDFRoot(); n.setType(EnumType.Strapping); JDFResource rBar = n.addResource(ElementName.COMPONENT, EnumUsage.Input); JDFResourceLink rl = n.getLink(rBar, null); rl.setActualAmount(42, null); Assert.IsFalse(rl.getInvalidAttributes(EnumValidationLevel.Incomplete, false, 99).Contains(AttributeName.ACTUALAMOUNT)); // rl.appendAmountPool(); // Assert.IsTrue(rl.getInvalidAttributes(EnumValidationLevel.Incomplete, // false, 99).contains(AttributeName.ACTUALAMOUNT)); }