public void TestCopyConstructor() { var orig = new SalaryCalculator.Arguments { BaseRate = 20000M, EmployeeBonusPerYear = 0.03M, EmployeeBonusLimit = 0.3M, ManagerBonusPerYear = 0.05M, ManagerBonusLimit = 0.4M, ManagerLeadershipBonus = 0.005M, SalesBonusPerYear = 0.01M, SalesBonusLimit = 0.35M, SalesLeadershipBonus = 0.003M }; var copy = new SalaryCalculator.Arguments(orig); Assert.AreEqual(copy.BaseRate, orig.BaseRate); Assert.AreEqual(copy.EmployeeBonusPerYear, orig.EmployeeBonusPerYear); Assert.AreEqual(copy.EmployeeBonusLimit, orig.EmployeeBonusLimit); Assert.AreEqual(copy.ManagerBonusPerYear, orig.ManagerBonusPerYear); Assert.AreEqual(copy.ManagerBonusLimit, orig.ManagerBonusLimit); Assert.AreEqual(copy.ManagerLeadershipBonus, orig.ManagerLeadershipBonus); Assert.AreEqual(copy.SalesBonusPerYear, orig.SalesBonusPerYear); Assert.AreEqual(copy.SalesBonusLimit, orig.SalesBonusLimit); Assert.AreEqual(copy.SalesLeadershipBonus, orig.SalesLeadershipBonus); }
public void TestConstructor() { var args1 = new SalaryCalculator.Arguments(SalaryArgs) { BaseRate = 0M }; Assert.ThrowsException <ArgumentOutOfRangeException>(() => new SalaryCalculator(args1)); var args2 = new SalaryCalculator.Arguments(SalaryArgs) { EmployeeBonusPerYear = -1M }; Assert.ThrowsException <ArgumentOutOfRangeException>(() => new SalaryCalculator(args2)); var args3 = new SalaryCalculator.Arguments(SalaryArgs) { EmployeeBonusLimit = -1M }; Assert.ThrowsException <ArgumentOutOfRangeException>(() => new SalaryCalculator(args3)); var args4 = new SalaryCalculator.Arguments(SalaryArgs) { ManagerBonusPerYear = -1M }; Assert.ThrowsException <ArgumentOutOfRangeException>(() => new SalaryCalculator(args4)); var args5 = new SalaryCalculator.Arguments(SalaryArgs) { ManagerBonusLimit = -1M }; Assert.ThrowsException <ArgumentOutOfRangeException>(() => new SalaryCalculator(args5)); var args6 = new SalaryCalculator.Arguments(SalaryArgs) { ManagerLeadershipBonus = -1M }; Assert.ThrowsException <ArgumentOutOfRangeException>(() => new SalaryCalculator(args6)); var args7 = new SalaryCalculator.Arguments(SalaryArgs) { SalesBonusPerYear = -1M }; Assert.ThrowsException <ArgumentOutOfRangeException>(() => new SalaryCalculator(args7)); var args8 = new SalaryCalculator.Arguments(SalaryArgs) { SalesBonusLimit = -1M }; Assert.ThrowsException <ArgumentOutOfRangeException>(() => new SalaryCalculator(args8)); var args9 = new SalaryCalculator.Arguments(SalaryArgs) { SalesLeadershipBonus = -1M }; Assert.ThrowsException <ArgumentOutOfRangeException>(() => new SalaryCalculator(args9)); }