/// /// <summary> * fitsCompleteList - tests whether <code>value</code> matches the given /// * testlist (ListType=CompleteList) /// * </summary> /// * <param name="value"> /// * value to test </param> /// * <param name="list"> /// * testlist, either AllowedValueList or PresentValueList. /// * </param> /// * <returns> boolean - true, if <code>value</code> matches the testlist </returns> /// private bool fitsCompleteList(JDFIntegerRangeList @value, JDFIntegerRangeList list) { int v_size = @value.Count; int l_size = list.Count; if (v_size != l_size) { return(false); } if ([email protected]()) { return(false); } JDFIntegerRangeList valueList = new JDFIntegerRangeList(@value); bool bFound; for (int i = l_size - 1; i >= 0; i--) { bFound = false; for (int j = valueList.Count - 1; j >= 0; j--) { if (list[i].Equals(valueList[j])) { valueList.erase(j); bFound = true; break; } } if (!bFound) { return(false); } } return(true); }
public void testFitsValue() { JDFParser p = new JDFParser(); string strNode = "<IntegerState Name=\"BitDepth\" DefaultValue=\"1\" AllowedValueList=\"1 8 12\"/>"; JDFDoc jdfDoc = p.parseString(strNode); JDFIntegerState state = (JDFIntegerState)jdfDoc.getRoot(); JDFIntegerRangeList list = new JDFIntegerRangeList(); list.Append(new JDFIntegerRange(1, 12)); // 1~12 // list.append(12); state.setListType(EnumListType.RangeList); Assert.IsFalse(state.fitsValue(list.ToString(), EnumFitsValue.Allowed), "ListType=RangeList"); JDFIntegerRangeList list2 = new JDFIntegerRangeList(); list2.Append(new JDFIntegerRange(1, -2)); // 1~-2 JDFIntegerRangeList allowedVL = new JDFIntegerRangeList(); allowedVL.Append(new JDFIntegerRange(1, 32)); // 1~32 state.setAllowedValueList(allowedVL); // new AllowedVlaueList Assert.IsTrue(state.fitsValue(list2.ToString(), EnumFitsValue.Allowed), "xDef is wrong"); list.erase(list.Count - 1); // erase "1~12" list.Append(2); list.Append(12); list.Append(22); state.setListType(EnumListType.List); state.setAllowedValueMod(new JDFXYPair(10, 2)); Assert.IsTrue(state.fitsValue(list.ToString(), EnumFitsValue.Allowed), "ListType=List, ValueMod=" + state.getAllowedValueMod()); }