예제 #1
0
        /// <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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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();
        }