Ejemplo n.º 1
0
        public bool IsFitByСonstraintOrDontHasСonstraint(ReasonOfFuzzyLogicResolving reason)
        {
            if (Constraint == null)
            {
                return(true);
            }

            if (Constraint.IsEmpty)
            {
                return(true);
            }

            return(Constraint.isFit(reason));
        }
Ejemplo n.º 2
0
        public bool IsFitByСonstraint(ReasonOfFuzzyLogicResolving reason)
        {
            if (Constraint == null)
            {
                if (reason == null)
                {
                    return(true);
                }

                if (reason.Kind == KindOfReasonOfFuzzyLogicResolving.Unknown)
                {
                    return(true);
                }

                return(false);
            }

            return(Constraint.isFit(reason));
        }
        public bool isFit(ReasonOfFuzzyLogicResolving reason)
        {
            if ((reason == null || reason.Kind == KindOfReasonOfFuzzyLogicResolving.Unknown) && _items.IsNullOrEmpty())
            {
                return(true);
            }

            var kindOfReson = reason.Kind;

            switch (kindOfReson)
            {
            case KindOfReasonOfFuzzyLogicResolving.Inheritance:
                return(_items.Any(p => p.Kind == KindOfLinguisticVariableConstraintItem.Inheritance));

            case KindOfReasonOfFuzzyLogicResolving.Relation:
                return(_items.Any(p => p.Kind == KindOfLinguisticVariableConstraintItem.Relation && p.RelationName == reason.RelationName));

            default:
                throw new ArgumentOutOfRangeException(nameof(kindOfReson), kindOfReson, null);
            }
        }