Increment() public static method

public static Increment ( ) : void
return void
示例#1
1
        private Trait ReadTrait(XmlReader reader, Counter<string> badTags)
        {
            string identifier = null;
            string description = null;
            string label = null;
            int oppositeOpinion = 0;
            int sameOpinion = 0;
            string[] opposites = new string[0];

            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element && reader.Name == "id")
                {
                    identifier = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "description")
                {
                    description = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "label")
                {
                    label = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "opposites")
                {
                    opposites = XmlHelper.ReadList(reader, "opposite", badTags);
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "opposite_opinion")
                {
                    oppositeOpinion = reader.ReadElementContentAsInt();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "same_opinion")
                {
                    sameOpinion = reader.ReadElementContentAsInt();
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    badTags.Increment(reader.Name);
                }
                else if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "trait")
                {
                    break;
                }
            }
            return new Trait(identifier, label, description, sameOpinion, oppositeOpinion, opposites);
        }
示例#2
0
        public void should_call_initializer_methods_in_right_order()
        {
            var counter = new Counter();
            var bus = new TestBus();
            bus.Starting += () => counter.Increment();
            bus.Started += () => counter.Increment();
            bus.Stopping += () => counter.Increment();
            bus.Stopped += () => counter.Increment();
            var testHostInitializer = new TestHostInitializer(counter);
            var host = new Host();
            var container = host.ContainerFactory.Invoke();
            host.ContainerFactory = () =>
            {
                container.Configure(x =>
                {
                    x.ForSingletonOf<IBus>().Use(bus);
                    x.ForSingletonOf<HostInitializer>().Add(testHostInitializer);
                });
                return container;
            };

            host.Start();
            host.Stop();

            testHostInitializer.CapturedContainer.ShouldEqual(container);
            testHostInitializer.ConfigureContainerCounterValue.ShouldEqual(0);
            testHostInitializer.BeforeStartCounterValue.ShouldEqual(0);
            testHostInitializer.AfterStartCounterValue.ShouldEqual(2);
            testHostInitializer.BeforeStopCounterValue.ShouldEqual(2);
            testHostInitializer.AfterStopCounterValue.ShouldEqual(4);
        }
示例#3
0
        public static AreaType ReadAreaType(XmlReader reader, Counter<string> badTags)
        {
            string type = null;
            int level = 0;
            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element && reader.Name == "type")
                {
                    type = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "level")
                {
                    level = reader.ReadElementContentAsInt();
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    badTags.Increment(reader.Name);
                }
                else if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "area")
                {
                    break;
                }
            }

            if (level == 0 || type == null)
                throw new Exception("Area type or level not specified.");
            return new AreaType(level, type);
        }
        public async Task<StreamSubscriptionHandle<int>> BecomeConsumer(Guid streamId, string streamNamespace, string providerToUse)
        {
            logger.Info("BecomeConsumer");

            // new counter for this subscription
            var count = new Counter();

            // get stream
            IStreamProvider streamProvider = GetStreamProvider(providerToUse);
            var stream = streamProvider.GetStream<int>(streamId, streamNamespace);

            // subscribe
            StreamSubscriptionHandle<int> handle = await stream.SubscribeAsync(
                (e, t) =>
                {
                    logger.Info("Got next event {0}", e);
                    count.Increment();
                    return TaskDone.Done;
                });

            // track counter
            consumedMessageCounts.Add(handle, count);

            // return handle
            return handle;
        }
        public async Task DeactivationTest_ClientConsumer(Guid streamGuid, string streamNamespace)
        {
            // get producer and consumer
            var producer = GrainClient.GrainFactory.GetGrain<ISampleStreaming_ProducerGrain>(Guid.NewGuid());

            var count = new Counter();
            // get stream and subscribe
            IStreamProvider streamProvider = GrainClient.GetStreamProvider(streamProviderName);
            var stream = streamProvider.GetStream<int>(streamGuid, streamNamespace);
            StreamSubscriptionHandle<int> subscriptionHandle = await stream.SubscribeAsync((e, t) => count.Increment());

            // produce one message (PubSubRendezvousGrain will have one consumer and one producer)
            await producer.BecomeProducer(streamGuid, streamNamespace, streamProviderName);
            await producer.Produce();

            Assert.AreEqual(count.Value, 1, "Client consumer grain has not received stream message");

            //TODO: trigger deactivation programmatically
            await Task.Delay(TimeSpan.FromMilliseconds(130000)); // wait for the PubSubRendezvousGrain and the SampleStreaming_ProducerGrain to be deactivated

            // deactivating PubSubRendezvousGrain and SampleStreaming_ProducerGrain during the same GC cycle causes a deadlock
            // resume producing after the PubSubRendezvousGrain and the SampleStreaming_ProducerGrain grains have been deactivated:
            await producer.BecomeProducer(streamGuid, streamNamespace, streamProviderName).WithTimeout(Timeout, "BecomeProducer is hung due to deactivation deadlock");
            await producer.Produce().WithTimeout(Timeout, "Produce is hung due to deactivation deadlock");

            Assert.AreEqual(count.Value, 2, "Client consumer grain did not receive stream messages after PubSubRendezvousGrain and SampleStreaming_ProducerGrain reactivation");
        }
