public void TestInRangeElements(int count)
        {
            // e.g. 0 -> 1 -> 2
            for (int i = 0; i < count; i++)
            {
                stack.Push(i);
            }

            Assert.AreEqual(count, stack.Count);

            // e.g. 2 -> 1 -> 0 (reverse order)
            for (int i = 0; i < stack.Count; i++)
            {
                Assert.AreEqual(count - 1 - i, stack[i]);
            }

            // e.g. indices 3, 4, 5, 6 (out of range)
            for (int i = stack.Count; i < stack.Count + capacity; i++)
            {
                Assert.Throws <ArgumentOutOfRangeException>(() =>
                {
                    int unused = stack[i];
                });
            }
        }
コード例 #2
0
        /// <summary>
        /// Process a <see cref="DifficultyHitObject"/> and update current strain values accordingly.
        /// </summary>
        public void Process(DifficultyHitObject current)
        {
            currentStrain *= strainDecay(current.DeltaTime);
            currentStrain += StrainValueOf(current) * SkillMultiplier;

            currentSectionPeak = Math.Max(currentStrain, currentSectionPeak);

            Previous.Push(current);
        }
コード例 #3
0
        /// <summary>
        /// Process a <see cref="DifficultyHitObject"/> and update current strain values accordingly.
        /// </summary>
        public void Process(DifficultyHitObject current)
        {
            double currentRaw = OldStrainValueOf(current);
            double newRaw     = StrainValueOf(current);

            currentStrain *= strainDecay(current.DeltaTime);
            currentStrain += currentRaw * SkillMultiplier;

            currentSectionPeak = Math.Max(currentStrain, currentSectionPeak);

            currentNewStrain *= strainDecay(current.DeltaTime);
            currentNewStrain += newRaw * SkillMultiplier;

            currentNewSectionPeak = Math.Max(currentNewStrain, currentNewSectionPeak);

            StrainValues.Add(currentStrain);
            RawValues.Add(currentRaw);
            NewStrains.Add(currentNewStrain);

            Previous.Push(current);
        }
コード例 #4
0
 internal void ProcessInternal(DifficultyHitObject current)
 {
     Process(current);
     Previous.Push(current);
 }