Exemple #1
0
        public SimCorpMobile(IPlayback headset, ICharger charger, IOutput output)
        {
            var type        = BatteryBase.BatteryTypes.LithiumIonBattery;
            int capacityMAh = 2200;

            vBattery = new BatteryBase(type, capacityMAh);

            string number = "+380959992299";
            var    format = SimcardBase.SimFormats.Nano;

            vSimcard = new SimcardBase(number, format);

            vCamera = new Camera
            {
                MegaPixels     = 2000,
                IndivPixelSize = 1000,
                LensType       = Camera.LensTypes.Dual,
                ZoomType       = Camera.ZoomTypes.Optical
            };
            vScreen = new ScreenBase
            {
                HorizontalPixels = 640,
                VerticalPixels   = 960,
                Diagonal         = 3.5,
                ScreenType       = ScreenBase.ScreenTypes.LCD
            };

            vOutput  = output;
            vHeadSet = headset;
            vCharger = charger;
        }
Exemple #2
0
        public void ConfigureMobile()
        {
            Console.WriteLine("Select playback component (specify index):");
            Console.WriteLine($"1 - {nameof(iPhoneHeadset)}");
            Console.WriteLine($"2 - {nameof(SamsungHeadset)}");
            Console.WriteLine($"3 - {nameof(UnoffocoaliPhoneHeadset)}");
            Console.WriteLine($"4 - {nameof(PhoneSpeaker)}");

            int type = Convert.ToInt32(Console.ReadLine());

            PlaybackComponent = HeadsetFactory.GetPlayback(type);
            PlaybackComponent.Play(new object());

            Console.WriteLine("Select SimCard (specify index):");
            Console.WriteLine($"1 - {nameof(NanoSim)}");
            Console.WriteLine($"2 - {nameof(MicroSim)}");
            Console.WriteLine($"3 - {nameof(MiniSim)}");
            Console.WriteLine($"4 - {nameof(Sim)}");

            type        = Convert.ToInt32(Console.ReadLine());
            SimCardItem = SimCardFactory.GetSimCard(type);
            SimCardItem.Call(new object());

            Console.WriteLine("Select charger (specify index):");
            Console.WriteLine($"1 - {nameof(SamsungCharger)}");
            Console.WriteLine($"2 - {nameof(SonyCharger)}");
            Console.WriteLine($"3 - {nameof(NokiaCharger)}");
            Console.WriteLine($"4 - {nameof(MotoCharger)}");

            type = Convert.ToInt32(Console.ReadLine());
            ChargerComponenet = ChargerFactory.GetCharger(type);
            ChargerComponenet.Charge(new object());

            Console.ReadKey();
        }
Exemple #3
0
        public static ICharger GetCharger(int chargerType)
        {
            ICharger charger = null;

            switch (chargerType)
            {
            case 1:
                charger = new SamsungCharger(new ConsoleOutput());
                break;

            case 2:
                charger = new SonyCharger(new ConsoleOutput());
                break;

            case 3:
                charger = new NokiaCharger(new ConsoleOutput());
                break;

            case 4:
                charger = new MotoCharger(new ConsoleOutput());
                break;

            default:
                throw new ArgumentException("Invalis SimCard type");
            }
            return(charger);
        }
Exemple #4
0
        public ICharger GetCharger(ChargerComponentTypes chargerType)
        {
            ICharger chargerComponent = null;

            switch (chargerType)
            {
            case ChargerComponentTypes.OwnCharger:
                chargerComponent = new OwnCharger(Output);
                Output.WriteLine($"{nameof(OwnCharger)} selected");
                break;

            case ChargerComponentTypes.NokiaCharger:
                chargerComponent = new NokiaCharger(Output);
                Output.WriteLine($"{nameof(NokiaCharger)} selected");
                break;

            case ChargerComponentTypes.HuaweiPowerBank:
                chargerComponent = new HuaweiPowerBank(Output);
                Output.WriteLine($"{nameof(HuaweiPowerBank)} selected");
                break;

            case ChargerComponentTypes.NomiPowerBank:
                chargerComponent = new NomiPowerBank(Output);
                Output.WriteLine($"{nameof(NomiPowerBank)} selected");
                break;

            case ChargerComponentTypes.QQEERSolarPowerBank:
                chargerComponent = new QQEERSolarPowerBank(Output);
                Output.WriteLine($"{nameof(QQEERSolarPowerBank)} selected");
                break;
            }

            return(chargerComponent);
        }
