Beispiel #1
0
        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));
        }