public void AddStep() { var initStep = new Step(StepLetter.C); var newStep = initStep.AddSteps(1); Assert.AreEqual(StepLetter.D, newStep.value); newStep = initStep.AddSteps(2); Assert.AreEqual(StepLetter.E, newStep.value); newStep = initStep.AddSteps(3); Assert.AreEqual(StepLetter.F, newStep.value); newStep = initStep.AddSteps(4); Assert.AreEqual(StepLetter.G, newStep.value); newStep = initStep.AddSteps(5); Assert.AreEqual(StepLetter.A, newStep.value); newStep = initStep.AddSteps(6); Assert.AreEqual(StepLetter.B, newStep.value); newStep = initStep.AddSteps(7); Assert.AreEqual(StepLetter.C, newStep.value); newStep = initStep.AddSteps(8); Assert.AreEqual(StepLetter.D, newStep.value); newStep = initStep.AddSteps(9); Assert.AreEqual(StepLetter.E, newStep.value); newStep = initStep.AddSteps(10); Assert.AreEqual(StepLetter.F, newStep.value); }
public Pitch GetPitch(string pitch) { var symbols = pitch.ToArray(); Accidentals accidental; Octaves octaves; StepLetter stepLetter; if (!Enum.TryParse(symbols[0].ToString(), true, out stepLetter)) throw new ArgumentException(); var step = new Step(stepLetter); switch (symbols.Length) {//TODO: this is ugly, but it's true case 1: return new Pitch(step); case 2: if (Enum.TryParse(symbols[1].ToString(), true, out octaves)) return new Pitch(step, octaves); if (Enum.TryParse(symbols[1].ToString(), true, out accidental)) return new Pitch(step, Octaves.First, accidental); break; case 3: if (Enum.TryParse(symbols[2].ToString(), true, out octaves) && Enum.TryParse(symbols[1].ToString(), true, out accidental)) return new Pitch(step, octaves, accidental); if (Enum.TryParse(pitch.Substring(1, 2), true, out accidental)) return new Pitch(step, Octaves.First, accidental); break; case 4: if (Enum.TryParse(symbols[3].ToString(), true, out octaves) && Enum.TryParse(pitch.Substring(1, 2), true, out accidental)) return new Pitch(step, octaves, accidental); break; } throw new ArgumentException("Can't create Pitch from string.", pitch); }
public void Serialize_Always_ReturnsValidXmlElement() { const StepLetter stepLetter = StepLetter.D; var duration = new Step(stepLetter); var serializer = SerializeHelper.GetSerializer(typeof(Step)); serializer.WriteObject(outStream, duration); var serialized = SerializeHelper.StreamToUtf8String(outStream); Approvals.Verify(serialized); }
public Pitch(Step step = null, Octaves octaves = Octaves.First, Accidentals accidental = Accidentals.Natural) { this.Step = step ?? new Step(); this.Octaves = octaves; this.Accidental = accidental; }
public DisplayStepOctave(Step step = null, Octaves octave = Octaves.First) { DisplayOctave = octave; DisplayStep = step ?? new Step(); }
public Unpitched(Step step = null, Octaves octave = Octaves.First) { var step1 = step ?? new Step(); DisplayStepOctave = new DisplayStepOctave(step1, octave); }