コード例 #1
0
        public void TestFindAllReportsByManufacturer_MultipleReports_ShouldReturnProperReports()
        {
            const string Manufacturer = "Toshiba";
            const string Model = "Z550";
            const string Model2 = "Z6000";
            const string Rating = "A";
            const int PowerUsage = 20;
            var commandExecutor = new CommandExecutor();

            commandExecutor.RegisterStationaryAirConditioner(Manufacturer, Model, Rating, PowerUsage);
            commandExecutor.RegisterStationaryAirConditioner(Manufacturer, Model2, Rating, PowerUsage);
            commandExecutor.TestAirConditioner(Manufacturer, Model);
            commandExecutor.TestAirConditioner(Manufacturer, Model2);
            var reports = commandExecutor.FindAllReportsByManufacturer("Toshiba");
            var mark = commandExecutor.Database.AirConditioners.First().HasPassedTest ? "Passed" : "Failed";
            var expectedReport = new StringBuilder();
            expectedReport.AppendFormat("Reports from {0}:", Manufacturer)
                .AppendLine()
                .AppendLine("Report")
                .AppendLine(Constants.ReportDelimiter)
                .AppendLine("Manufacturer: " + Manufacturer)
                .AppendLine("Model: " + Model)
                .AppendLine("Mark: " + mark)
                .AppendLine(Constants.ReportDelimiter)
                .AppendLine("Report")
                .AppendLine(Constants.ReportDelimiter)
                .AppendLine("Manufacturer: " + Manufacturer)
                .AppendLine("Model: " + Model2)
                .AppendLine("Mark: " + mark)
                .Append(Constants.ReportDelimiter);

            Assert.AreEqual(expectedReport.ToString(), reports, "Reports are not equal.");
        }
コード例 #2
0
        public void TestStationaryAirConditioner_DuplicateAirConditioner_ShouldThrow()
        {
            const string Manufacturer = "Toshiba";
            const string Model = "Z550";
            const string Rating = "A";
            const int PowerUsage = 20;

            var commandExecutor = new CommandExecutor();
            commandExecutor.RegisterStationaryAirConditioner(Manufacturer, Model, Rating, PowerUsage);
            commandExecutor.RegisterStationaryAirConditioner(Manufacturer, Model, Rating, PowerUsage);
        }
コード例 #3
0
 public void TestStationaryAirConditioner_InvalidModelName_ShouldThrow()
 {
     const string Manufacturer = "Toshiba";
     string incorrectModel = new string('A', Constants.ModelMinLength - 1);
     const string Rating = "A";
     const int PowerUsage = 20;
     var commandExecutor = new CommandExecutor();
     commandExecutor.RegisterStationaryAirConditioner(Manufacturer, incorrectModel, Rating, PowerUsage);
 }
コード例 #4
0
 public void TestStationaryAirConditioner_IncorrectEfficiencyRating_ShouldThrow()
 {
     const string Manufacturer = "Toshiba";
     const string Model = "Z550";
     const string IncorrectRating = "Z";
     const int PowerUsage = 20;
     var commandExecutor = new CommandExecutor();
     commandExecutor.RegisterStationaryAirConditioner(Manufacturer, Model, IncorrectRating, PowerUsage);
 }
コード例 #5
0
        public void TestStationaryAirConditioner_SingleAirConditioner_ManufacturersShouldBeEqual()
        {
            const string Manufacturer = "Toshiba";
            const string Model = "Z550";
            const string Rating = "A";
            const int PowerUsage = 20;
            var commandExecutor = new CommandExecutor();

            commandExecutor.RegisterStationaryAirConditioner(Manufacturer, Model, Rating, PowerUsage);

            Assert.AreEqual(
                Manufacturer,
                commandExecutor.Database.AirConditioners.First().Manufacturer,
                "Manufacturers differ.");
        }
コード例 #6
0
        public void TestStationaryAirConditioner_SingleAirConditioner_ShouldReturnSuccessMessage()
        {
            const string Manufacturer = "Toshiba";
            const string Model = "Z550";
            const string Rating = "A";
            const int PowerUsage = 20;
            var commandExecutor = new CommandExecutor();
            var expectedMessage = string.Format(Constants.Register, Model, Manufacturer);

            var message = commandExecutor.RegisterStationaryAirConditioner(Manufacturer, Model, Rating, PowerUsage);

            Assert.AreEqual(expectedMessage, message, "Messages differ.");
        }
コード例 #7
0
        public void TestStationaryAirConditioner_SingleAirConditioner_RatingsShouldBeEqual()
        {
            const string Manufacturer = "Toshiba";
            const string Model = "Z550";
            const string Rating = "A";
            const int PowerUsage = 20;
            var commandExecutor = new CommandExecutor();

            commandExecutor.RegisterStationaryAirConditioner(Manufacturer, Model, Rating, PowerUsage);
            var expectedRaiting = (int)Enum.Parse(typeof(EnergyEfficiencyRating), Rating);

            Assert.AreEqual(
                expectedRaiting,
                (commandExecutor.Database.AirConditioners.First() as StationaryAirConditioner).EnergyRating,
                "Ratings differ.");
        }