Пример #1
0
 public void TestBeatRandomizer()
 {
     var settings        = GetRandomizerSettings(RandomizerTestUtil.config9Panel);
     var randomizer      = new BeatRandomizer(settings);
     var notes           = GenerateNotes(4);
     var randomizedNotes = randomizer.RandomizeBeat(notes);
 }
Пример #2
0
        public void CannotGenerateMoreNotesThanAvailableInPanelConfig()
        {
            var settings        = GetRandomizerSettings(RandomizerTestUtil.config1Panel);
            var randomizer      = new BeatRandomizer(settings);
            var notes           = GenerateNotes(2);
            var randomizedNotes = randomizer.RandomizeBeat(notes);

            Assert.IsTrue(randomizedNotes.Count <= 1);
        }
Пример #3
0
        public void CannotGenerateMoreThan2Notes()
        {
            var settings        = GetRandomizerSettings(RandomizerTestUtil.config9Panel);
            var randomizer      = new BeatRandomizer(settings);
            var notes           = GenerateNotes(3);
            var randomizedNotes = randomizer.RandomizeBeat(notes);

            Assert.IsTrue(randomizedNotes.Count <= 2);
        }
Пример #4
0
        private static List <PanelNote> PressNote(BeatRandomizer randomizer, int beat)
        {
            var notes = new List <Note>()
            {
                new Note(NoteType.Regular, beat)
            };

            return(randomizer.RandomizeBeat(notes));
        }
Пример #5
0
        private List <PanelNote> HoldNote(BeatRandomizer randomizer, int beat, int duration)
        {
            var notes = new List <Note>()
            {
                new Note(NoteType.Hold, beat, duration)
            };

            return(randomizer.RandomizeBeat(notes));
        }
Пример #6
0
        public void CannotGenerateDuplicateNotes()
        {
            var settings        = GetRandomizerSettings(RandomizerTestUtil.config9Panel);
            var randomizer      = new BeatRandomizer(settings);
            var notes           = GenerateNotes(4);
            var randomizedNotes = randomizer.RandomizeBeat(notes);
            var distinctNotes   = randomizedNotes.Select(x => x.panel).Distinct();

            Assert.AreEqual(randomizedNotes.Count, distinctNotes.Count());
        }
Пример #7
0
        protected int[] RandomizeNote(BeatRandomizer randomizer)
        {
            var notes = new List <Note>()
            {
                new Note(NoteType.Regular, 0)
            };
            var randomizedNote = randomizer.RandomizeBeat(notes).Single();

            return(PanelConfigUtil.GetPanelIndices(randomizedNote.panel));
        }
Пример #8
0
        public void CanReleaseHeldNotes()
        {
            var settings   = GetRandomizerSettings(RandomizerTestUtil.config2Panel);
            var randomizer = new BeatRandomizer(settings);

            HoldNote(randomizer, 0, 1000);
            HoldNote(randomizer, 0, 1000);

            var randomizedNotes = PressNote(randomizer, 1001);             // Held notes should be released after beat 1000

            Assert.AreEqual(1, randomizedNotes.Count);
        }
Пример #9
0
        public void CannotGenerateNoteWhenAllAvailableNotesAreHeld()
        {
            var settings   = GetRandomizerSettings(RandomizerTestUtil.config2Panel);
            var randomizer = new BeatRandomizer(settings);

            HoldNote(randomizer, 0, 1000);
            HoldNote(randomizer, 0, 1000);

            var randomizedNotes = new List <PanelNote>();

            randomizedNotes.AddRange(PressNote(randomizer, 500));
            randomizedNotes.AddRange(PressNote(randomizer, 999));             // 999 should be the last beat before the note is no longer held
            Assert.AreEqual(0, randomizedNotes.Count);
        }