示例#6
0
    public void should_increment_counter_by_given_delta() {
      var counter = new Counter(new MetricConfig("counter1"));
      counter.Increment(15);

      double count = Testing.Sync(counter, counter.GetMeasure, counter.context_);
      Assert.That(count, Is.EqualTo(15));
    }
示例#7
0
 private void PrintWord(string word, Counter counter)
 {
     counter.Increment();
     if (counter.Value > 1)
         _returnValue = word + " " + counter.Value + " times!";
     else
         _returnValue = word;
 }
示例#8
0
        public void Increment()
        {
            Counter target = new Counter ();

            Assert.AreEqual (0, target.Value(), "The initial Value was not zero");

            target.Increment ();

            Assert.AreEqual (1, target.Value(), "The incremented Value was not 1");
        }
        public void SingleThread()
        {
            Counter c = new Counter();
            ThreadManager tt = new ThreadManager();
            tt.AddThreadAction(
                delegate
                    {
                        c.Increment();
                    });

            tt.RunBehavior=ThreadRunBehavior.RunUntilAllThreadsFinish;
            tt.StartAllThreads(500);
            Assert.IsTrue(tt.LastRunTime<tt.TimeOut);
        }
        public void SingleThreadForSpecifiedTimeStrategy()
        {
            Counter c = new Counter();
            ThreadManager tt = new ThreadManager();
            tt.AddThreadAction(
                delegate
                    {
                        c.Increment();
                    });

            tt.RunBehavior = ThreadRunBehavior.RunForSpecificTime;
            tt.StartAllThreads(500);
            Assert.IsTrue(tt.LastRunTime >499,"runtime was "+ tt.LastRunTime);
        }
示例#11
0
        static void Main(string[] args)
        {
            Counter c = new Counter(30);
            c.Buzz += ((sender,e) => Console.WriteLine("BUZZ"));
            c.Fizz += ((sender, e) => Console.WriteLine("FIZZ"));
            c.End += ((sender, e) => { 
                Console.WriteLine("End !!");
                Console.Read(); 
                Environment.Exit(0);
            });
            c.Other += ((sender,e) => Console.WriteLine(e.Value));

            Console.WriteLine("press 'a'");
            while (Console.ReadKey(true).KeyChar == 'a')
            {
                c.Increment();
            }
        }
