public void can_parse_correctly_formatted_input(string input, int[] expectedPeriodsBeforeMilliseconds, MetronomeTickType[] expectedTickTypes)
        {
            Assert.Equal(expectedPeriodsBeforeMilliseconds.Length, expectedTickTypes.Length);

            var result = MetronomeActionParser
                .GetParser(
                    new AudioServiceMock(MockBehavior.Loose),
                    new DelayServiceMock(MockBehavior.Loose),
                    new LoggerServiceMock(MockBehavior.Loose))
                .Parse(input);
            Assert.NotNull(result);
            Assert.Equal(expectedPeriodsBeforeMilliseconds.Length, result.Ticks.Count);

            Assert.True(
                expectedPeriodsBeforeMilliseconds
                    .Select(x => TimeSpan.FromMilliseconds(x))
                    .SequenceEqual(
                        result
                            .Ticks
                            .Select(x => x.PeriodBefore)));
            Assert.True(
                expectedTickTypes
                    .SequenceEqual(
                        result
                            .Ticks
                            .Select(x => x.Type)));
        }
 public MetronomeTick(TimeSpan periodBefore, MetronomeTickType type = MetronomeTickType.Click)
 {
     this.periodBefore = periodBefore;
     this.type = type;
 }
Esempio n. 3
0
 public MetronomeTick(TimeSpan periodBefore, MetronomeTickType type = MetronomeTickType.Click)
 {
     this.periodBefore = periodBefore;
     this.type         = type;
 }