public void WageDollarTransformations_MatchingFrequencies() { decimal dailyAmount = 1000M; decimal answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.DAILY, targetFrequency: TransformDollarsByFrequency.Frequency.DAILY, amount: dailyAmount); Assert.Equal(dailyAmount, answer); }
public void WageDollarTransformations_TransformationFromDaily() { decimal dailyAmount = 400M; decimal expectedHourlyAmount = dailyAmount / 8M; decimal expectedWeeklyAmount = dailyAmount * 5M; decimal expectedTwoWeeks = expectedWeeklyAmount * 2; decimal expectedMonthly = (expectedWeeklyAmount * 52) / 12; decimal expectedSemiMonthly = expectedMonthly / 2; decimal expectedQuarterly = expectedMonthly * 3; decimal expectedSemiAnnual = expectedMonthly * 6; decimal expectedAnnual = expectedMonthly * 12; decimal answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.DAILY, targetFrequency: TransformDollarsByFrequency.Frequency.HOURLY, amount: dailyAmount); AssertInRange(expectedHourlyAmount, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.DAILY, targetFrequency: TransformDollarsByFrequency.Frequency.DAILY, amount: dailyAmount); AssertInRange(dailyAmount, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.DAILY, targetFrequency: TransformDollarsByFrequency.Frequency.WEEKLY, amount: dailyAmount); AssertInRange(expectedWeeklyAmount, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.DAILY, targetFrequency: TransformDollarsByFrequency.Frequency.EVERY_TWO_WEEKS, amount: dailyAmount); AssertInRange(expectedTwoWeeks, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.DAILY, targetFrequency: TransformDollarsByFrequency.Frequency.SEMI_MONTHLY, amount: dailyAmount); AssertInRange(expectedSemiMonthly, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.DAILY, targetFrequency: TransformDollarsByFrequency.Frequency.MONTHLY, amount: dailyAmount); AssertInRange(expectedMonthly, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.DAILY, targetFrequency: TransformDollarsByFrequency.Frequency.QUARTERLY, amount: dailyAmount); AssertInRange(expectedQuarterly, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.DAILY, targetFrequency: TransformDollarsByFrequency.Frequency.SEMI_ANNUALLY, amount: dailyAmount); AssertInRange(expectedSemiAnnual, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.DAILY, targetFrequency: TransformDollarsByFrequency.Frequency.ANNUALLY, amount: dailyAmount); AssertInRange(expectedAnnual, answer); }
public void WageDollarTransformations_TransformationFromDaily() { decimal dailyAmount = 400M; decimal expectedHourlyAmount = dailyAmount / 8M; decimal expectedWeeklyAmount = dailyAmount * 5M; decimal expectedTwoWeeks = expectedWeeklyAmount * 2; decimal expectedMonthly = (expectedWeeklyAmount * 52) / 12; decimal expectedSemiMonthly = expectedMonthly / 2; decimal expectedQuarterly = expectedMonthly * 3; decimal expectedSemiAnnual = expectedMonthly * 6; decimal expectedAnnual = expectedMonthly * 12; decimal answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.Daily, targetFrequency: TransformDollarsByFrequency.Frequency.Hourly, amount: dailyAmount); AssertInRange(expectedHourlyAmount, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.Daily, targetFrequency: TransformDollarsByFrequency.Frequency.Daily, amount: dailyAmount); AssertInRange(dailyAmount, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.Daily, targetFrequency: TransformDollarsByFrequency.Frequency.Weekly, amount: dailyAmount); AssertInRange(expectedWeeklyAmount, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.Daily, targetFrequency: TransformDollarsByFrequency.Frequency.EveryTwoWeeks, amount: dailyAmount); AssertInRange(expectedTwoWeeks, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.Daily, targetFrequency: TransformDollarsByFrequency.Frequency.SemiMonthly, amount: dailyAmount); AssertInRange(expectedSemiMonthly, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.Daily, targetFrequency: TransformDollarsByFrequency.Frequency.Monthly, amount: dailyAmount); AssertInRange(expectedMonthly, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.Daily, targetFrequency: TransformDollarsByFrequency.Frequency.Quarterly, amount: dailyAmount); AssertInRange(expectedQuarterly, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.Daily, targetFrequency: TransformDollarsByFrequency.Frequency.SemiAnnually, amount: dailyAmount); AssertInRange(expectedSemiAnnual, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.Daily, targetFrequency: TransformDollarsByFrequency.Frequency.Annually, amount: dailyAmount); AssertInRange(expectedAnnual, answer); }
public void WageDollarTransformations_TransformationFromAnnually() { decimal baseAmount = 50000M; decimal expectedDailyAmount = baseAmount / (52M * 5M); decimal expectedHourlyAmount = expectedDailyAmount / 8M; decimal expectedWeekly = expectedDailyAmount * 5M; decimal expectedSemiMonthly = baseAmount / 24M; decimal expectedEveryTwoWeeks = baseAmount / 26M; decimal expectedMonthly = baseAmount / 12M; decimal expectedQuarterly = expectedMonthly * 3M; decimal expectedSemiAnnually = baseAmount / 2M; decimal answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.ANNUALLY, targetFrequency: TransformDollarsByFrequency.Frequency.HOURLY, amount: baseAmount); AssertInRange(expectedHourlyAmount, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.ANNUALLY, targetFrequency: TransformDollarsByFrequency.Frequency.DAILY, amount: baseAmount); AssertInRange(expectedDailyAmount, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.ANNUALLY, targetFrequency: TransformDollarsByFrequency.Frequency.WEEKLY, amount: baseAmount); AssertInRange(expectedWeekly, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.ANNUALLY, targetFrequency: TransformDollarsByFrequency.Frequency.EVERY_TWO_WEEKS, amount: baseAmount); AssertInRange(expectedEveryTwoWeeks, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.ANNUALLY, targetFrequency: TransformDollarsByFrequency.Frequency.SEMI_MONTHLY, amount: baseAmount); AssertInRange(expectedSemiMonthly, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.ANNUALLY, targetFrequency: TransformDollarsByFrequency.Frequency.MONTHLY, amount: baseAmount); AssertInRange(expectedMonthly, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.ANNUALLY, targetFrequency: TransformDollarsByFrequency.Frequency.QUARTERLY, amount: baseAmount); AssertInRange(expectedQuarterly, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.ANNUALLY, targetFrequency: TransformDollarsByFrequency.Frequency.SEMI_ANNUALLY, amount: baseAmount); AssertInRange(expectedSemiAnnually, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.ANNUALLY, targetFrequency: TransformDollarsByFrequency.Frequency.ANNUALLY, amount: baseAmount); AssertInRange(baseAmount, answer); }
public void WageDollarTransformations_TransformationFromSemiAnnually() { decimal baseAmount = 25000M; decimal expectedDailyAmount = (baseAmount * 2M) / (52M * 5M); decimal expectedHourlyAmount = expectedDailyAmount / 8M; decimal expectedWeekly = expectedDailyAmount * 5M; decimal expectedSemiMonthly = (baseAmount * 2M) / 24M; decimal expectedEveryTwoWeeks = (baseAmount * 2M) / 26M; decimal expectedMonthly = baseAmount * 2M / 12M; decimal expectedQuarterly = expectedMonthly * 3M; decimal expectedAnnual = expectedMonthly * 12M; decimal answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.SemiAnnually, targetFrequency: TransformDollarsByFrequency.Frequency.Hourly, amount: baseAmount); AssertInRange(expectedHourlyAmount, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.SemiAnnually, targetFrequency: TransformDollarsByFrequency.Frequency.Daily, amount: baseAmount); AssertInRange(expectedDailyAmount, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.SemiAnnually, targetFrequency: TransformDollarsByFrequency.Frequency.Weekly, amount: baseAmount); AssertInRange(expectedWeekly, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.SemiAnnually, targetFrequency: TransformDollarsByFrequency.Frequency.EveryTwoWeeks, amount: baseAmount); AssertInRange(expectedEveryTwoWeeks, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.SemiAnnually, targetFrequency: TransformDollarsByFrequency.Frequency.SemiMonthly, amount: baseAmount); AssertInRange(expectedSemiMonthly, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.SemiAnnually, targetFrequency: TransformDollarsByFrequency.Frequency.Monthly, amount: baseAmount); AssertInRange(expectedMonthly, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.SemiAnnually, targetFrequency: TransformDollarsByFrequency.Frequency.Quarterly, amount: baseAmount); AssertInRange(expectedQuarterly, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.SemiAnnually, targetFrequency: TransformDollarsByFrequency.Frequency.SemiAnnually, amount: baseAmount); AssertInRange(baseAmount, answer); answer = TransformDollarsByFrequency.Convert(sourceFrequency: TransformDollarsByFrequency.Frequency.SemiAnnually, targetFrequency: TransformDollarsByFrequency.Frequency.Annually, amount: baseAmount); AssertInRange(expectedAnnual, answer); }