示例#12
0
        private FeatData ReadFeat(XmlReader reader, Counter<string> badTags)
        {
            string identifier = null;
            string name = null;
            string imageName = null;
            List<FeatType> types = new List<FeatType>();
            EffectParams effectParams = null;

            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element && reader.Name == "id")
                {
                    identifier = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "name")
                {
                    name = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "image_name")
                {
                    imageName = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "type")
                {
                    FeatType type = (FeatType)Enum.Parse(typeof(FeatType), reader.ReadElementContentAsString());
                    types.Add(type);
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "effect")
                {
                    effectParams = XmlHelper.ReadEffectParams(reader, badTags);
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    badTags.Increment(reader.Name);
                }
                else if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "feat")
                {
                    break;
                }
            }
            return new FeatData(identifier, name, imageName, types, effectParams);
        }
        public void HundredThreads()
        {
            Counter c = new Counter();
            ThreadManager tt = new ThreadManager();
            for (int i = 0; i < 100; i++)
            {
                tt.AddThreadAction(delegate
                                       {
                                           for (int j = 0; j < 10; j++)
                                           {
                                               c.Increment();
                                               Thread.Sleep(new Random(j+1).Next(100,300));
                                           }
                                       });
            }

            //this test will run for 22.5 seconds
            tt.RunBehavior=ThreadRunBehavior.RunForSpecificTime;
            tt.StartAllThreads(22500);
        }
示例#14
0
        /// <nodoc />
        protected Task <T> PerformRetries <T>(OperationContext operationContext, Func <Task <T> > action, Action <int> onRetry = null, Counter?retryCounter = null, [CallerMemberName] string operationName = null)
        {
            var retry = 0;

            return(RetryPolicy.ExecuteAsync(Wrapper, operationContext.Token));

            Task <T> Wrapper()
            {
                if (retry > 0)
                {
                    // Normalize operation name
                    operationName = operationName.Replace("Async", "").Replace("Core", "");
                    Tracer.Debug(operationContext, $"{Tracer.Name}.{operationName} retry #{retry}");
                    Tracer.TrackMetric(operationContext, $"{operationName}Retry", 1);
                    retryCounter?.Increment();
                    onRetry?.Invoke(retry);
                }

                retry++;
                return(action());
            }
        }
示例#15
0
        private EffectData ReadEffect(XmlReader reader, Counter<string> badTags)
        {
            string identifier = null;
            string name = null;
            string imageName = null;
            bool incapacitate = false;

            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element && reader.Name == "id")
                {
                    identifier = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "name")
                {
                    name = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "image_name")
                {
                    imageName = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "incapacitate")
                {
                    incapacitate = reader.ReadElementContentAsBoolean();
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    badTags.Increment(reader.Name);
                }
                else if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "effect")
                {
                    break;
                }
            }
            return new EffectData(identifier, name, imageName, incapacitate);
        }
示例#16
0
        private static IExecute ReadIfExecute(XmlReader reader, Counter<string> badTags)
        {
            ILogic requirements = Logic.TRUE;
            IExecute thenExecute = Execute.NOOP;
            IExecute elseExecute = Execute.NOOP;
            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element && reader.Name == "requirements")
                {
                    requirements = ReadLogic(reader, badTags);
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "then")
                {
                    thenExecute = ReadExecute(reader, badTags);
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "else")
                {
                    elseExecute = ReadExecute(reader, badTags);
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    badTags.Increment(reader.Name);
                }
                else if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "if")
                {
                    break;
                }
            }

            return new IfExecute(requirements, thenExecute, elseExecute);
        }
示例#17
0
        private OpinionModifier ReadOpinionModifier(XmlReader reader, Counter<string> badTags)
        {
            string identifier = null;
            string description = null;
            string label = null;
            int change = 0;
            int duration = int.MaxValue;

            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element && reader.Name == "id")
                {
                    identifier = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "description")
                {
                    description = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "label")
                {
                    label = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "duration")
                {
                    duration = reader.ReadElementContentAsInt();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "opinion_change")
                {
                    change = reader.ReadElementContentAsInt();
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    badTags.Increment(reader.Name);
                }
                else if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "opinion_mod")
                {
                    break;
                }
            }
            return new OpinionModifier(identifier, label, description, duration, change);
        }