Exemple #5
0
        private void RadioButton_CheckedChanged(object sender, EventArgs e)
        {
            Type typeOfCharger = (Type)((Control)sender).Tag;

            Charger = (ICharger)Activator.CreateInstance(typeOfCharger, Output);
            //ChargeTextBox.Text = $"{typeOfCharger.Name} selected";
        }
Exemple #6
0
        public void CalculateChargingTimePowerBZeroCap()
        {
            ICharger crg    = ChargerFactory.GetCharger(ChargerTypes.Powerbk);
            double   actRes = crg.CalculateChargingTime(0);
            double   expRes = 0;

            Assert.AreEqual(expRes, actRes);
        }
 private void SetCharger(ICharger charger)
 {
     Output.WriteLine($"{charger.GetType().Name} charger selected");
     Output.WriteLine("Set charger to mobile...");
     Mobile.ChargingComponent = charger;
     Output.WriteLine("Charging mobile:");
     Mobile.Charge();
     Output.WriteLine("");
 }
 public BillingSystem(
     ICustomerRepository customerRepository,
     ISubscriptionRepository subscriptionRepository,
     ICharger charger)
 {
     this.customerRepository     = customerRepository;
     this.subscriptionRepository = subscriptionRepository;
     this.charger = charger;
 }
        public void Setup()
        {
            charger    = Substitute.For <ICharger>();
            display    = Substitute.For <IDisplay>();
            door       = Substitute.For <IDoor>();
            logger     = Substitute.For <ILogger>();
            rfidReader = Substitute.For <IRFIDReader>();

            uut = new Control(door, rfidReader,
                              charger, logger, display);
        }
        public void SetUp()
        {
            _door    = Substitute.For <IDoor>();
            _charger = Substitute.For <ICharger>();
            _logger  = Substitute.For <ILogger>();
            _reader  = Substitute.For <IRFIDReader>();
            _display = Substitute.For <IDisplay>();


            _uut = new Control(_door, _charger, _logger, _reader, _display);
        }
Exemple #11
0
        public static ICharger GetCharger(ChargerTypik chargerType, IOutput output)
        {
            string typeName = chargerType.ToString();

            typeName = "MobilePhone." + typeName;
            Type     hType            = Type.GetType(typeName);
            object   ChargerComponent = Activator.CreateInstance(hType, output);
            ICharger charger          = ChargerComponent as ICharger;

            return(charger);
        }
Exemple #12
0
        public void SetUp()
        {
            _lock    = Substitute.For <ILock>();
            _logger  = Substitute.For <IEventLogger>();
            _reader  = Substitute.For <IRFIDReader>();
            _charger = Substitute.For <ICharger>();
            _display = Substitute.For <IDisplay>();
            _door    = Substitute.For <IDoor>();

            _station = new StationControl(_lock, _logger, _reader, _charger, _display, _door);
        }
Exemple #13
0
 // Her mangler constructor
 public StationControl(ILock doorLock, IEventLogger logger, IRFIDReader reader, ICharger charger, IDisplay display, IDoor door)
 {
     _lock    = doorLock;
     _logger  = logger;
     _charger = charger;
     _reader  = reader;
     _display = display;
     _door    = door;
     _reader.RFIDReadEvent  += OnRFIDReadEvent;
     _door.DoorChangedEvent += OnDoorChangedEvent;
     _state = _lock.LockState == ELockState.LockOpen ? LadeskabState.Available : LadeskabState.Locked;
 }
        private void buttonChargerUnplug_Click(object sender, System.EventArgs e)
        {
            ICharger unpluggedCharger = mobile.Charger;

            mobile.Charge(null);
            if (unpluggedCharger != null)
            {
                output.WriteLine($"{unpluggedCharger.GetType().Name} unplugged.");
            }

            UpdateOutputEnabled();
        }
Exemple #15
0
        public Control(IDoor door, ICharger charger, ILogger logger, IRFIDReader reader, IDisplay display)
        {
            door.DoorOpenedEvent += HandleDoorOpenedEvent;
            door.DoorClosedEvent += HandleDoorClosedEvent;
            reader.RFChipRead    += Reader_RFChipRead;

            _door    = door;
            _charger = charger;
            _logger  = logger;
            _reader  = reader;
            _display = display;
        }
