示例#1
0
        public Request(XElement node, string @namespace)
        {
            foreach (var element in node.Elements())
            {
                switch (element.Name.LocalName)
                {
                case "GetCapabilities":
                    GetCapabilities = new OperationType(element, @namespace);
                    break;

                case "GetMap":
                    GetMap = new OperationType(element, @namespace);
                    break;

                case "GetFeatureInfo":
                    GetFeatureInfo = new OperationType(element, @namespace);
                    break;

                default:
                    ExtendedOperation.Add(element.Name.LocalName, new OperationType(element, @namespace));
                    break;
                }
            }

            if (GetCapabilities == null)
            {
                throw WmsParsingException.ElementNotFound("GetCapabilities");
            }

            if (GetMap == null)
            {
                throw WmsParsingException.ElementNotFound("GetMap");
            }
        }
        public void Percentage_Calculate_ReturnsResult()
        {
            // arrange
            var extendedOperation = new ExtendedOperation();

            // act
            var result = extendedOperation.Percent(20, 80);

            // assert
            Assert.That(result, Is.EqualTo(16));
        }
        public void Exponent_Calculate_ReturnsResult()
        {
            // arrange
            var extendedOperation = new ExtendedOperation();

            // act
            var result = extendedOperation.Exponent(2, 8);

            // assert
            Assert.That(result, Is.EqualTo(256));
        }
        public void Factorial_Calculate_ReturnsResult()
        {
            // arrange
            var extendedOperation = new ExtendedOperation();

            // act
            var result = extendedOperation.Factorial(4);

            // assert
            Assert.That(result, Is.EqualTo(24));
        }
        public void Modulo_Calculate_ReturnsResult()
        {
            // arrange
            var extendedOperation = new ExtendedOperation();

            // act
            var result = extendedOperation.Modulo(100, 7);

            // assert
            Assert.That(result, Is.EqualTo(2));
        }
示例#6
0
        public void Percent_Calculate_ReturnsResult()
        {
            // arrange
            var percent = new ExtendedOperation();

            // act
            var result = percent.Percent(50, 100);

            // assert
            Assert.That(result, Is.EqualTo(50));
        }
示例#7
0
        public void Modulo_Calculate_ReturnsResult()
        {
            // arrange
            var modulo = new ExtendedOperation();

            // act
            var result = modulo.Modulo(5, 3);

            // assert
            Assert.That(result, Is.EqualTo(2));
        }
示例#8
0
        public void Factorial_Calculate_ReturnsResult()
        {
            // arrange
            var factorial = new ExtendedOperation();

            // act
            var result = factorial.Factorial(3);

            // assert
            Assert.That(result, Is.EqualTo(6));
        }
示例#9
0
        public void Exponent_Calculate_ReturnsResult()
        {
            // arrange
            var exponent = new ExtendedOperation();

            // act
            var result = exponent.Exponent(10, 3);

            // assert
            Assert.That(result, Is.EqualTo(1000));
        }
