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]; }); } }
/// <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); }
/// <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); }
internal void ProcessInternal(DifficultyHitObject current) { Process(current); Previous.Push(current); }