コード例 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SpotPriceTrigger" /> class.
 /// </summary>
 /// <param name="price">Trigger price (required).</param>
 /// <param name="rule">Price trigger condition  - &gt;&#x3D;: triggered when market price larger than or equal to &#x60;price&#x60; field - &lt;&#x3D;: triggered when market price less than or equal to &#x60;price&#x60; field  (required).</param>
 /// <param name="expiration">How many seconds will the order wait for the condition being triggered. Order will be cancelled on timed out (required).</param>
 public SpotPriceTrigger(string price = default(string), RuleEnum rule = default(RuleEnum), int expiration = default(int))
 {
     // to ensure "price" is required (not null)
     this.Price      = price ?? throw new ArgumentNullException("price", "price is a required property for SpotPriceTrigger and cannot be null");
     this.Rule       = rule;
     this.Expiration = expiration;
 }
コード例 #2
0
        public void Create_WhenRuleType_ShouldUseExpectedTransformRule(RuleEnum ruleType, Type expectedTansformRuletype)
        {
            var factory     = new MathAssistantApplicationFactory(null);
            var application = factory.Create(ruleType);

            Assert.IsNotNull(application);
            Assert.That(factory.TransformRule.GetType(), Is.EqualTo(expectedTansformRuletype));
        }
コード例 #3
0
        public void Create_WhenRuleType_ShouldUseExpectedTransformRule(RuleEnum ruleType, Type expectedTansformRuletype)
        {
            var factory = new MathAssistantApplicationFactory(null);
            var application = factory.Create(ruleType);

            Assert.IsNotNull(application);
            Assert.That(factory.TransformRule.GetType(), Is.EqualTo(expectedTansformRuletype));
        }
コード例 #4
0
        public MathAssistantApplication Create(RuleEnum ruleType)
        {
            ITransformRule transformRule = new FizzBuzzRule();

            if (ruleType == RuleEnum.Monkey)
            {
                transformRule = new MonkeyRule();
            }

            return(Create(transformRule));
        }
コード例 #5
0
        /// <summary>
        /// Creates the specified audience.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <param name="audienceName">Name of the audience.</param>
        /// <param name="description">The description.</param>
        /// <param name="rule">The rule.</param>
        /// <param name="owner">The owner.</param>
        /// <param name="update">if set to <c>true</c> [update].</param>
        /// <returns></returns>
        internal static Audience Create(SPServiceContext context, string audienceName, string description, RuleEnum? rule, string owner, bool update)
        {
            AudienceManager manager = new AudienceManager(context);
            AudienceCollection auds = manager.Audiences;

            Audience audience;
            if (auds.AudienceExist(audienceName))
            {
                if (update)
                {
                    audience = auds[audienceName];
                    audience.AudienceDescription = description ?? "";
                }
                else
                    throw new SPException("Audience name already exists");
            }
            else
                audience = auds.Create(audienceName, description??"");// IMPORTANT: the create method does not do a null check but the methods that load the resultant collection assume not null.

            if (update && rule.HasValue && audience.GroupOperation != AudienceGroupOperation.AUDIENCE_MIX_OPERATION)
            {
                if (rule.Value == RuleEnum.Any && audience.GroupOperation != AudienceGroupOperation.AUDIENCE_OR_OPERATION)
                    audience.GroupOperation = AudienceGroupOperation.AUDIENCE_OR_OPERATION;
                else if (rule.Value == RuleEnum.All && audience.GroupOperation != AudienceGroupOperation.AUDIENCE_AND_OPERATION)
                    audience.GroupOperation = AudienceGroupOperation.AUDIENCE_AND_OPERATION;
            }
            else
            {
                if (audience.GroupOperation != AudienceGroupOperation.AUDIENCE_MIX_OPERATION)
                {
                    if (rule.HasValue)
                    {
                        if (rule == RuleEnum.Any)
                            audience.GroupOperation = AudienceGroupOperation.AUDIENCE_OR_OPERATION;
                        else if (rule == RuleEnum.All)
                            audience.GroupOperation = AudienceGroupOperation.AUDIENCE_AND_OPERATION;
                    }
                    else
                        audience.GroupOperation = AudienceGroupOperation.AUDIENCE_OR_OPERATION;
                }
            }
            if (!string.IsNullOrEmpty(owner))
            {
                audience.OwnerAccountName = owner;
            }
            else
            {
                audience.OwnerAccountName = string.Empty;
            }
            audience.Commit();
            return audience;
        }
