[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [5617] Refactor, writing insurance-age enumerators in logi
From: |
Greg Chicares |
Subject: |
[lmi-commits] [5617] Refactor, writing insurance-age enumerators in logical order |
Date: |
Sat, 08 Dec 2012 17:11:12 +0000 |
Revision: 5617
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5617
Author: chicares
Date: 2012-12-08 17:11:12 +0000 (Sat, 08 Dec 2012)
Log Message:
-----------
Refactor, writing insurance-age enumerators in logical order
Modified Paths:
--------------
lmi/trunk/calendar_date_test.cpp
lmi/trunk/oecumenic_enumerations.hpp
Modified: lmi/trunk/calendar_date_test.cpp
===================================================================
--- lmi/trunk/calendar_date_test.cpp 2012-12-08 11:15:30 UTC (rev 5616)
+++ lmi/trunk/calendar_date_test.cpp 2012-12-08 17:11:12 UTC (rev 5617)
@@ -55,8 +55,8 @@
TestYearAndMonthDifferenceExhaustively();
TestBirthdateLimits();
TestBirthdateLimitsExhaustively(oe_age_last_birthday);
+ TestBirthdateLimitsExhaustively(oe_age_nearest_birthday_ties_younger);
TestBirthdateLimitsExhaustively(oe_age_nearest_birthday_ties_older);
- TestBirthdateLimitsExhaustively(oe_age_nearest_birthday_ties_younger);
TestIo();
TestSpeed();
}
@@ -462,15 +462,15 @@
birth_date = calendar_date(1958, 7, 2);
BOOST_TEST_EQUAL(44, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
// If birthdate is one day later, then ANB is one year less.
birth_date = calendar_date(1958, 7, 3);
BOOST_TEST_EQUAL(44, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(44, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(44, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(44, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
// In a leap year, effective date can be an equal number of days
// away from the two birthdays that bracket it. For ANB, either
@@ -490,24 +490,24 @@
birth_date = calendar_date(1958, 7, 2);
BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(46, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
// If birthdate is one day earlier,
// then ANB is unambiguously forty-six.
birth_date = calendar_date(1958, 7, 1);
BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(46, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(46, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(46, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
// If birthdate is one day later,
// then ANB is unambiguously forty-five.
birth_date = calendar_date(1958, 7, 3);
BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
// Test leap-year-day birthdate.
//
@@ -526,53 +526,53 @@
effective_date = calendar_date(2003, 8, 30);
BOOST_TEST_EQUAL(47, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(47, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(47, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(47, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
effective_date = calendar_date(2003, 8, 31);
BOOST_TEST_EQUAL(47, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
effective_date = calendar_date(2004, 2, 28);
BOOST_TEST_EQUAL(47, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
effective_date = calendar_date(2004, 2, 29);
BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
effective_date = calendar_date(2004, 3, 1);
BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
effective_date = calendar_date(2004, 8, 29);
BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
effective_date = calendar_date(2004, 8, 30);
BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(49, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
effective_date = calendar_date(2004, 8, 31);
BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(49, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(49, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(49, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
effective_date = calendar_date(2005, 2, 28);
BOOST_TEST_EQUAL(48, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(49, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(49, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(49, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
effective_date = calendar_date(2005, 3, 1);
BOOST_TEST_EQUAL(49, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(49, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(49, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(49, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
// Test leap-year-day effective date. Business custom would forbid
// using it as the basis for a series of annual transactions, yet
@@ -593,18 +593,18 @@
birth_date = calendar_date(1958, 8, 29);
BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(46, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(46, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(46, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
birth_date = calendar_date(1958, 8, 30);
BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(46, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
birth_date = calendar_date(1958, 8, 31);
BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_last_birthday));
+ BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_older));
- BOOST_TEST_EQUAL(45, attained_age(birth_date, effective_date,
oe_age_nearest_birthday_ties_younger));
// Effective date mustn't precede birthdate--this should throw:
birth_date = calendar_date(2003, 1, 2);
@@ -836,46 +836,46 @@
);
// Test ANB limits, including equidistant birthdate candidates,
- // resolving ties to the older age.
+ // resolving ties to the younger age.
BOOST_TEST_EQUAL
- (minimum_birthdate(44, calendar_date(2003, 1, 1),
oe_age_nearest_birthday_ties_older)
+ (minimum_birthdate(44, calendar_date(2003, 1, 1),
oe_age_nearest_birthday_ties_younger)
, calendar_date(1958, 7, 3)
);
BOOST_TEST_EQUAL
- (maximum_birthdate(45, calendar_date(2003, 1, 1),
oe_age_nearest_birthday_ties_older)
+ (maximum_birthdate(45, calendar_date(2003, 1, 1),
oe_age_nearest_birthday_ties_younger)
, calendar_date(1958, 7, 2)
);
BOOST_TEST_EQUAL
- (minimum_birthdate(45, calendar_date(2004, 1, 1),
oe_age_nearest_birthday_ties_older)
- , calendar_date(1958, 7, 3)
+ (minimum_birthdate(45, calendar_date(2004, 1, 1),
oe_age_nearest_birthday_ties_younger)
+ , calendar_date(1958, 7, 2)
);
BOOST_TEST_EQUAL
- (maximum_birthdate(46, calendar_date(2004, 1, 1),
oe_age_nearest_birthday_ties_older)
- , calendar_date(1958, 7, 2)
+ (maximum_birthdate(46, calendar_date(2004, 1, 1),
oe_age_nearest_birthday_ties_younger)
+ , calendar_date(1958, 7, 1)
);
- // Repeat the ANB tests, resolving ties to the younger age.
+ // Repeat the ANB tests, resolving ties to the older age.
// As expected, results change only in the "equidistant" case
// (which can arise only in a leap year).
BOOST_TEST_EQUAL
- (minimum_birthdate(44, calendar_date(2003, 1, 1),
oe_age_nearest_birthday_ties_younger)
+ (minimum_birthdate(44, calendar_date(2003, 1, 1),
oe_age_nearest_birthday_ties_older)
, calendar_date(1958, 7, 3)
);
BOOST_TEST_EQUAL
- (maximum_birthdate(45, calendar_date(2003, 1, 1),
oe_age_nearest_birthday_ties_younger)
+ (maximum_birthdate(45, calendar_date(2003, 1, 1),
oe_age_nearest_birthday_ties_older)
, calendar_date(1958, 7, 2)
);
BOOST_TEST_EQUAL
- (minimum_birthdate(45, calendar_date(2004, 1, 1),
oe_age_nearest_birthday_ties_younger)
- , calendar_date(1958, 7, 2)
+ (minimum_birthdate(45, calendar_date(2004, 1, 1),
oe_age_nearest_birthday_ties_older)
+ , calendar_date(1958, 7, 3)
);
BOOST_TEST_EQUAL
- (maximum_birthdate(46, calendar_date(2004, 1, 1),
oe_age_nearest_birthday_ties_younger)
- , calendar_date(1958, 7, 1)
+ (maximum_birthdate(46, calendar_date(2004, 1, 1),
oe_age_nearest_birthday_ties_older)
+ , calendar_date(1958, 7, 2)
);
}
Modified: lmi/trunk/oecumenic_enumerations.hpp
===================================================================
--- lmi/trunk/oecumenic_enumerations.hpp 2012-12-08 11:15:30 UTC (rev
5616)
+++ lmi/trunk/oecumenic_enumerations.hpp 2012-12-08 17:11:12 UTC (rev
5617)
@@ -32,8 +32,8 @@
enum oenum_alb_or_anb
{oe_age_last_birthday
+ ,oe_age_nearest_birthday_ties_younger
,oe_age_nearest_birthday_ties_older
- ,oe_age_nearest_birthday_ties_younger
};
enum oenum_allocation_method
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [5617] Refactor, writing insurance-age enumerators in logical order,
Greg Chicares <=