示例#18
0
 private void ReadOpinionModifiers(XmlReader reader, Counter<string> badTags)
 {
     while (reader.Read())
     {
         if (reader.NodeType == XmlNodeType.Element && reader.Name == "opinion_mod")
         {
             OpinionModifier mod = ReadOpinionModifier(reader, badTags);
             opinionModifiers.Add(mod.Identifier, mod);
         }
         else if (reader.NodeType == XmlNodeType.Element)
         {
             badTags.Increment(reader.Name);
         }
         else if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "opinion_mods")
         {
             break;
         }
     }
 }
示例#19
0
 public void LoadModifiersFromFile(string filename, Counter<string> badTags)
 {
     using (XmlReader reader = XmlReader.Create(filename))
     {
         while (reader.Read())
         {
             if (reader.NodeType == XmlNodeType.Element && reader.Name == "prestige_mods")
             {
                 ReadPrestigeModifiers(reader, badTags);
             }
             else if (reader.NodeType == XmlNodeType.Element && reader.Name == "opinion_mods")
             {
                 ReadOpinionModifiers(reader, badTags);
             }
             else if (reader.NodeType == XmlNodeType.Element)
             {
                 badTags.Increment(reader.Name);
             }
         }
     }
 }
 private Task OnNext(int e, StreamSequenceToken token, int countCapture, Counter count)
 {
     logger.Info("Got next event {0} on handle {1}", e, countCapture);
     var contextValue = RequestContext.Get(SampleStreaming_ProducerGrain.RequestContextKey) as string;
     if (!String.Equals(contextValue, SampleStreaming_ProducerGrain.RequestContextValue))
     {
         throw new Exception(String.Format("Got the wrong RequestContext value {0}.", contextValue));
     }
     count.Increment();
     return TaskDone.Done;
 }
示例#21
0
        private static IExecute ReadScopingLoop(XmlReader reader, Counter<string> badTags)
        {
            //How did we start? Used for determining when we're done.
            string tag = reader.Name;
            ILogic requirements = Logic.TRUE;
            IExecute operation = Execute.NOOP;
            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element && reader.Name == "requirements")
                {
                    requirements = ReadLogic(reader, badTags);
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "for_character")
                {
                    operation = ReadExecute(reader, badTags);
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    badTags.Increment(reader.Name);
                }
                else if (reader.NodeType == XmlNodeType.EndElement && reader.Name == tag)
                {
                    break;
                }
            }

            // TODO: make this more general.
            if (tag == "everyone_in_room")
                return new EveryoneInRoomExecute(operation, requirements);
            else if (tag == "any_child")
                return new AnyChildExecute(operation, requirements);
            else
                throw new Exception("Unexpected tag " + tag);
        }
示例#22
0
        private static ILogic ReadTestEventOptionsLogic(XmlReader reader, Counter<string> badTags)
        {
            string id = null;
            Dictionary<string, string> parameters = new Dictionary<string, string>();
            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element && reader.Name == "id")
                {
                    id = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "parameters")
                {
                    while (reader.MoveToNextAttribute())
                    {
                        parameters.Add(reader.Name, reader.Value);
                    }
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    badTags.Increment(reader.Name);
                }
                else if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "test_event_options")
                {
                    break;
                }
            }

            return new TestEventOptionsLogic(id, parameters);
        }