コード例 #6
0
        private static LinkRule GetDbsmRule(RuleEnum key)
        {
            switch (key)
            {
            case RuleEnum.adRICascade:
                return(LinkRule.Cascade);

            case RuleEnum.adRISetNull:
                return(LinkRule.SetNull);

            case RuleEnum.adRISetDefault:
                return(LinkRule.SetDefault);

            default:
                return(LinkRule.None);
            }
        }
コード例 #7
0
        public RuleEnum TileNeighborsToMask <T>(T tile) where T : BaseTile <T>
        {
            RuleEnum ruleMask = 0;

            tile.EastNeighbor.Filter(n => tile.IsRightEdge || tile.SameTileCategory(n))
            .Match(some: (n) => ruleMask |= RuleEnum.HasEastNeighbor,
                   none: () => ruleMask  |= RuleEnum.NotHasEastNeighbor);

            tile.WestNeighbor.Filter(n => tile.IsLeftEdge || tile.SameTileCategory(n))
            .Match(some: (n) => ruleMask |= RuleEnum.HasWestNeighbor,
                   none: () => ruleMask  |= RuleEnum.NotHasWestNeighbor);

            tile.SouthNeighbor.Filter(n => tile.IsBottomEdge || tile.SameTileCategory(n))
            .Match(some: (n) => ruleMask |= RuleEnum.HasSouthNeighbor,
                   none: () => ruleMask  |= RuleEnum.NotHasSouthNeighbor);

            tile.NorthNeighbor.Filter(n => tile.IsTopEdge || tile.SameTileCategory(n))
            .Match(some: (n) => ruleMask |= RuleEnum.HasNorthNeighbor,
                   none: () => ruleMask  |= RuleEnum.NotHasNorthNeighbor);

            tile.SouthEastNeighbor.Filter(n => tile.IsBottomEdge || tile.IsRightEdge || tile.SameTileCategory(n))
            .Match(some: (n) => ruleMask |= RuleEnum.HasSouthEastNeighbor,
                   none: () => ruleMask  |= RuleEnum.NotHasSouthEastNeighbor);

            tile.SouthWestNeighbor.Filter(n => tile.IsBottomEdge || tile.IsLeftEdge || tile.SameTileCategory(n))
            .Match(some: (n) => ruleMask |= RuleEnum.HasSouthWestNeighbor,
                   none: () => ruleMask  |= RuleEnum.NotHasSouthWestNeighbor);

            tile.NorthEastNeighbor.Filter(n => tile.IsTopEdge || tile.IsRightEdge || tile.SameTileCategory(n))
            .Match(some: (n) => ruleMask |= RuleEnum.HasNorthEastNeighbor,
                   none: () => ruleMask  |= RuleEnum.NotHasNorthEastNeighbor);

            tile.NorthWestNeighbor.Filter(n => tile.IsTopEdge || tile.IsLeftEdge || tile.SameTileCategory(n))
            .Match(some: (n) => ruleMask |= RuleEnum.HasNorthWestNeighbor,
                   none: () => ruleMask  |= RuleEnum.NotHasNorthWestNeighbor);

            return(ruleMask);
        }
コード例 #8
0
 /// <summary>
 /// 对于前缀后缀匹配规则,必须是前缀后缀为一组。
 /// </summary>
 /// <param name="ruleEnum">枚举规则</param>
 /// <param name="ruleArray">候选规则,可以配置多个,仅用于JsonPath, PrefixSuffix</param>
 public FindDataAttr(RuleEnum ruleEnum, params string[] ruleArray)
 {
     RuleEnum  = ruleEnum;
     RuleArray = ruleArray;
 }
コード例 #9
0
 public void AddRule(RuleEnum rulemask, Sprite outputSprite)
 {
     rules.Add(new TileRule(rulemask, outputSprite));
 }
