public static IPlayback GetPlaybackType(HeadSetTypes headSetType) { IPlayback playback = null; IOutput output = new TextBoxOutput(); switch (headSetType) { case HeadSetTypes.iPhoneHeadset: playback = new iPhoneHeadset(output); break; case HeadSetTypes.SamsungHeadset: playback = new SamsungHeadset(output); break; case HeadSetTypes.UnofficialiPhoneHeadset: playback = new UnofficialiPhoneHeadset(output); break; case HeadSetTypes.PhoneSpeaker: playback = new PhoneSpeaker(output); break; default: throw new ArgumentException("Invalid playback type"); } return(playback); }
static void SetPhoneJack(MobilePhoneBase mobile) { string menuTxt = GetMenuTxt(); Console.WriteLine(menuTxt); while (true) { try { int userChoice = Int32.Parse(Console.ReadLine()); IPlayback playback; var output = new ConsoleOutput(); switch (userChoice) { case 1: playback = new iPhoneHeadset(output); break; case 2: playback = new SamsungHeadset(output); break; case 3: playback = new UnofficialiPhoneHeadset(output); break; case 4: playback = new PhoneSpeaker(output); break; default: throw new ArgumentException(" Your choice is out of scope menu options"); } Console.WriteLine(" " + playback.GetType().ToString() + " playback selected"); mobile.PlaybackComponent = playback; return; } catch (ArgumentException ex) { Console.WriteLine(ex.Message); } catch (FormatException) { Console.WriteLine(" Use digits for menu options"); } catch { throw; } } }
public void CheckInputAndOutputUnofficialHeadsetValue() { var output = new TestableOutput(); UnofficialiPhoneHeadset unofficialiPhoneHeadset = new UnofficialiPhoneHeadset(output); string inputValue = $"Madonna Song"; unofficialiPhoneHeadset.Play(inputValue); string outputValue = output.WritenLineText; string expectedValue = $"{nameof(UnofficialiPhoneHeadset)} play {inputValue}"; Assert.AreEqual(expectedValue, outputValue); }
public void TestUnofficialiPhoneHeadset() { //Arrange Init(); UnofficialiPhoneHeadset iPhone = new UnofficialiPhoneHeadset(_testoutput); //Act iPhone.Play(null); //Assert string expected = "UnofficialiPhoneHeadset sound"; Assert.AreEqual(_testoutput.CapturedOutput, expected); }
public void UnofficialiPhoneHeadsetPlay() { // Arrange string actualOutput = ""; OutputForTesting VariableOutput = new OutputForTesting(actualOutput); UnofficialiPhoneHeadset UnofficialiPhoneHeadset = new UnofficialiPhoneHeadset(VariableOutput); string expectedOutput = $"{nameof(UnofficialiPhoneHeadset)} sound"; // Act UnofficialiPhoneHeadset.Play(new Object()); actualOutput = VariableOutput.OutputVariable; // Assert Assert.AreEqual(expectedOutput, actualOutput); }
public void UnofficialiPhoneHeadsetTest() { var mobile = new SimCorpMobilePhone(); var consoleOutput = new ConsoleOutput(); IPlayback playbackComponent = new UnofficialiPhoneHeadset(consoleOutput); mobile.PlaybackComponent = playbackComponent; var expected1 = "UnofficialiPhoneHeadset playback selected"; var actual1 = consoleOutput.textTest; Assert.AreEqual(expected1, actual1); mobile.Play(); var expected = "UnofficialiPhoneHeadset sound"; var actual = consoleOutput.textTest; Assert.AreEqual(expected, actual); }
private void SetPlaybackComponentToMobile(WinFormOuput winformOutput) { IPlayback playbackComponent = null; if (radioButton1.Checked) { playbackComponent = new iPhoneHeadset(winformOutput); } else if (radioButton2.Checked) { playbackComponent = new SamsungHeadset(winformOutput); } else if (radioButton3.Checked) { playbackComponent = new UnofficialiPhoneHeadset(winformOutput); } else if (radioButton4.Checked) { playbackComponent = new PhoneSpeaker(winformOutput); } mobile.PlaybackComponent = playbackComponent; winformOutput.WriteLine("Set playback to Mobile..."); mobile.Play(); }
private void ApplyButton_Click(object sender, EventArgs e) { _clickNum++; switch (_clickNum) { case 1: IPlayback playback; if (Option1.Checked) { playback = new MeizuHeadset(output); } else if (Option2.Checked) { playback = new SamsungHeadset(output); } else if (Option3.Checked) { playback = new UnofficialiPhoneHeadset(output); } else if (Option4.Checked) { playback = new PortableSpeaker(output); } else { throw new ArgumentOutOfRangeException(); } phone.PlaybackComponent = playback; output.WriteLine($"{playback.GetType().Name} playback selected"); output.WriteLine("Set playback to Mobile..."); output.WriteLine("Play sound in Mobile:"); phone.Play("Song"); FormTopLabel = "Select charger component (specify index):"; FormOption1 = "1 - SamsungCharger"; FormOption2 = "2 - MeizuCharger"; FormOption3 = "3 - OfficialiPhoneCharger"; FormOption4 = ""; Option1.Checked = true; break; case 2: output.WriteLine(""); ICharger charger; if (Option1.Checked) { charger = new SamsungCharger(output); } else if (Option2.Checked) { charger = new MeizuCharger(output); } else if (Option3.Checked) { charger = new OfficialiPhoneCharger(output); } else { throw new ArgumentOutOfRangeException(); } phone.ChargerComponent = charger; output.WriteLine($"{charger.GetType().Name} selected"); output.WriteLine("Plug in charger to Mobile:"); phone.InnerCharge(null); FormTopLabel = "Select protector component (specify index):"; FormOption1 = "1 - LeatherProtector"; FormOption2 = "2 - SteelProtector"; FormOption3 = ""; FormOption4 = ""; Option1.Checked = true; break; case 3: output.WriteLine(""); IProtector protector; if (Option1.Checked) { protector = new LeatherProtector(output); } else if (Option2.Checked) { protector = new SteelProtector(output); } else { throw new ArgumentOutOfRangeException(); } phone.ProtectorComponent = protector; output.WriteLine($"{protector.GetType().Name} selected"); output.WriteLine("Put protector on Mobile:"); phone.Put(protector); break; } }
static void Main(string[] args) { IOutput output = new ConsoleOutput(); MobilePhone phone; phone = new SimCorpMobile(); output.WriteLine(phone.GetDescription()); output.WriteLine(""); output.WriteLine("Select playback component (specify index):"); output.WriteLine("1 - MeizuHeadset"); output.WriteLine("2 - SamsungHeadset"); output.WriteLine("3 - UnofficialiPhoneHeadset"); output.WriteLine("4 - PortableSpeaker"); int value; bool isBadInput; do { isBadInput = !int.TryParse(Console.ReadLine(), out value); if (isBadInput || value > 4 || value < 1) { output.WriteLine("Wrong value, please try again: "); isBadInput = true; } } while (isBadInput); IPlayback playback; switch (value) { case 1: playback = new MeizuHeadset(output); break; case 2: playback = new SamsungHeadset(output); break; case 3: playback = new UnofficialiPhoneHeadset(output); break; case 4: playback = new PortableSpeaker(output); break; default: throw new ArgumentOutOfRangeException(); } phone.PlaybackComponent = playback; output.WriteLine($"{playback.GetType().Name} playback selected"); output.WriteLine("Set playback to Mobile..."); output.WriteLine("Play sound in Mobile:"); phone.Play("Song"); //next output.WriteLine(""); output.WriteLine("Select charger component (specify index):"); output.WriteLine("1 - SamsungCharger"); output.WriteLine("2 - MeizuCharger"); output.WriteLine("3 - OfficialiPhoneCharger"); do { isBadInput = !int.TryParse(Console.ReadLine(), out value); if (isBadInput || value > 3 || value < 1) { output.WriteLine("Wrong value, please try again: "); isBadInput = true; } } while (isBadInput); ICharger charger; switch (value) { case 1: charger = new SamsungCharger(output); break; case 2: charger = new MeizuCharger(output); break; case 3: charger = new OfficialiPhoneCharger(output); break; default: throw new ArgumentOutOfRangeException(); } phone.ChargerComponent = charger; output.WriteLine($"{charger.GetType().Name} selected"); output.WriteLine("Plug in charger to Mobile:"); phone.Charge(null); //next output.WriteLine(""); output.WriteLine("Select protector component (specify index):"); output.WriteLine("1 - LeatherProtector"); output.WriteLine("2 - SteelProtector"); do { isBadInput = !int.TryParse(Console.ReadLine(), out value); if (isBadInput || value > 2 || value < 1) { output.WriteLine("Wrong value, please try again: "); isBadInput = true; } } while (isBadInput); IProtector protector; switch (value) { case 1: protector = new LeatherProtector(output); break; case 2: protector = new SteelProtector(output); break; default: throw new ArgumentOutOfRangeException(); } phone.ProtectorComponent = protector; output.WriteLine($"{protector.GetType().Name} selected"); output.WriteLine("Put protector on Mobile:"); phone.Put(protector); Console.ReadLine(); }