Esempio n. 1
0
        ///
        ///	 <summary> * fitsCompleteList - tests whether <code>value</code> matches the given
        ///	 * testlist (ListType=fitsCompleteList)
        ///	 *  </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(JDFNumberRangeList @value, JDFNumberRangeList list)
        {
            int v_size = @value.Count;
            int l_size = list.Count;

            if (v_size != l_size)
            {
                return(false);
            }

            if ([email protected]())
            {
                return(false);
            }

            JDFNumberRangeList valueList = new JDFNumberRangeList(@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);
        }
Esempio n. 2
0
        public void testFitsValue()
        {
            JDFParser p       = new JDFParser();
            string    strNode = "<NumberState Name=\"BitDepth\" DefaultValue=\"1\" AllowedValueList=\"1 8.5 12\"/>";

            JDFDoc         jdfDoc = p.parseString(strNode);
            JDFNumberState state  = (JDFNumberState)jdfDoc.getRoot();

            JDFNumberRangeList list = new JDFNumberRangeList();

            list.Append(new JDFNumberRange(1, 12.5)); // 1~12
            // list.append(12);

            state.setListType(EnumListType.RangeList);
            Assert.IsFalse(state.fitsValue(list.ToString(), EnumFitsValue.Allowed), "ListType=RangeList");

            JDFNumberRangeList list2 = new JDFNumberRangeList();

            list2.Append(new JDFNumberRange(1, 12.5)); // 1~-2

            JDFNumberRangeList allowedVL = new JDFNumberRangeList();

            allowedVL.Append(new JDFNumberRange(1, 32.666)); // 1~32

            state.setAllowedValueList(allowedVL);            // new AllowedVlaueList

            Assert.IsTrue(state.fitsValue(list2.ToString(), EnumFitsValue.Allowed));

            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());
        }