コード例 #1
0
ファイル: DeviceTests.cs プロジェクト: astanchev/CSharp-OOP
        public void TestShouldNotBeAbleToAddNonPCPart()
        {
            IPart       laptopPart = new LaptopPart("CD", 10m);
            IRepairable pc         = new PC(makeTest);

            Assert.Throws <InvalidOperationException>(() => pc.AddPart(laptopPart));
        }
コード例 #2
0
        public void Repair_Method_Should_Works_Correctly()
        {
            laptopPart = new LaptopPart("mouse", 2.3m, true);
            laptopPart.Repair();

            Assert.IsFalse(laptopPart.IsBroken);
        }
コード例 #3
0
ファイル: PartTests.cs プロジェクト: astanchev/CSharp-OOP
        public void TestRepairLaptopPartShouldFixBrokenPart()
        {
            IPart laptopPart = new LaptopPart(PartName, PartCost);

            laptopPart.Repair();

            Assert.IsTrue(laptopPart.IsBroken == false);
        }
コード例 #4
0
        public void LaptopPartReportShouldReturnStringContainingNameCostAndIsBrokenPropertiesAsPartOfIt()
        {
            var laptopPart = new LaptopPart("ram", 100m, true);

            StringAssert.Contains($"{laptopPart.Name}", laptopPart.Report(), "Report string doesn't contain Name property");
            StringAssert.Contains($"{laptopPart.Cost}", laptopPart.Report(), "Report string doesn't contain Cost property");
            StringAssert.Contains($"{laptopPart.IsBroken}", laptopPart.Report(), "Report string doesn't contain IsBroken property");
        }
コード例 #5
0
        public void TestAddPartWithAlreadyAddedPart()
        {
            IPart part = new LaptopPart("GPU", 150, false);

            this.laptop.AddPart(part);

            Assert.That(() => this.laptop.AddPart(part), Throws.InvalidOperationException.With.Message.EqualTo("This part already exists!"));
        }
コード例 #6
0
        public void TestLaptopAddPartWithExistingPart()
        {
            IPart laptopPart = new LaptopPart("Keyboard", 68);

            this.laptop.AddPart(laptopPart);

            Assert.Throws <InvalidOperationException>(() => this.laptop.AddPart(laptopPart));
        }
コード例 #7
0
        public void TestIfLaptopAddPartWorksCorrectly()
        {
            IPart part = new LaptopPart("GPU", 150, false);

            this.laptop.AddPart(part);

            Assert.That(this.laptop.Parts, Has.Member(part));
        }
コード例 #8
0
ファイル: PartTests.cs プロジェクト: astanchev/CSharp-OOP
        public void TestLaptopPartShouldBeInstantiatedWith3parameters()
        {
            IPart laptopPart = new LaptopPart(PartName, PartCost, PartIsBroken);

            Assert.AreEqual(PartName, laptopPart.Name);
            Assert.AreEqual((PartCost * multiplierLaptopPart), laptopPart.Cost);
            Assert.AreEqual(PartIsBroken, laptopPart.IsBroken);
        }
        public void LaptopPartRepairShouldWorksCorrectly()
        {
            var part = new LaptopPart("JustLaptopPart", 2.50M, true);

            part.Repair();

            Assert.IsFalse(part.IsBroken);
        }
コード例 #10
0
        public void LaptopPartRepairShouldTurnIsBrokenToFalse()
        {
            var laptopPart = new LaptopPart("ram", 100m, true);

            laptopPart.Repair();

            Assert.IsFalse(laptopPart.IsBroken);
        }
コード例 #11
0
        public void TestLaptopRemoveWithNonexistingPart()
        {
            IPart laptopPart = new LaptopPart("Keyboard", 68);

            this.laptop.AddPart(laptopPart);

            Assert.Throws <InvalidOperationException>(() => this.laptop.RemovePart("Screen"));
        }
コード例 #12
0
        public void LaptopPartConstructorWithThreeParametersShouldSetIsBrokenCorrectly()
        {
            var laptopPart = new LaptopPart("ram", 100m, true);

            bool actualIsBroken = laptopPart.IsBroken;

            Assert.IsTrue(actualIsBroken);
        }
コード例 #13
0
        public void AddPart_Method_Should_Throws_Exception_With_Existing_Part()
        {
            LaptopPart part = new LaptopPart("mouse", 23.3m, false);

            laptop.AddPart(part);

            Assert.Throws <InvalidOperationException>(() => laptop.AddPart(part));
        }
コード例 #14
0
        public void LaptopPartConstructorWithThreeParametersShouldSetCostCorrectly()
        {
            var     laptopPart   = new LaptopPart("ram", 100m, true);
            decimal expectedCost = 100m * 1.5m;

            decimal actualCost = laptopPart.Cost;

            Assert.AreEqual(expectedCost, actualCost);
        }
コード例 #15
0
ファイル: DeviceTests.cs プロジェクト: astanchev/CSharp-OOP
        public void TestRepairNotBrokenLaptopPart()
        {
            IPart       laptopPart = new LaptopPart("CD", 10m, false);
            IRepairable laptop     = new Laptop(makeTest);

            laptop.AddPart(laptopPart);

            Assert.Throws <InvalidOperationException>(() => laptop.RepairPart("CD"));
        }
コード例 #16
0
ファイル: DeviceTests.cs プロジェクト: astanchev/CSharp-OOP
        public void TestRepairLaptopPartWithEmptyName()
        {
            IPart       laptopPart = new LaptopPart("CD", 10m, true);
            IRepairable laptop     = new Laptop(makeTest);

            laptop.AddPart(laptopPart);

            Assert.Throws <ArgumentException>(() => laptop.RepairPart(String.Empty));
        }
