/// <summary> /// 给手机充电进行测试。 /// </summary> public static void Use() { // 使用 iPhone 充电器 var iPhoneCharger = new iPhoneCharger(); iPhoneCharger.iPhoneCharge(PhoneType.iPhone); iPhoneCharger.iPhoneCharge(PhoneType.Android); iPhoneCharger.iPhoneCharge(PhoneType.Other); // 使用 Android 充电器 var androidCharger = new AndroidCharger(); androidCharger.AndroidCharge(PhoneType.Android); androidCharger.AndroidCharge(PhoneType.iPhone); androidCharger.AndroidCharge(PhoneType.Other); // 使用充电适配器(类适配器) var adapter1 = new MultitapAdapter(); adapter1.iPhoneCharge(PhoneType.iPhone); adapter1.AndroidCharge(PhoneType.Android); // 推荐:使用充电适配器(对象适配器) var adapter2 = new ChargeAdapter(); adapter2.Charge(PhoneType.iPhone); adapter2.Charge(PhoneType.Android); adapter2.Charge(PhoneType.Other); }
public void iPhoneChargerTest() { var mobile = new SimCorpMobilePhone(); var consoleOutput = new ConsoleOutput(); ICharge chargerComponent = new iPhoneCharger(consoleOutput); mobile.ChargerComponent = chargerComponent; var expected1 = "iPhoneCharger selected"; var actual1 = consoleOutput.textTest; Assert.AreEqual(expected1, actual1); mobile.Charge(); var expected = "Charging by iPhoneCharger"; var actual = consoleOutput.textTest; Assert.AreEqual(expected, actual); }
private void SetChargeComponentToMobile(WinFormOuput winformOutput) { ICharge chargeComponent = null; if (radioButton1.Checked) { chargeComponent = new iPhoneCharger(winformOutput); } else if (radioButton2.Checked) { chargeComponent = new SamsungCharger(winformOutput); } else if (radioButton3.Checked) { chargeComponent = new UnofficialiPhoneCharger(winformOutput); } mobile.ChargerComponent = chargeComponent; winformOutput.WriteLine("Set charger to Mobile..."); mobile.Charge(); }