コード例 #10
0
ファイル: Rules.cs プロジェクト: brunodudu/simplescript
        public string GetString(RuleEnum r)
        {
            switch (r)
            {
            case RuleEnum.PLINE0:
                return("PLINE0");

            case RuleEnum.P0:
                return("P0");

            case RuleEnum.LDE0:
                return("LDE0");

            case RuleEnum.LDE1:
                return("LDE1");

            case RuleEnum.DE0:
                return("DE0");

            case RuleEnum.DE1:
                return("DE1");

            case RuleEnum.T0:
                return("T0");

            case RuleEnum.T1:
                return("T1");

            case RuleEnum.T2:
                return("T2");

            case RuleEnum.T3:
                return("T3");

            case RuleEnum.T4:
                return("T4");

            case RuleEnum.DT0:
                return("DT0");

            case RuleEnum.DT1:
                return("DT1");

            case RuleEnum.DT2:
                return("DT2");

            case RuleEnum.DC0:
                return("DC0");

            case RuleEnum.DC1:
                return("DC1");

            case RuleEnum.DF0:
                return("DF0");

            case RuleEnum.LP0:
                return("LP0");

            case RuleEnum.LP1:
                return("LP1");

            case RuleEnum.B0:
                return("B0");

            case RuleEnum.LDV0:
                return("LDV0");

            case RuleEnum.LDV1:
                return("LDV1");

            case RuleEnum.LS0:
                return("LS0");

            case RuleEnum.LS1:
                return("LS1");

            case RuleEnum.DV0:
                return("DV0");

            case RuleEnum.LI0:
                return("LI0");

            case RuleEnum.LI1:
                return("LI1");

            case RuleEnum.S0:
                return("S0");

            case RuleEnum.S1:
                return("S1");

            case RuleEnum.U0:
                return("U0");

            case RuleEnum.U1:
                return("U1");

            case RuleEnum.M0:
                return("M0");

            case RuleEnum.M1:
                return("M1");

            case RuleEnum.M2:
                return("M2");

            case RuleEnum.M3:
                return("M3");

            case RuleEnum.M4:
                return("M4");

            case RuleEnum.M5:
                return("M5");

            case RuleEnum.M6:
                return("M6");

            case RuleEnum.E0:
                return("E0");

            case RuleEnum.E1:
                return("E1");

            case RuleEnum.E2:
                return("E2");

            case RuleEnum.L0:
                return("L0");

            case RuleEnum.L1:
                return("L1");

            case RuleEnum.L2:
                return("L2");

            case RuleEnum.L3:
                return("L3");

            case RuleEnum.L4:
                return("L4");

            case RuleEnum.L5:
                return("L5");

            case RuleEnum.L6:
                return("L6");

            case RuleEnum.R0:
                return("R0");

            case RuleEnum.R1:
                return("R1");

            case RuleEnum.R2:
                return("R2");

            case RuleEnum.Y0:
                return("Y0");

            case RuleEnum.Y1:
                return("Y1");

            case RuleEnum.Y2:
                return("Y2");

            case RuleEnum.F0:
                return("F0");

            case RuleEnum.F1:
                return("F1");

            case RuleEnum.F2:
                return("F2");

            case RuleEnum.F3:
                return("F3");

            case RuleEnum.F4:
                return("F4");

            case RuleEnum.F5:
                return("F5");

            case RuleEnum.F6:
                return("F6");

            case RuleEnum.F7:
                return("F7");

            case RuleEnum.F8:
                return("F8");

            case RuleEnum.F9:
                return("F9");

            case RuleEnum.F10:
                return("F10");

            case RuleEnum.F11:
                return("F11");

            case RuleEnum.F12:
                return("F12");

            case RuleEnum.F13:
                return("F13");

            case RuleEnum.LE0:
                return("LE0");

            case RuleEnum.LE1:
                return("LE1");

            case RuleEnum.LV0:
                return("LV0");

            case RuleEnum.LV1:
                return("LV1");

            case RuleEnum.LV2:
                return("LV2");

            case RuleEnum.IDD0:
                return("IDD0");

            case RuleEnum.IDU0:
                return("IDU0");

            case RuleEnum.ID0:
                return("ID0");

            case RuleEnum.TRUE0:
                return("TRUE0");

            case RuleEnum.FALSE0:
                return("FALSE0");

            case RuleEnum.CHR0:
                return("CHR0");

            case RuleEnum.STR0:
                return("STR0");

            case RuleEnum.NUM0:
                return("NUM0");

            case RuleEnum.NB0:
                return("NB0");

            case RuleEnum.MF0:
                return("MF0");

            case RuleEnum.MC0:
                return("MC0");

            case RuleEnum.NF0:
                return("NF0");

            case RuleEnum.MT0:
                return("MT0");

            case RuleEnum.ME0:
                return("ME0");

            case RuleEnum.MW0:
                return("MW0");

            default:
                return("");
            }
        }