コード例 #17
0
ファイル: DeviceTests.cs プロジェクト: astanchev/CSharp-OOP
        public void TestShouldNotBeAbleToAddExistingLaptopPart()
        {
            IPart       laptopPart = new LaptopPart("CD", 10m);
            IRepairable laptop     = new Laptop(makeTest);

            laptop.AddPart(laptopPart);

            Assert.Throws <InvalidOperationException>(() => laptop.AddPart(laptopPart));
        }
コード例 #18
0
ファイル: DeviceTests.cs プロジェクト: astanchev/CSharp-OOP
        public void TestShouldBeAbleToAddLaptopPart()
        {
            IPart       laptopPart = new LaptopPart("CD", 10m);
            IRepairable laptop     = new Laptop(makeTest);

            laptop.AddPart(laptopPart);

            Assert.AreEqual(1, laptop.Parts.Count);
        }
コード例 #19
0
ファイル: PartTests.cs プロジェクト: astanchev/CSharp-OOP
        public void TestReportPhonePartShouldReturnCorrectMessage()
        {
            IPart laptopPart = new LaptopPart(PartName, PartCost, PartIsBroken);

            string expected = $"{PartName} - {(PartCost*multiplierLaptopPart):f2}$" + Environment.NewLine + $"Broken: {PartIsBroken}";
            string actual   = laptopPart.Report();

            Assert.AreEqual(expected, actual);
        }
コード例 #20
0
        public void LaptopRepairPartMethodCannotRepairNonBrokenPart()
        {
            var laptop = new Laptop("Dell");
            var part   = new LaptopPart("LaptopPart", 5.50m, false);

            laptop.AddPart(part);

            Assert.Throws <InvalidOperationException>(() => laptop.RepairPart("LaptopPart"));
        }
コード例 #21
0
        public void LaptopPartConstructorWithThreeParametersShouldSetNameCorrectly()
        {
            var    laptopPart   = new LaptopPart("Ram", 100m, true);
            string expectedName = "Ram";

            string actualName = laptopPart.Name;

            Assert.AreEqual(expectedName, actualName);
        }
コード例 #22
0
        public void TestRepairPartWithNotBrokenPart()
        {
            string partName = "GPU";
            IPart  part     = new LaptopPart(partName, 150, false);

            this.laptop.AddPart(part);

            Assert.That(() => this.laptop.RepairPart(partName), Throws.InvalidOperationException.With.Message.EqualTo("You cannot repair part which is not broken!"));
        }
コード例 #23
0
        public void TestRepairingNotBrokenPart()
        {
            //Working part
            IPart laptopPart = new LaptopPart("Keyboard", 68, false);

            this.laptop.AddPart(laptopPart);

            Assert.Throws <InvalidOperationException>(() => this.laptop.RepairPart(laptopPart.Name));
        }
コード例 #24
0
        public void RemovePart_Method_Should_Works_Correctly()
        {
            LaptopPart part = new LaptopPart("mouse", 23.3m, false);

            laptop.AddPart(part);
            laptop.RemovePart("mouse");

            Assert.AreEqual(0, laptop.Parts.Count);
        }
コード例 #25
0
        public void LaptopPartReportShouldGiveCorrectInfo()
        {
            var part = new LaptopPart("JustLaptopPart", 2.50M, true);

            var expectedReport = $"JustLaptopPart - 3.75$" + Environment.NewLine +
                                 $"Broken: True";

            Assert.AreEqual(expectedReport, part.Report());
        }
コード例 #26
0
 public void Setup()
 {
     this.laptop      = new Laptop("LaptopMake");
     this.pc          = new PC("PCMake");
     this.phone       = new Phone("PhoneMake");
     this.laptopPart1 = new LaptopPart("RAM", 10, true);
     this.laptopPart2 = new LaptopPart("HDD", 50, false);
     this.pcPart      = new PCPart("SSD", 15);
     this.phonePart   = new PhonePart("Camera", 20);
 }
コード例 #27
0
ファイル: DeviceTests.cs プロジェクト: SvilenD/CSharp-OOP-
        public void Laptop_RemovePartTest()
        {
            var laptop = new Laptop("HP");
            var part   = new LaptopPart("part", 2);

            laptop.AddPart(part);
            Assert.AreEqual(1, laptop.Parts.Count);
            laptop.RemovePart(part.Name);
            Assert.AreEqual(0, laptop.Parts.Count);
        }
コード例 #28
0
        public void LaptopRepairPartMethodShouldWorksCorrectly()
        {
            var laptop = new Laptop("Dell");
            var part   = new LaptopPart("LaptopPart", 5.50m, true);

            laptop.AddPart(part);
            laptop.RepairPart(part.Name);

            Assert.IsFalse(part.IsBroken);
        }
コード例 #29
0
        public void AddPart_Method_Should_Work_Correctly()
        {
            LaptopPart part = new LaptopPart("mouse", 23.3m, false);

            laptop.AddPart(part);
            var parts = laptop.Parts;

            Assert.AreEqual(1, laptop.Parts.Count);
            Assert.That(parts, Has.Member(part));
        }
コード例 #30
0
        public void LaptopAddPartShouldThrowExceptionIfPartIsAlreadyExisting()
        {
            var laptop = new Laptop("Dell");

            var laptopPart = new LaptopPart("LaptopPart", 3.50m);

            laptop.AddPart(laptopPart);

            Assert.Throws <InvalidOperationException>(() => laptop.AddPart(laptopPart));
        }