Exemple #16
0
        public void ChargeControl_StartCharge_ConnectedIsFalse_startChargeIsCalled()
        {
            //Arrange
            _charger           = Substitute.For <ICharger>();
            _display           = Substitute.For <IDisplay>();
            _uut               = new ChargeControl(_charger, _display);
            _charger.Connected = false;

            //Act
            _uut.StartCharge();

            //Assert
            _display.Received().ConnectPhone();
        }
Exemple #17
0
        public void ChargeControl_StopCharge_ConnectedIsTrue_stopChargeIsCalled()
        {
            //Arrange
            _charger           = Substitute.For <ICharger>();
            _display           = Substitute.For <IDisplay>();
            _uut               = new ChargeControl(_charger, _display);
            _charger.Connected = true;

            //Act
            _uut.StopCharge();

            //Assert
            _charger.Received().StopCharge();
        }
Exemple #18
0
        public Control(IDoor door, IRFIDReader rfidReader,
                       ICharger charger, ILogger logger, IDisplay display)
        {
            _door      = door;
            _charger   = charger;
            _logger    = logger;
            _display   = display;
            _lockState = ChargerLockState.Available;

            _door.Opened += new EventHandler(DoorOpened);
            _door.Closed += new EventHandler(DoorClosed);

            rfidReader.DetectRfid += new EventHandler <RfidChangedEventArgs>(RfidDetected);
        }
Exemple #19
0
        public void ChargeControl_IsConnected_ReturnBoolIsConnected(bool charger_Connected, bool result)
        {
            //Arrange
            _charger = Substitute.For <ICharger>();
            _display = Substitute.For <IDisplay>();
            _uut     = new ChargeControl(_charger, _display);

            //Act
            _charger.Connected = charger_Connected;


            //Assert
            Assert.That(_uut.IsConnected, Is.EqualTo(result));
        }
        public static ICharger GetCharger(ChargerTypes chargerType)
        {
            ICharger charger = null;

            switch (chargerType)
            {
            case ChargerTypes.Car: { charger = new CarCharger(); break; }

            case ChargerTypes.Powerbk: { charger = new Powerbank(); break; }

            case ChargerTypes.Wall: { charger = new WallCharger(); break; }
            }
            return(charger);
        }
 private void SetChargerType()
 {
     if (this.rbChargerCar.Checked)
     {
         vCharger = ChargerFactory.GetCharger(ChargerTypes.Car);
     }
     else if (this.rbChargerPowerbank.Checked)
     {
         vCharger = ChargerFactory.GetCharger(ChargerTypes.Powerbk);
     }
     else if (this.rbChargerWall.Checked)
     {
         vCharger = ChargerFactory.GetCharger(ChargerTypes.Wall);
     }
 }
        static void Main(string[] args)
        {
            ConsoleOutput outputType = new ConsoleOutput();

            HeadsetTypes inputHSType   = ReadHeadSet(outputType);
            ChargerTypes inputChrgType = ReadCharger(outputType);

            IPlayback headset = HeadsetFactory.GetHeadSet(outputType, inputHSType);
            ICharger  charger = ChargerFactory.GetCharger(inputChrgType);

            var mymobile = new SimCorpMobile(headset, charger, outputType);

            Console.WriteLine(mymobile);
            Console.ReadKey();
        }
Exemple #23
0
        private static Mobile InstantiateSimCorpMobile(IOutput myOutputType)
        {
            Mobile mobile = null;

            ICharger  Charger = ChargerFactory.GetCharger(ChargerTypes.Powerbk);
            IPlayback Headset = HeadsetFactory.GetHeadSet(myOutputType, HeadsetTypes.iPhone);

            if (Charger != null)
            {
                if (Headset != null)
                {
                    mobile = new SimCorpMobile(Headset, Charger, myOutputType);
                }
            }
            return(mobile);
        }
Exemple #24
0
        private static ICharger GetChargingDevice()
        {
            Console.WriteLine("Select playback component (specify index):");
            ICharger[] allChargingDevices = new ICharger[]
            {
                new OriginalCharger(new ConsoleOutput()),
                new PowerBank(new ConsoleOutput()),
                new UnknownCharger(new ConsoleOutput())
            };
            for (int i = 0; i < allChargingDevices.Length; i++)
            {
                Console.WriteLine($" {i + 1} - {allChargingDevices[i]}");
            }
            int index = ReadIndex(allChargingDevices.Length);

            return(allChargingDevices[index - 1]);
        }
