<commit_before>// Copyright (c) p<NAME> Ltd <<EMAIL>>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using NUnit.Framework;
using osu.Game.Rulesets.Taiko.Mods;
using osu.Game.Rulesets.Taiko.Objects;
using osu.Game.Tests.Visual;

namespace osu.Game.Rulesets.Taiko.Tests
{
    public class TestSceneTaikoModPerfect : ModPerfectTestScene
    {
        public TestSceneTaikoModPerfect()
            : base(new TaikoRuleset(), new TaikoModPerfect())
        {
        }

        [TestCase(false)]
        [TestCase(true)]
        public void TestHit(bool shouldMiss) => CreateHitObjectTest(new HitObjectTestCase(new CentreHit { StartTime = 1000 }), shouldMiss);

        [TestCase(false)]
        [TestCase(true)]
        public void TestDrumRoll(bool shouldMiss) => CreateHitObjectTest(new HitObjectTestCase(new DrumRoll { StartTime = 1000, EndTime = 3000 }), shouldMiss);

        [TestCase(false)]
        [TestCase(true)]
        public void TestSwell(bool shouldMiss) => CreateHitObjectTest(new HitObjectTestCase(new Swell { StartTime = 1000, EndTime = 3000 }), shouldMiss);
    }
}<commit_msg>Make default taiko HP 1 for test scene<commit_after>// Copyright (c) <NAME> <<EMAIL>>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using NUnit.Framework;
using osu.Game.Rulesets.Scoring;
using osu.Game.Rulesets.Taiko.Mods;
using osu.Game.Rulesets.Taiko.Objects;
using osu.Game.Rulesets.Taiko.Scoring;
using osu.Game.Tests.Visual;

namespace osu.Game.Rulesets.Taiko.Tests
{
    public class TestSceneTaikoModPerfect : ModPerfectTestScene
    {
        public TestSceneTaikoModPerfect()
            : base(new TestTaikoRuleset(), new TaikoModPerfect())
        {
        }

        [TestCase(false)]
        [TestCase(true)]
        public void TestHit(bool shouldMiss) => CreateHitObjectTest(new HitObjectTestCase(new CentreHit { StartTime = 1000 }), shouldMiss);

        [TestCase(false)]
        [TestCase(true)]
        public void TestDrumRoll(bool shouldMiss) => CreateHitObjectTest(new HitObjectTestCase(new DrumRoll { StartTime = 1000, EndTime = 3000 }), shouldMiss);

        [TestCase(false)]
        [TestCase(true)]
        public void TestSwell(bool shouldMiss) => CreateHitObjectTest(new HitObjectTestCase(new Swell { StartTime = 1000, EndTime = 3000 }), shouldMiss);

        private class TestTaikoRuleset : TaikoRuleset
        {
            public override HealthProcessor CreateHealthProcessor(double drainStartTime) => new TestTaikoHealthProcessor();

            private class TestTaikoHealthProcessor : TaikoHealthProcessor
            {
                protected override void Reset(bool storeResults)
                {
                    base.Reset(storeResults);

                    Health.Value = 1; // Don't care about the health condition (only the mod condition)
                }
            }
        }
    }
}
{'fraction_non_alphanumeric': 0.09552845528455285, 'fraction_numerical': 0.014227642276422764, 'mean_word_length': 3.017687074829932, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 16, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3831508', 'n_tokens_mistral': 886, 'n_tokens_neox': 806, 'n_words': 209}