コード例 #11
0
        // Parse performs a semantical reduction rule parsing logic
        public void Parse(ref SemanticalAnalyser analyser, int r) {
            RuleEnum rule = Rule(r);

            switch (rule) {
                case RuleEnum.P0:
                    break;
                case RuleEnum.LDE0:
                    break;
                case RuleEnum.LDE1:
                    break;
                case RuleEnum.DE0:
                    break;
                case RuleEnum.DE1:
                    break;
                case RuleEnum.T0: // T-> 'integer'
                    var t = TStatic.Attribute.(T);
                    t.Type = scope.PIntObj;

                    TStatic.Size = 1;
                    TStatic.Type = nonterminals.T;
                    TStatic.Attribute = t;

                    a.Push(TStatic);
                    break;
                case RuleEnum.T1: // T -> 'char'
                    var t = TStatic.Attribute.(T);
                    t.Type = scope.PCharObj;

                    TStatic.Size = 1;
                    TStatic.Type = nonterminals.T;
                    TStatic.Attribute = t;

                    a.Push(TStatic);
                    break;
                case RuleEnum.T2: // T -> 'boolean'
                    var t = TStatic.Attribute.(T);
                    t.Type = scope.PBoolObj;

                    TStatic.Size = 1;
                    TStatic.Type = nonterminals.T;
                    TStatic.Attribute = t;

                    a.Push(TStatic);
                    break;
                case RuleEnum.T3: // T -> 'string'
                    var t = TStatic.Attribute.(T);
                    t.Type = scope.PStringObj;

                    TStatic.Size = 1;
                    TStatic.Type = nonterminals.T;
                    TStatic.Attribute = t;

                    a.Push(TStatic);
                    break;
                case RuleEnum.T4: // T -> IDU
                    IDUStatic = a.Top();
                    var id = IDUStatic.Attribute.(ID);
                    p = id.Object;
                    a.Pop();

                    if (p.Kind.IsType() || p.Kind == scope.KindUniversal) {
                        var t = TStatic.Attribute.(T);
                        t.Type = p;
                        TStatic.Attribute = t;

                        if (p.Kind == scope.KindAliasType) {
                            var alias = p.T.(scope.Alias);
                            TStatic.Size = alias.Size;
                        } else if (p.Kind == scope.KindArrayType) {
                            var arr = p.T.(scope.Array);
                            TStatic.Size = arr.Size;
                        } else if (p.Kind == scope.KindStructType) {
                            strcvar t = p.T.(scope.Struct);
                            TStatic.Size = strct.Size;
                        }
                    } else {
                        var t = TStatic.Attribute.(T);
                        t.Type = scope.PUniversalObj;

                        TStatic.Attribute = t;
                        TStatic.Size = 0;
                    }
                    TStatic.Type = nonterminals.T;
                    a.Push(TStatic);
                    break;
                case RuleEnum.DT0: // DT -> 'type' IDD '=' 'array' '[' NUM ']' 'of' T
                    TStatic = a.Top();
                    a.Pop();
                    NUMStatic = a.Top();
                    a.Pop();
                    IDDStatic = a.Top();
                    a.Pop();

                    var id = IDDStatic.Attribute.(ID);
                    var num = NUMStatic.Attribute.(NUM);
                    var typ = TStatic.Attribute.(T);

                    p = id.Object;
                    n = num.Val;
                    t = typ.Type;

                    p.Kind = scope.KindArrayType;
                    break;
                case RuleEnum.DT1: // DT -> 'type' IDD '=' 'struct' NB '{' DC '}'
                    DCStatic = a.Top();
                    a.Pop();
                    IDDStatic = a.Top();
                    a.Pop();

                    var obj = IDDStatic.Attribute.(ID);
                    var dc = DCStatic.Attribute.(DC);
                    p = obj.Object;

                    p.Kind = scope.KindStructType;
                    a.scope.EndBlock();
                    break;
                case RuleEnum.DT2: // DT -> 'type' IDD '=' T
                    TStatic = a.Top();
                    a.Pop();
                    IDDStatic = a.Top();
                    a.Pop();

                    var id = IDDStatic.Attribute.(ID);
                    var typ = TStatic.Attribute.(T);

                    p = id.Object;
                    t = typ.Type;

                    p.Kind = scope.KindAliasType;
                    break;
                case RuleEnum.DC0: // DC -> DC ';' LI ':' T
                    TStatic = a.Top();
                    a.Pop();
                    LIStatic = a.Top();
                    a.Pop();
                    DC1Static = a.Top();
                    a.Pop();

                    var li = LIStatic.Attribute.(LI);
                    var typ = TStatic.Attribute.(T);

                    p = li.List;
                    t = typ.Type;
                    n = DC1Static.Size;
    }
}
コード例 #12
0
ファイル: JetSchemaLoader.cs プロジェクト: rsdn/janus
		private static LinkRule GetDbsmRule(RuleEnum key)
		{
			switch (key)
			{
				case RuleEnum.adRICascade:
					return LinkRule.Cascade;
				case RuleEnum.adRISetNull:
					return LinkRule.SetNull;
				case RuleEnum.adRISetDefault:
					return LinkRule.SetDefault;
				default:
					return LinkRule.None;
			}
		}
コード例 #13
0
 public void GivenIHaveTransformationRuleOf(string ruleType)
 {
     this.ruleType = Util.ParseEnum <RuleEnum>(ruleType);
 }