Exemple #25
0
        public void GetAndProcessUserSelectionOfCharger(SimCorpMobile simCorpMobile)
        {
            ChargerHandler chargerHandler = new ChargerHandler(Output);

            string enteredChargerTypeIndex = Input.ReadLine();

            try
            {
                ChargerComponentTypes chargerType = chargerHandler.GetChargerType(enteredChargerTypeIndex);
                ICharger chargerComponent         = chargerHandler.GetCharger(chargerType);
                chargerHandler.SetAndRunCharger(simCorpMobile, chargerComponent);
            }
            catch (Exception e)
            {
                Output.Write(e.Message);
            }
        }
Exemple #26
0
        public void ChargeControl_Charging_CurrentIsBetween0And5_DisplayRecievesFullyCharged(double current)
        {
            //Arrange
            _charger           = Substitute.For <ICharger>();
            _display           = Substitute.For <IDisplay>();
            _uut               = new ChargeControl(_charger, _display);
            _charger.Connected = true;

            //Act
            _charger.CurrentValueEvent += Raise.EventWith(new CurrentEventArgs {
                Current = current
            });
            _charger.CurrentValueEvent += _uut.Charging;

            //Assert
            _display.Received(1).FullyCharged();
        }
Exemple #27
0
        static void Main(string[] args)
        {
            SimcorpMobile Phone = new SimcorpMobile();

            Console.WriteLine(Phone);

            IPlayback playbackComponent = GetPlaybackComponent();

            Console.WriteLine($" {playbackComponent} selected");
            Console.WriteLine(" Set playback to Mobile ...");
            Console.WriteLine(" Play sound in Mobile:");
            playbackComponent.Play(new object());

            ICharger chargingDevice = GetChargingDevice();

            chargingDevice.Charge(Phone.Battery);
            Console.ReadKey();
        }
Exemple #28
0
        public void ChargeControl_Charging_CurrentIs0_DisplayRecievesNothing()
        {
            //Arrange
            _charger           = Substitute.For <ICharger>();
            _display           = Substitute.For <IDisplay>();
            _uut               = new ChargeControl(_charger, _display);
            _charger.Connected = true;

            //Act
            _charger.CurrentValueEvent += Raise.EventWith(new CurrentEventArgs {
                Current = 0
            });
            _charger.CurrentValueEvent += _uut.Charging;

            //Assert
            _display.Received(0).FullyCharged();
            _display.Received(0).ChargingFail();
        }
Exemple #29
0
        public static void Main(string[] args)
        {
            var mobile = new ModernMobile(output);

            while (true)
            {
                Console.WriteLine("\n============================");
                Console.WriteLine("Select device: (Esc to exit)");
                Console.WriteLine($"{DEVICE_HEADPHONES} - Headphones");
                Console.WriteLine($"{DEVICE_CHARGER} - Charger");

                ConsoleKeyInfo userInput = ReadKeyRestricted();
                Console.WriteLine();
                if (userInput.Key == ConsoleKey.Escape)
                {
                    if (!ConfirmationPopup("You are going to exit."))
                    {
                        continue;
                    }
                    return;
                }

                switch (userInput.KeyChar)
                {
                case DEVICE_HEADPHONES:
                    AbstractCreator <IPlayback> playbackCreator = playbackCreators[ChooseCreator("Choose playback:", playbackCreators)];
                    mobile.PlaybackComponent = playbackCreator.Creator.Invoke();

                    mobile.Play(new object());
                    break;

                case DEVICE_CHARGER:
                    AbstractCreator <ICharger> chargerCreator = chargerCreators[ChooseCreator("Choose charger:", chargerCreators)];
                    ICharger charger = chargerCreator.Creator.Invoke();

                    charger?.Charge(mobile);
                    break;

                default:
                    Console.WriteLine("Unexpected input. Please try again.");
                    continue;
                }
            }
        }
Exemple #30
0
        public static ICharger GetCharge(Charges charges, IOutput output)
        {
            ICharger charger = null;

            switch (charges)
            {
            case Charges.FastCharge:
                charger = new FastCharge(output);
                break;

            case Charges.UsualCharge:
                charger = new UsualCharge(output);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            return(charger);
        }