Example #1
0
        public void CurrentExpectedPlayingNotes_Tolerance_InBounds2()
        {
            var guitar = new GtSceneGuitar(new Double_GtTickDataTable_32Notes(), 30);

            var position = new BeatTick(2, 0);

            guitar.ForceCurrentPosition(position);
            Assert.AreEqual(3, guitar.CurrentStartingNotes.Count);

            guitar.ForceCurrentPosition(position.AddTicks(200));
            Assert.AreEqual(0, guitar.CurrentStartingNotes.Count);
        }
Example #2
0
        public void CurrentStartingNotes_Tolerance_OutOfBounds()
        {
            //1 note at 5:0
            var guitar = new GtSceneGuitar(new Double_GtTickDataTable_1Note(), 30);

            var position = new BeatTick(5, 0);

            guitar.ForceCurrentPosition(position.AddTicks(GtSceneGuitar.PLAYER_TOLERANCE_IN_TICKS + 1));
            Assert.AreEqual(0, guitar.CurrentStartingNotes.Count);

            guitar.ForceCurrentPosition(position.SubTicks(GtSceneGuitar.PLAYER_TOLERANCE_IN_TICKS + 1));
            Assert.AreEqual(0, guitar.CurrentStartingNotes.Count);
        }
Example #3
0
        public void CurrentStartingNotes_OneNote()
        {
            //1 note at 5:0
            var guitar = new GtSceneGuitar(new Double_GtTickDataTable_1Note(), 4);

            guitar.ForceCurrentPosition(new BeatTick(1, 0));

            Assert.AreEqual(0, guitar.CurrentStartingNotes.Count);

            guitar.ForceCurrentPosition(new BeatTick(5, 0));

            Assert.AreEqual(1, guitar.CurrentStartingNotes.Count);
        }
Example #4
0
        public void CurrentExpectedPlayingNotes_Tolerance_InBounds()
        {
            //1 note at 5:0
            var guitar = new GtSceneGuitar(new Double_GtTickDataTable_1Note(), 30);

            var position = new BeatTick(5, 0);

            guitar.ForceCurrentPosition(position.SubTicks(GtSceneGuitar.PLAYER_TOLERANCE_IN_TICKS));
            Assert.AreEqual(1, guitar.CurrentStartingNotes.Count);

            //the note at (5:0) has 8 beats of duration.
            guitar.ForceCurrentPosition(position.AddTicks((8 * 480) + GtSceneGuitar.PLAYER_TOLERANCE_IN_TICKS));
            Assert.AreEqual(1, guitar.CurrentExpectedPlayingNotes.Count);
        }
Example #5
0
        public void VisibleNotes_Position1_0()
        {
            var guitar = new GtSceneGuitar(new Double_GtTickDataTable_32Notes(), 4);

            guitar.ForceCurrentPosition((new BeatTick(1, 0)));

            Assert.AreEqual((new BeatTick(1, 0)), guitar.CurrentPosition);

            var visibleNotes = guitar.GetVisibleNotes();

            Assert.AreEqual(24, visibleNotes.Count);

            //Eight Bs (string 5, fret 2)
            foreach (var note in visibleNotes)
            {
                switch (note.String)
                {
                case 5:
                    Assert.AreEqual(2, note.Fret);
                    break;

                case 4:
                    Assert.AreEqual(4, note.Fret);
                    break;

                case 3:
                    Assert.AreEqual(4, note.Fret);
                    break;

                default:
                    Assert.Fail();
                    break;
                }
            }
        }
Example #6
0
        public void VisibleNotes_Position1_120()
        {
            var guitar = new GtSceneGuitar(new Double_GtTickDataTable_32Notes(), 4);

            guitar.ForceCurrentPosition((new BeatTick(1, 120)));

            Assert.AreEqual((new BeatTick(1, 120)), guitar.CurrentPosition);

            var visibleNotes = guitar.GetVisibleNotes();

            Assert.AreEqual(27, visibleNotes.Count);

            //8 B's
            for (int i = 0; i < 24; i++)
            {
                var note = visibleNotes[i];
                switch (note.String)
                {
                case 5:
                    Assert.AreEqual(2, note.Fret);
                    break;

                case 4:
                    Assert.AreEqual(4, note.Fret);
                    break;

                case 3:
                    Assert.AreEqual(4, note.Fret);
                    break;

                default:
                    Assert.Fail();
                    break;
                }
            }

            //1 F#
            for (int i = 24; i < 27; i++)
            {
                var note = visibleNotes[i];
                switch (note.String)
                {
                case 6:
                    Assert.AreEqual(2, note.Fret);
                    break;

                case 5:
                    Assert.AreEqual(4, note.Fret);
                    break;

                case 4:
                    Assert.AreEqual(4, note.Fret);
                    break;

                default:
                    Assert.Fail();
                    break;
                }
            }
        }
Example #7
0
        public void UpdatePosition_6_0()
        {
            //1 note at 5:0
            var guitar = new GtSceneGuitar(new Double_GtTickDataTable_1Note(), 4);

            guitar.ForceCurrentPosition(new BeatTick(6, 0));

            Assert.AreEqual(-480, guitar.Notes[0].DistanceFromCurrentPosition);
        }
Example #8
0
        public void CurrentExpectedPlayingNotes_StartingAtFirstBeat()
        {
            //1 note at 1:0
            var guitar = new GtSceneGuitar(new Double_GtTickDataTable_1NoteFirstBeat(), 30);

            var position = new BeatTick(1, 0);

            guitar.ForceCurrentPosition(position);

            Assert.AreEqual(1, guitar.CurrentStartingNotes.Count);
            Assert.AreEqual(1, guitar.CurrentExpectedPlayingNotes.Count);
        }
Example #9
0
        public void VisibleNotes_Position5_120()
        {
            var guitar = new GtSceneGuitar(new Double_GtTickDataTable_1Note(), 4);

            guitar.ForceCurrentPosition(new BeatTick(5, 120));

            Assert.AreEqual(new BeatTick(5, 120), guitar.CurrentPosition);

            var visibleNotes = guitar.GetVisibleNotes();

            Assert.AreEqual(1, visibleNotes.Count);

            Assert.AreEqual(6, visibleNotes[0].String);
            Assert.AreEqual(0, visibleNotes[0].Fret);
        }