public void Add_ShouldAddCorrectItem() { IAirConditioner airConditioner = new StationaryAirConditioner("Toshiba","EX100",EnergyEfficiencyRating.B, 1000); Assert.AreEqual(0, this.Repository.Count); this.Repository.Add(airConditioner); Assert.AreSame(airConditioner,this.Repository.GetItem(airConditioner.Manufacturer, airConditioner.Model),"Expected air conditioner did not match!"); }
public void Add_ShouldAddItemOnlyOnce() { IAirConditioner airConditioner = new StationaryAirConditioner("Toshiba", "EX100", EnergyEfficiencyRating.B, 1000); Assert.AreEqual(0,this.Repository.Count); this.Repository.Add(airConditioner); Assert.AreEqual(1,this.Repository.Count); }
public void Add_WithDuplicatedItem_ShouldThrowCorrectDuplicateEntryException() { IAirConditioner airConditioner = new StationaryAirConditioner("Toshiba", "EX100", EnergyEfficiencyRating.B, 1000); IAirConditioner airConditioner2 = new StationaryAirConditioner("Toshiba", "EX100", EnergyEfficiencyRating.B, 1000); this.Repository.Add(airConditioner); this.Repository.Add(airConditioner2); try { this.Repository.Add(airConditioner2); } catch (DuplicateEntryException ex) { Assert.AreEqual(string.Format(Constants.DuplicateEntry), ex.Message, "Expected message did not match!"); throw new DuplicateEntryException(Constants.DuplicateEntry); } }
public string RegisterStationaryAirConditioner(string manufacturer, string model, string energyEfficiencyRating, int powerUsage) { EnergyEfficiencyRating rating; try { rating = (EnergyEfficiencyRating)Enum.Parse(typeof(EnergyEfficiencyRating), energyEfficiencyRating); } catch (ArgumentException ex) { throw new ArgumentException(Constants.IncorrectEnergyEfficiencyRating, ex); } IAirConditioner airConditioner = new StationaryAirConditioner(manufacturer, model, rating, powerUsage); this.Database.AirConditioners.Add(airConditioner); return string.Format(Constants.RegisterAirConditioner, airConditioner.Model, airConditioner.Manufacturer); }