示例#10
0
        /// <summary>
        /// This sample illustrates the usage of ExtendedOperation API to model different kinds
        /// of operations and log additional user defined fields over what Ifx logs.
        /// </summary>
        public static void ExtendedOperationsSample()
        {
            SampleIfx.OperationEventPartC myOperationEvent = new SampleIfx.OperationEventPartC
            {
                PartCField1 = "PartC Field 1",
                PartCField2 = "PartC Field 2"
            };

            /*
             * Instrumenting an internal call.
             */

            // The default operation type of a newly created operation is Internal call.
            using (ExtendedOperation <SampleIfx.OperationEventPartC> operation = new ExtendedOperation <SampleIfx.OperationEventPartC>("Internal Call"))
            {
                // Set PartC.
                operation.PartC = myOperationEvent;

                // Set result for the operation.
                operation.SetResult(OperationResult.Success);
            }

            /*
             * Instrumenting a service Api call.
             */
            using (ExtendedOperation <SampleIfx.OperationEventPartC> operation = new ExtendedOperation <SampleIfx.OperationEventPartC>("Service API"))
            {
                // Set PartC.
                operation.PartC = myOperationEvent;

                // Set the operation type to Service Api.
                operation.ApiType = OperationApiType.ServiceApi;

                // Set result for the operation.
                operation.SetResult(OperationResult.Success);
            }

            /*
             * Instrumenting a client proxy call.
             */
            using (ExtendedOperation <SampleIfx.OperationEventPartC> operation = new ExtendedOperation <SampleIfx.OperationEventPartC>("Client Proxy"))
            {
                // Set PartC.
                operation.PartC = myOperationEvent;

                // Setting the Target endpoint for an operation automatically sets its type
                // to be ClientProxy.
                operation.TargetEndpointAddress = "http://bing";

                // Set result for the operation.
                operation.SetResult(OperationResult.Success);
            }

            SampleIfx.QoSEventPartC myQoSEvent = new SampleIfx.QoSEventPartC
            {
                PartCField1 = "PartC Field 1",
                PartCField2 = "PartC Field 2"
            };

            /*
             * Instrumenting an internal call and designating marking it for QoS analysis.
             */
            using (ExtendedOperation <SampleIfx.QoSEventPartC> qosOperation = new ExtendedOperation <SampleIfx.QoSEventPartC>("Internal Call"))
            {
                // Set PartC.
                qosOperation.PartC = myQoSEvent;

                // Designate this operation to be considered for QoS analysis.
                qosOperation.MarkImpactsQoS("Caller identity type", "Caller identity");

                // Set result for the operation.
                qosOperation.SetResult(OperationResult.Success);
            }

            /*
             * Instrumenting a service Api call and designating it for QoS analysis.
             */
            using (ExtendedOperation <SampleIfx.QoSEventPartC> qosOperation = new ExtendedOperation <SampleIfx.QoSEventPartC>("Service API"))
            {
                // Set PartC.
                qosOperation.PartC = myQoSEvent;

                // Set the operation type to Service Api.
                qosOperation.ApiType = OperationApiType.ServiceApi;

                // Designate this operation to be considered for QoS analysis.
                qosOperation.MarkImpactsQoS("Caller identity type", "Caller identity");

                // Set result for the operation.
                qosOperation.SetResult(OperationResult.Success);
            }

            /*
             * Instrumenting a client proxy call and designating it for QoS analysis.
             */
            using (ExtendedOperation <SampleIfx.QoSEventPartC> qosOperation = new ExtendedOperation <SampleIfx.QoSEventPartC>("Client Proxy"))
            {
                // Set PartC.
                qosOperation.PartC = myQoSEvent;

                // Setting the Target endpoint for an operation automatically sets its type
                // to be ClientProxy.
                qosOperation.TargetEndpointAddress = "http://bing";

                // Designate this operation to be considered for QoS analysis.
                qosOperation.MarkImpactsQoS("Caller identity type", "Caller identity");

                // Set result for the operation.
                qosOperation.SetResult(OperationResult.Success);
            }
        }
