예제 #1
0
        /// <summary>
        /// Gets the ValueSet comparer for this kind of <see cref="ParameterType"/>
        /// </summary>
        /// <param name="relationalExpression">The <see cref="RelationalExpression"/></param>
        /// <returns>The <see cref="IComparer{ValueArray{String}}"/></returns>
        private IComparer <ValueArray <string> > GetValueSetComparer(RelationalExpression relationalExpression)
        {
            IComparer <ValueArray <string> > comparer;

            switch (relationalExpression.ParameterType.ClassKind)
            {
            case ClassKind.SpecializedQuantityKind:
                comparer = new QuantityKindValueSetComparer();

                break;

            case ClassKind.SimpleQuantityKind:
                comparer = new QuantityKindValueSetComparer();

                break;

            case ClassKind.DerivedQuantityKind:
                comparer = new QuantityKindValueSetComparer();

                break;

            case ClassKind.BooleanParameterType:
                comparer = new BooleanValueSetComparer();

                break;

            case ClassKind.EnumerationParameterType:
                comparer = new EnumerationValueSetComparer();

                break;

            case ClassKind.DateParameterType:
                comparer = new DateTimeValueSetComparer();

                break;

            case ClassKind.DateTimeParameterType:
                comparer = new DateTimeValueSetComparer();

                break;

            case ClassKind.TimeOfDayParameterType:
                comparer = new DateTimeValueSetComparer();

                break;

            case ClassKind.TextParameterType:
                comparer = new DateTimeValueSetComparer();

                break;

            default:
                comparer = new StringValueSetComparer();

                break;
            }

            return(comparer);
        }
        public void SetUp()
        {
            this.valueArrayTrue       = new ValueArray <string>(new[] { "True" });
            this.valueArrayFalse      = new ValueArray <string>(new[] { "False" });
            this.valueArrayLowerTrue  = new ValueArray <string>(new[] { "true" });
            this.valueArrayLowerFalse = new ValueArray <string>(new[] { "false" });
            this.valueArrayNotSet     = new ValueArray <string>(new [] { "-" });
            this.valueArrayWrongTrue  = new ValueArray <string>(new[] { "1" });
            this.valueArrayWrongFalse = new ValueArray <string>(new[] { "0" });

            this.booleanValueSetComparer = new BooleanValueSetComparer();
        }