示例#23
0
        private static ILogic ReadSingleLogic(XmlReader reader, Counter<string> badTags)
        {
            if (reader.NodeType == XmlNodeType.Element && reader.Name == "has_information")
            {
                string about = reader.GetAttribute("about");
                string typeName = reader.GetAttribute("type");
                InformationType type = StringToInformationType(typeName);

                return new HasInformationTestLogic(about, type);
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "true")
            {
                return Logic.TRUE;
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "false")
            {
                return Logic.FALSE;
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "not")
            {
                return new NotLogic(ReadLogic(reader, badTags));
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "and")
            {
                //ReadLogic will just and whatever it finds.
                return ReadLogic(reader, badTags);
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "or")
            {
                //ReadLogic will just or whatever it finds.
                return ReadOrLogic(reader, badTags);
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "is_earlymorning")
            {
                return Logic.IS_EARLYMORNING;
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "has_spouse")
            {
                return Logic.HAS_SPOUSE;
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "is_male")
            {
                return Logic.IS_MALE;
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "is_female")
            {
                return Logic.IS_FEMALE;
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "is_adult")
            {
                return Logic.IS_ADULT;
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "is_spouse_of")
            {
                return new IsSpouseOfLogic(reader.ReadElementContentAsString());
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "is_child_of")
            {
                return new IsChildOfLogic(reader.ReadElementContentAsString());
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "is_character")
            {
                return new IsCharacterLogic(reader.ReadElementContentAsString());
            }

            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "has_trait")
            {
                return new HasTraitLogic(reader.ReadElementContentAsString());
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "any_child")
            {
                return new AnyChildLogic(ReadLogic(reader, badTags));
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "all_child")
            {
                return new AllChildLogic(ReadLogic(reader, badTags));
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "prestige_rank")
            {
                return new PrestigeRankLogic(reader.ReadElementContentAsInt());
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "job_requirements")
            {
                return new JobRequirementsLogic(reader.ReadElementContentAsString());
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "has_title_type")
            {
                return new HasTitleTypeLogic(reader.ReadElementContentAsString());
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "has_job")
            {
                return new HasJobLogic(reader.ReadElementContentAsString());
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "test_event_options")
            {
                return ReadTestEventOptionsLogic(reader, badTags);
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "set_scope")
            {
                string scopeName = reader.GetAttribute("name");
                return new SetScopeLogic(scopeName, ReadLogic(reader, badTags));
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "var_gt")
            {
                string varName = reader.GetAttribute("name");
                return new VariableGreaterThanLogic(varName, ReadCalc(reader));
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "var_lt")
            {
                string varName = reader.GetAttribute("name");
                return new VariableLessThanLogic(varName, ReadCalc(reader));
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "var_eq")
            {
                string varName = reader.GetAttribute("name");
                return new VariableEqualLogic(varName, ReadCalc(reader));
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "var_ge")
            {
                string varName = reader.GetAttribute("name");
                return new VariableGreaterOrEqualLogic(varName, ReadCalc(reader));
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "var_le")
            {
                string varName = reader.GetAttribute("name");
                return new VariableLessOrEqualLogic(varName, ReadCalc(reader));
            }
            else if (reader.NodeType == XmlNodeType.Element && reader.Name == "var_ne")
            {
                string varName = reader.GetAttribute("name");
                return new VariableNotEqualLogic(varName, ReadCalc(reader));
            }
            else if (reader.NodeType == XmlNodeType.Element)
            {
                badTags.Increment(reader.Name);
            }
            return Logic.FALSE;
        }
示例#24
0
 private void ReadTraits(XmlReader reader, Counter<string> badTags)
 {
     while (reader.Read())
     {
         if (reader.NodeType == XmlNodeType.Element && reader.Name == "trait")
         {
             Trait e = ReadTrait(reader, badTags);
             traits.Add(e.Identifier, e);
         }
         else if (reader.NodeType == XmlNodeType.Element)
         {
             badTags.Increment(reader.Name);
         }
         else if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "traits")
         {
             break;
         }
     }
 }
示例#25
0
        private static IExecute ReadRandom(XmlReader reader, Counter<string> badTags)
        {
            List<IExecute> outcomes = new List<IExecute>();
            List<double> chances = new List<double>();
            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element && reader.Name == "outcome")
                {
                    chances.Add(double.Parse(reader.GetAttribute("chance")));
                    outcomes.Add(ReadExecute(reader, badTags));
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    badTags.Increment(reader.Name);
                }
                else if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "random")
                {
                    break;
                }
            }

            return new RandomExecute(outcomes.ToArray(), chances.ToArray());
        }
