예제 #1
0
 public ComputerCpu(byte numberOfCores, byte numberOfBits, ComputerRam ram, ComputerHardDrive hardDrive)
 {
     this.numberOfBits = numberOfBits;
     this.ram = ram;
     this.NumberOfCores = numberOfCores;
     this.computerHardDrive = hardDrive;
 }
예제 #2
0
 public void TestCpuReturnExactCoreAndNumberOfBits()
 {
     var ram = new ComputerRam(8);
     var hardDrive = new ComputerHardDrive();
     var cpu = new ComputerCpu(4, 64, ram, hardDrive);
     cpu.SquareNumber64();
     var cores = cpu.NumberOfCores;
     Assert.AreEqual(4, cores);
 }
예제 #3
0
 public void TestRandomNumberIsOutOfRange()
 {
     var ram = new ComputerRam(8);
     var hardDrive = new ComputerHardDrive();
     var cpu = new ComputerCpu(4, 64, ram, hardDrive);
     var expectedNumber = cpu.Rand(1, 100);
     var result = expectedNumber > 100 ? true : false;
     Assert.IsFalse(false);
 }
예제 #4
0
 public void TestRandomNumberBetweenNumbers()
 {
     var ram = new ComputerRam(8);
     var hardDrive = new ComputerHardDrive();
     var cpu = new ComputerCpu(4, 64, ram, hardDrive);
     var expectedNumber = cpu.Rand(1, 10);
     var result = ((0 > expectedNumber) && (expectedNumber > 10)) ? true : false; 
     Assert.IsFalse(false);
 }
예제 #5
0
        public override ComputerTemplate BuildComputer()
        {
            var desctopRam = new ComputerRam(ComputerNumber / 4);
            var desctopHardDrive = new ComputerHardDrive(false);
            var desctopCpu = new ComputerCpu(ComputerNumber / 4, 32, desctopRam, desctopHardDrive);
            var desctopHardDrives = new[]
            {
                new ComputerHardDrive(500, false, 0)
            };
            var desctopComputer = new Computer(
                Type.PC,
                desctopCpu,
                desctopRam,
                desctopHardDrives,
                desctopHardDrive,
                null);

            var serverRam = new ComputerRam(ComputerNumber * 4);
            var serverHardDrive = new ComputerHardDrive();
            var serverCpu = new ComputerCpu(ComputerNumber / 2, 32, serverRam, serverHardDrive);
            var serverHardDrives = new List<ComputerHardDrive>
            {
                new ComputerHardDrive(1000, false, 0), 
                new ComputerHardDrive(1000, false, 0)
            };
            var serverRaidHardDrive = new List<ComputerHardDrive>
            {
                new ComputerHardDrive(0, true, 2, serverHardDrives)
            };

            var server = new Computer(
                Type.SERVER,
                serverCpu,
                serverRam,
                serverRaidHardDrive,
                serverHardDrive,
                null);

            var laptopHardDrive = new ComputerHardDrive(false);
            var laptopRam = new ComputerRam(ComputerNumber / 2);
            var laptopCpu = new ComputerCpu(ComputerNumber / 4, 64, laptopRam, laptopHardDrive);
            var laptopHardDrives = new[]
            {
                new ComputerHardDrive(500, false, 0)
            };
            var laptop = new Computer(
                Type.LAPTOP,
                laptopCpu,
                laptopRam,
                laptopHardDrives,
                laptopHardDrive,
                new LaptopBattery());

            return new ComputerTemplate(desctopComputer, laptop, server);
        }
예제 #6
0
        internal Computer(Type type, ComputerCpu cpu, ComputerRam ram, IEnumerable<ComputerHardDrive> hardDrives, ComputerHardDrive hardDrive, LaptopBattery battery)
        {
            this.Cpu = cpu;
            this.Ram = ram;
            this.HardDrives = hardDrives;
            this.HardDrive = hardDrive;
            if (type == Type.SERVER)
            {
                this.HardDrive.IsMonochrome = true;
            }

            this.battery = battery;
        }
예제 #7
0
        public override ComputerTemplate BuildComputer()
        {
            var desctopRam = new ComputerRam(ComputerNumber);
            var desctopHardDrive = new ComputerHardDrive(false);
            var desctopCpu = new ComputerCpu(ComputerNumber / 2, 64, desctopRam, desctopHardDrive);
            var desctopHardDrives = new[] { new ComputerHardDrive(1000, false, 0) };
            var pc = new Computer(
                Type.PC,
                desctopCpu,
                desctopRam,
                desctopHardDrives,
                desctopHardDrive,
                null);

            var serverRam = new ComputerRam(ComputerNumber * ComputerNumber);
            var initServerHardDrives = new List<ComputerHardDrive>
            {
                new ComputerHardDrive(2000, false, 0),
                new ComputerHardDrive(2000, false, 0)
            };
            var serverHardDrive = new ComputerHardDrive(0, true, 2, initServerHardDrives);
            var serverCpu = new ComputerCpu(ComputerNumber, 64, serverRam, serverHardDrive);
            var serversHardDrives = new List<ComputerHardDrive> { serverHardDrive };
            var server = new Computer(
                Type.SERVER,
                serverCpu,
                serverRam,
                serversHardDrives,
                serverHardDrive,
                null);

            var laptopRam = new ComputerRam(ComputerNumber);
            var laptopVideoCard = new ComputerHardDrive(false);
            var laptopCpu = new ComputerCpu(ComputerNumber / 2, 32, laptopRam, laptopVideoCard);
            var laptopHardDrives = new[] { new ComputerHardDrive(1000, false, 0) };
            var laptopBattery = new LaptopBattery();
            var laptop = new Computer(
                Type.LAPTOP,
                laptopCpu,
                laptopRam,
                laptopHardDrives,
                laptopVideoCard,
                laptopBattery);

            return new ComputerTemplate(pc, laptop, server);
        }