示例#11
0
 /// <summary>
 /// Initializes the extended operations.
 /// </summary>
 /// <returns>
 /// The extended operations.
 /// </returns>
 
 private static ImmutableArray<ExtendedOperation> InitializeExtendedOperations()
 {
     var ext = new ExtendedOperation[256];
    
     ext[0] = z => z.ExtendedOperation0();
     ext[1] = z => z.ExtendedOperation1();
     ext[2] = z => z.ExtendedOperation2();
     ext[3] = z => z.ExtendedOperation3();
     ext[4] = z => z.ExtendedOperation4();
     ext[5] = z => z.ExtendedOperation5();
     ext[6] = z => z.ExtendedOperation6();
     ext[7] = z => z.ExtendedOperation7();
     ext[8] = z => z.ExtendedOperation8();
     ext[9] = z => z.ExtendedOperation9();
     ext[10] = z => z.ExtendedOperation10();
     ext[11] = z => z.ExtendedOperation11();
     ext[12] = z => z.ExtendedOperation12();
     ext[13] = z => z.ExtendedOperation13();
     ext[14] = z => z.ExtendedOperation14();
     ext[15] = z => z.ExtendedOperation15();
     ext[16] = z => z.ExtendedOperation16();
     ext[17] = z => z.ExtendedOperation17();
     ext[18] = z => z.ExtendedOperation18();
     ext[19] = z => z.ExtendedOperation19();
     ext[20] = z => z.ExtendedOperation20();
     ext[21] = z => z.ExtendedOperation21();
     ext[22] = z => z.ExtendedOperation22();
     ext[23] = z => z.ExtendedOperation23();
     ext[24] = z => z.ExtendedOperation24();
     ext[25] = z => z.ExtendedOperation25();
     ext[26] = z => z.ExtendedOperation26();
     ext[27] = z => z.ExtendedOperation27();
     ext[28] = z => z.ExtendedOperation28();
     ext[29] = z => z.ExtendedOperation29();
     ext[30] = z => z.ExtendedOperation30();
     ext[31] = z => z.ExtendedOperation31();
     ext[32] = z => z.ExtendedOperation32();
     ext[33] = z => z.ExtendedOperation33();
     ext[34] = z => z.ExtendedOperation34();
     ext[35] = z => z.ExtendedOperation35();
     ext[36] = z => z.ExtendedOperation36();
     ext[37] = z => z.ExtendedOperation37();
     ext[38] = z => z.ExtendedOperation38();
     ext[39] = z => z.ExtendedOperation39();
     ext[40] = z => z.ExtendedOperation40();
     ext[41] = z => z.ExtendedOperation41();
     ext[42] = z => z.ExtendedOperation42();
     ext[43] = z => z.ExtendedOperation43();
     ext[44] = z => z.ExtendedOperation44();
     ext[45] = z => z.ExtendedOperation45();
     ext[46] = z => z.ExtendedOperation46();
     ext[47] = z => z.ExtendedOperation47();
     ext[48] = z => z.ExtendedOperation48();
     ext[49] = z => z.ExtendedOperation49();
     ext[50] = z => z.ExtendedOperation50();
     ext[51] = z => z.ExtendedOperation51();
     ext[52] = z => z.ExtendedOperation52();
     ext[53] = z => z.ExtendedOperation53();
     ext[54] = z => z.ExtendedOperation54();
     ext[55] = z => z.ExtendedOperation55();
     ext[56] = z => z.ExtendedOperation56();
     ext[57] = z => z.ExtendedOperation57();
     ext[58] = z => z.ExtendedOperation58();
     ext[59] = z => z.ExtendedOperation59();
     ext[60] = z => z.ExtendedOperation60();
     ext[61] = z => z.ExtendedOperation61();
     ext[62] = z => z.ExtendedOperation62();
     ext[63] = z => z.ExtendedOperation63();
     ext[64] = z => z.ExtendedOperation64();
     ext[65] = z => z.ExtendedOperation65();
     ext[66] = z => z.ExtendedOperation66();
     ext[67] = z => z.ExtendedOperation67();
     ext[68] = z => z.ExtendedOperation68();
     ext[69] = z => z.ExtendedOperation69();
     ext[70] = z => z.ExtendedOperation70();
     ext[71] = z => z.ExtendedOperation71();
     ext[72] = z => z.ExtendedOperation72();
     ext[73] = z => z.ExtendedOperation73();
     ext[74] = z => z.ExtendedOperation74();
     ext[75] = z => z.ExtendedOperation75();
     ext[76] = z => z.ExtendedOperation76();
     ext[77] = z => z.ExtendedOperation77();
     ext[78] = z => z.ExtendedOperation78();
     ext[79] = z => z.ExtendedOperation79();
     ext[80] = z => z.ExtendedOperation80();
     ext[81] = z => z.ExtendedOperation81();
     ext[82] = z => z.ExtendedOperation82();
     ext[83] = z => z.ExtendedOperation83();
     ext[84] = z => z.ExtendedOperation84();
     ext[85] = z => z.ExtendedOperation85();
     ext[86] = z => z.ExtendedOperation86();
     ext[87] = z => z.ExtendedOperation87();
     ext[88] = z => z.ExtendedOperation88();
     ext[89] = z => z.ExtendedOperation89();
     ext[90] = z => z.ExtendedOperation90();
     ext[91] = z => z.ExtendedOperation91();
     ext[92] = z => z.ExtendedOperation92();
     ext[93] = z => z.ExtendedOperation93();
     ext[94] = z => z.ExtendedOperation94();
     ext[95] = z => z.ExtendedOperation95();
     ext[96] = z => z.ExtendedOperation96();
     ext[97] = z => z.ExtendedOperation97();
     ext[98] = z => z.ExtendedOperation98();
     ext[99] = z => z.ExtendedOperation99();
     ext[100] = z => z.ExtendedOperation100();
     ext[101] = z => z.ExtendedOperation101();
     ext[102] = z => z.ExtendedOperation102();
     ext[103] = z => z.ExtendedOperation103();
     ext[104] = z => z.ExtendedOperation104();
     ext[105] = z => z.ExtendedOperation105();
     ext[106] = z => z.ExtendedOperation106();
     ext[107] = z => z.ExtendedOperation107();
     ext[108] = z => z.ExtendedOperation108();
     ext[109] = z => z.ExtendedOperation109();
     ext[110] = z => z.ExtendedOperation110();
     ext[111] = z => z.ExtendedOperation111();
     ext[112] = z => z.ExtendedOperation112();
     ext[113] = z => z.ExtendedOperation113();
     ext[114] = z => z.ExtendedOperation114();
     ext[115] = z => z.ExtendedOperation115();
     ext[116] = z => z.ExtendedOperation116();
     ext[117] = z => z.ExtendedOperation117();
     ext[118] = z => z.ExtendedOperation118();
     ext[119] = z => z.ExtendedOperation119();
     ext[120] = z => z.ExtendedOperation120();
     ext[121] = z => z.ExtendedOperation121();
     ext[122] = z => z.ExtendedOperation122();
     ext[123] = z => z.ExtendedOperation123();
     ext[124] = z => z.ExtendedOperation124();
     ext[125] = z => z.ExtendedOperation125();
     ext[126] = z => z.ExtendedOperation126();
     ext[127] = z => z.ExtendedOperation127();
     ext[128] = z => z.ExtendedOperation128();
     ext[129] = z => z.ExtendedOperation129();
     ext[130] = z => z.ExtendedOperation130();
     ext[131] = z => z.ExtendedOperation131();
     ext[132] = z => z.ExtendedOperation132();
     ext[133] = z => z.ExtendedOperation133();
     ext[134] = z => z.ExtendedOperation134();
     ext[135] = z => z.ExtendedOperation135();
     ext[136] = z => z.ExtendedOperation136();
     ext[137] = z => z.ExtendedOperation137();
     ext[138] = z => z.ExtendedOperation138();
     ext[139] = z => z.ExtendedOperation139();
     ext[140] = z => z.ExtendedOperation140();
     ext[141] = z => z.ExtendedOperation141();
     ext[142] = z => z.ExtendedOperation142();
     ext[143] = z => z.ExtendedOperation143();
     ext[144] = z => z.ExtendedOperation144();
     ext[145] = z => z.ExtendedOperation145();
     ext[146] = z => z.ExtendedOperation146();
     ext[147] = z => z.ExtendedOperation147();
     ext[148] = z => z.ExtendedOperation148();
     ext[149] = z => z.ExtendedOperation149();
     ext[150] = z => z.ExtendedOperation150();
     ext[151] = z => z.ExtendedOperation151();
     ext[152] = z => z.ExtendedOperation152();
     ext[153] = z => z.ExtendedOperation153();
     ext[154] = z => z.ExtendedOperation154();
     ext[155] = z => z.ExtendedOperation155();
     ext[156] = z => z.ExtendedOperation156();
     ext[157] = z => z.ExtendedOperation157();
     ext[158] = z => z.ExtendedOperation158();
     ext[159] = z => z.ExtendedOperation159();
     ext[160] = z => z.ExtendedOperation160();
     ext[161] = z => z.ExtendedOperation161();
     ext[162] = z => z.ExtendedOperation162();
     ext[163] = z => z.ExtendedOperation163();
     ext[164] = z => z.ExtendedOperation164();
     ext[165] = z => z.ExtendedOperation165();
     ext[166] = z => z.ExtendedOperation166();
     ext[167] = z => z.ExtendedOperation167();
     ext[168] = z => z.ExtendedOperation168();
     ext[169] = z => z.ExtendedOperation169();
     ext[170] = z => z.ExtendedOperation170();
     ext[171] = z => z.ExtendedOperation171();
     ext[172] = z => z.ExtendedOperation172();
     ext[173] = z => z.ExtendedOperation173();
     ext[174] = z => z.ExtendedOperation174();
     ext[175] = z => z.ExtendedOperation175();
     ext[176] = z => z.ExtendedOperation176();
     ext[177] = z => z.ExtendedOperation177();
     ext[178] = z => z.ExtendedOperation178();
     ext[179] = z => z.ExtendedOperation179();
     ext[180] = z => z.ExtendedOperation180();
     ext[181] = z => z.ExtendedOperation181();
     ext[182] = z => z.ExtendedOperation182();
     ext[183] = z => z.ExtendedOperation183();
     ext[184] = z => z.ExtendedOperation184();
     ext[185] = z => z.ExtendedOperation185();
     ext[186] = z => z.ExtendedOperation186();
     ext[187] = z => z.ExtendedOperation187();
     ext[188] = z => z.ExtendedOperation188();
     ext[189] = z => z.ExtendedOperation189();
     ext[190] = z => z.ExtendedOperation190();
     ext[191] = z => z.ExtendedOperation191();
     ext[192] = z => z.ExtendedOperation192();
     ext[193] = z => z.ExtendedOperation193();
     ext[194] = z => z.ExtendedOperation194();
     ext[195] = z => z.ExtendedOperation195();
     ext[196] = z => z.ExtendedOperation196();
     ext[197] = z => z.ExtendedOperation197();
     ext[198] = z => z.ExtendedOperation198();
     ext[199] = z => z.ExtendedOperation199();
     ext[200] = z => z.ExtendedOperation200();
     ext[201] = z => z.ExtendedOperation201();
     ext[202] = z => z.ExtendedOperation202();
     ext[203] = z => z.ExtendedOperation203();
     ext[204] = z => z.ExtendedOperation204();
     ext[205] = z => z.ExtendedOperation205();
     ext[206] = z => z.ExtendedOperation206();
     ext[207] = z => z.ExtendedOperation207();
     ext[208] = z => z.ExtendedOperation208();
     ext[209] = z => z.ExtendedOperation209();
     ext[210] = z => z.ExtendedOperation210();
     ext[211] = z => z.ExtendedOperation211();
     ext[212] = z => z.ExtendedOperation212();
     ext[213] = z => z.ExtendedOperation213();
     ext[214] = z => z.ExtendedOperation214();
     ext[215] = z => z.ExtendedOperation215();
     ext[216] = z => z.ExtendedOperation216();
     ext[217] = z => z.ExtendedOperation217();
     ext[218] = z => z.ExtendedOperation218();
     ext[219] = z => z.ExtendedOperation219();
     ext[220] = z => z.ExtendedOperation220();
     ext[221] = z => z.ExtendedOperation221();
     ext[222] = z => z.ExtendedOperation222();
     ext[223] = z => z.ExtendedOperation223();
     ext[224] = z => z.ExtendedOperation224();
     ext[225] = z => z.ExtendedOperation225();
     ext[226] = z => z.ExtendedOperation226();
     ext[227] = z => z.ExtendedOperation227();
     ext[228] = z => z.ExtendedOperation228();
     ext[229] = z => z.ExtendedOperation229();
     ext[230] = z => z.ExtendedOperation230();
     ext[231] = z => z.ExtendedOperation231();
     ext[232] = z => z.ExtendedOperation232();
     ext[233] = z => z.ExtendedOperation233();
     ext[234] = z => z.ExtendedOperation234();
     ext[235] = z => z.ExtendedOperation235();
     ext[236] = z => z.ExtendedOperation236();
     ext[237] = z => z.ExtendedOperation237();
     ext[238] = z => z.ExtendedOperation238();
     ext[239] = z => z.ExtendedOperation239();
     ext[240] = z => z.ExtendedOperation240();
     ext[241] = z => z.ExtendedOperation241();
     ext[242] = z => z.ExtendedOperation242();
     ext[243] = z => z.ExtendedOperation243();
     ext[244] = z => z.ExtendedOperation244();
     ext[245] = z => z.ExtendedOperation245();
     ext[246] = z => z.ExtendedOperation246();
     ext[247] = z => z.ExtendedOperation247();
     ext[248] = z => z.ExtendedOperation248();
     ext[249] = z => z.ExtendedOperation249();
     ext[250] = z => z.ExtendedOperation250();
     ext[251] = z => z.ExtendedOperation251();
     ext[252] = z => z.ExtendedOperation252();
     ext[253] = z => z.ExtendedOperation253();
     ext[254] = z => z.ExtendedOperation254();
     ext[255] = z => z.ExtendedOperation255();
     return new ImmutableArray<ExtendedOperation>(ext);
 }