示例#26
0
        private static IExecute ReadTriggerEvent(XmlReader reader, Counter<string> badTags)
        {
            string id = null;
            string tag = reader.Name;
            Dictionary<string, string> parameters = new Dictionary<string, string>();
            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element && reader.Name == "id")
                {
                    id = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "parameters")
                {
                    while (reader.MoveToNextAttribute())
                    {
                        parameters.Add(reader.Name, reader.Value);
                    }
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    badTags.Increment(reader.Name);
                }
                else if (reader.NodeType == XmlNodeType.EndElement && reader.Name == tag)
                {
                    break;
                }
            }

            if (tag == "trigger_event")
                return new TriggerEventExecute(id, parameters);
            else
                throw new Exception("Found unknown information tag: " + tag);
        }
示例#27
0
 public void Parse_local_throughput(BenchmarkContext context)
 {
     Address.Parse("akka.tcp://sys@localhost:9091");
     _parseThroughput.Increment();
 }
        public void TryToCreateARaceCondition()
        {
            Counter c = new Counter();
            ThreadManager tt = new ThreadManager();
            for (int i = 0; i < 100; i++)
            {
                tt.AddThreadAction(
                    delegate
                        {
            //                            Console.WriteLine(Thread.CurrentThread.Name);
                            for (int j = 0; j < 100000; j++)
                            {
                                c.Increment();
                            }
                        });
            }

            tt.StartAllThreads(5000);
            Assert.AreEqual(1000000,c.Count);
        }
        public void StopWhenTrue_StopAfterCountReaches1000()
        {
            Counter c = new Counter();
            ThreadManager tt = new ThreadManager();
            tt.RunBehavior=ThreadRunBehavior.RunForSpecificTime;
            tt.AddThreadAction(delegate
                                       {
                                           for (int j = 0; j < 103; j++)
                                           {
                                               c.Increment();
                                           }
                                           Thread.Sleep(50);
                                       });

            tt.StopWhenTrue(delegate
                                {
                                    Console.WriteLine("currently at " + c.Count);
                                    return c.Count > 1000;
                                },100);

            tt.StartAllThreads(10000);
            Assert.Greater(c.Count,1000);
            Assert.Less(c.Count,1050);
        }
 private Task OnError(Exception e, int countCapture, Counter error)
 {
     logger.Info("Got exception {0} on handle {1}", e.ToString(), countCapture);
     error.Increment();
     return TaskDone.Done;
 }
示例#31
-1
        private PrestigeModifier ReadPrestigeModifier(XmlReader reader, Counter<string> badTags)
        {
            string identifier = null;
            string description = null;
            string label = null;
            int dailyChange = 0;
            ILogic requirements = Logic.TRUE;

            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element && reader.Name == "id")
                {
                    identifier = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "description")
                {
                    description = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "label")
                {
                    label = reader.ReadElementContentAsString();
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "requirements")
                {
                    requirements = XmlHelper.ReadLogic(reader, badTags);
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "daily_change")
                {
                    dailyChange = reader.ReadElementContentAsInt();
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    badTags.Increment(reader.Name);
                }
                else if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "prestige_mod")
                {
                    break;
                }
            }
            return new PrestigeModifier(identifier, label, description, requirements, dailyChange);
        }
示例#32
-1
 private void ReadPrestigeModifiers(XmlReader reader, Counter<string> badTags)
 {
     while (reader.Read())
     {
         if (reader.NodeType == XmlNodeType.Element && reader.Name == "prestige_mod")
         {
             PrestigeModifier mod = ReadPrestigeModifier(reader, badTags);
             prestigeModifiers.Add(mod);
         }
         else if (reader.NodeType == XmlNodeType.Element)
         {
             badTags.Increment(reader.Name);
         }
         else if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "prestige_mods")
         {
             break;
         }
     }
 }