Пример #1
0
    private static void RegisterPowerHardwareCommand(string[] inputArgs, List <Hardware> hardware)
    {
        var phName     = inputArgs[1];
        var phCapacity = int.Parse(inputArgs[2]);
        var phMemory   = int.Parse(inputArgs[3]);

        var powerHardware = new PowerHardware(phName, phCapacity, phMemory);

        hardware.Add(powerHardware);
    }
Пример #2
0
        private static void CreatePowerHardware(Match match, List <Hardware> components)
        {
            string[] tokens =
                match.Groups[2].Value.Split(new[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
            string name         = tokens[0];
            int    capacity     = int.Parse(tokens[1]);
            int    memory       = int.Parse(tokens[2]);
            var    newComponent = new PowerHardware(name, capacity, memory);

            components.Add(newComponent);
        }
Пример #3
0
        private static string CreatePowerHardware(string[] dataSystem, string name, out Hardware hardwaredPower)
        {
            string namePHardware     = dataSystem[0];
            int    capacityPHardware = int.Parse(dataSystem[1]);
            int    memoryPHardware   = int.Parse(dataSystem[2]);

            hardwaredPower = new PowerHardware(name,
                                               capacityPHardware, memoryPHardware, new List <Software>());

            return(namePHardware);
        }
Пример #4
0
        public void CheckingValueExtractionForPowerHardware()
        {
            //Arrange
            List <Hardware> theSystem        = new List <Hardware>();
            string          inputCommand     = "RegisterPowerHardware(HDD, 200, 200)";
            var             expectedHardware = new PowerHardware("HDD", 200, 200);

            //Act
            var commandManager = new CommandManager();

            commandManager.RegisterPowerHardware(theSystem, inputCommand);

            //Assert
            Assert.AreEqual(theSystem[0].Name, expectedHardware.Name);
            Assert.AreEqual(theSystem[0].MaximumCapacity, expectedHardware.MaximumCapacity);
            Assert.AreEqual(theSystem[0].MaximumMemory, expectedHardware.MaximumMemory);
        }
Пример #5
0
        public IComponentHardware CreateHardware(string type,
                                                 string name, int capacity, int memory)
        {
            IComponentHardware componentHardware = null;

            switch (type)
            {
            case "PowerHardware":
                return(componentHardware = new PowerHardware(name, capacity, memory, type));

                break;

            case "HeavyHardware":
                return(componentHardware = new HeavyHardware(name, capacity, memory, type));

                break;
            }

            return(componentHardware);
        }
Пример #6
0
        static void Main(string[] args)
        {
            string pattern   = @"(\w+)(\((.*?)\))?";
            string inputLine = Console.ReadLine();
            Regex  regex     = new Regex(pattern);

            while (inputLine != "System Split")
            {
                Match matcher = regex.Match(inputLine);

                if (matcher.Groups[1].Value == "RegisterPowerHardware")
                {
                    string hardwareType = "Power";

                    string[] hardwareData = matcher.Groups[3].Value.Split(',');

                    string hardwareName = hardwareData[0].Trim();

                    int hardwareCapacity = int.Parse(hardwareData[1].Trim());

                    int hardwareMemory = int.Parse(hardwareData[2].Trim());

                    Hardware hardware = new PowerHardware(hardwareName, hardwareType, hardwareCapacity, hardwareMemory);
                    MySystem.RegisterHardware(hardware);
                }

                else if (matcher.Groups[1].Value == "RegisterHeavyHardware")
                {
                    string hardwareType = "Heavy";

                    string[] hardwareData = matcher.Groups[3].Value.Split(',');

                    string hardwareName = hardwareData[0].Trim();

                    int hardwareCapacity = int.Parse(hardwareData[1].Trim());

                    int hardwareMemory = int.Parse(hardwareData[2].Trim());

                    Hardware hardware = new HeavyHardware(hardwareName, hardwareType, hardwareCapacity, hardwareMemory);
                    MySystem.RegisterHardware(hardware);
                }

                else if (matcher.Groups[1].Value == "RegisterExpressSoftware")
                {
                    string softwareType = "ExpressSoftware";

                    string[] softwareData = matcher.Groups[3].Value.Split(',');

                    string hardwareComponentName = softwareData[0].Trim();

                    string softwareName = softwareData[1].Trim();

                    int softwareCapacityConsumption = int.Parse(softwareData[2].Trim());

                    int softwareMemoryconsumption = int.Parse(softwareData[3].Trim());

                    Software software = new ExpressSoftware(softwareName, softwareType, softwareCapacityConsumption, softwareMemoryconsumption);
                    MySystem.RegisterSoftware(hardwareComponentName, software);
                }

                else if (matcher.Groups[1].Value == "RegisterLightSoftware")
                {
                    string softwareType = "LightSoftware";

                    string[] softwareData = matcher.Groups[3].Value.Split(',');

                    string hardwareComponentName = softwareData[0].Trim();

                    string softwareName = softwareData[1].Trim();

                    int softwareCapacityConsumption = int.Parse(softwareData[2].Trim());

                    int softwareMemoryconsumption = int.Parse(softwareData[3].Trim());

                    Software software = new LightSoftware(softwareName, softwareType, softwareCapacityConsumption, softwareMemoryconsumption);
                    MySystem.RegisterSoftware(hardwareComponentName, software);
                }

                else if (matcher.Groups[1].Value == "ReleaseSoftwareComponent")
                {
                    string[] dataForSoftwareRelease = matcher.Groups[3].Value.Split(',');

                    string hardwareComponentName = dataForSoftwareRelease[0].Trim();

                    string softwareComponentName = dataForSoftwareRelease[1].Trim();

                    MySystem.ReleaseSoftowareComponent(hardwareComponentName, softwareComponentName);
                }

                else if (matcher.Groups[1].Value == "Analyze")
                {
                    MySystem.Analyze();
                }

                inputLine = Console.ReadLine();
            }

            MySystem.SystemSplit();
        }
Пример #7
0
        private void RegisterPowerHardware(string name, int maxCapacity, int maxMemory)
        {
            PowerHardware powerHardware = new PowerHardware(name, maxCapacity, maxMemory);

            this.CustomSystem.AddHardware(powerHardware);
        }
Пример #8
0
        protected HardwareComponent CreatePowerHardware(string[] data)
        {
            HardwareComponent powerHardwareComponent = new PowerHardware(data[0], int.Parse(data[1]), int.Parse(data[2]));

            return(powerHardwareComponent);
        }