[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [5692] Augment unit tests; demonstrate a latent defect
From: |
Greg Chicares |
Subject: |
[lmi-commits] [5692] Augment unit tests; demonstrate a latent defect |
Date: |
Wed, 17 Apr 2013 20:25:19 +0000 |
Revision: 5692
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5692
Author: chicares
Date: 2013-04-17 20:25:17 +0000 (Wed, 17 Apr 2013)
Log Message:
-----------
Augment unit tests; demonstrate a latent defect
Modified Paths:
--------------
lmi/trunk/ChangeLog
lmi/trunk/premium_tax_test.cpp
Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2013-04-17 13:13:18 UTC (rev 5691)
+++ lmi/trunk/ChangeLog 2013-04-17 20:25:17 UTC (rev 5692)
@@ -32018,3 +32018,44 @@
premium_tax.hpp
Rearrange and improve documentation.
+20130416T1230Z <address@hidden> [544]
+
+ premium_tax.cpp
+Remove a duplicative test.
+
+20130416T1523Z <address@hidden> [544]
+
+ premium_tax.cpp
+ premium_tax.hpp
+Aggroup consistency tests.
+
+20130416T1726Z <address@hidden> [544]
+
+ mec_server.cpp
+ premium_tax.cpp
+ premium_tax.hpp
+Refactor, making a misbegotten free function a member.
+
+20130417T1015Z <address@hidden> [544]
+
+ premium_tax.cpp
+ premium_tax.hpp
+Refactor.
+
+20130417T1309Z <address@hidden> [544]
+
+ database.hpp
+Improve documentation.
+
+20130417T1313Z <address@hidden> [544]
+
+ dbdict.hpp
+ premium_tax.hpp
+ premium_tax_test.cpp
+Demonstrate and document a requirement that's not necessarily obvious.
+
+20130417T2025Z <address@hidden> [545]
+
+ premium_tax_test.cpp
+Augment unit tests; demonstrate a latent defect.
+
Modified: lmi/trunk/premium_tax_test.cpp
===================================================================
--- lmi/trunk/premium_tax_test.cpp 2013-04-17 13:13:18 UTC (rev 5691)
+++ lmi/trunk/premium_tax_test.cpp 2013-04-17 20:25:17 UTC (rev 5692)
@@ -73,33 +73,36 @@
{
// arguments: tax_state, domicile, amortize_premium_load, db, strata
premium_tax z(mce_s_CT, mce_s_CT, false, db, strata);
- BOOST_TEST_EQUAL(z.levy_rate (), 0.0175);
- BOOST_TEST_EQUAL(z.load_rate (), 0.0175);
- BOOST_TEST_EQUAL(z.least_load_rate(), 0.0175);
- BOOST_TEST_EQUAL(z.is_tiered (), false );
+ BOOST_TEST_EQUAL(z.levy_rate (), 0.0175);
+ BOOST_TEST_EQUAL(z.load_rate (), 0.0175);
+ BOOST_TEST_EQUAL(z.least_load_rate (), 0.0175);
+ BOOST_TEST_EQUAL(z.is_tiered (), false );
+ BOOST_TEST_EQUAL(z.calculate_load(1.0, strata), 0.0175);
}
// Retaliation.
{
premium_tax z(mce_s_CT, mce_s_MA, false, db, strata);
- BOOST_TEST_EQUAL(z.levy_rate (), 0.0200);
- BOOST_TEST_EQUAL(z.load_rate (), 0.0200);
- BOOST_TEST_EQUAL(z.least_load_rate(), 0.0200);
- BOOST_TEST_EQUAL(z.is_tiered (), false );
+ BOOST_TEST_EQUAL(z.levy_rate (), 0.0200);
+ BOOST_TEST_EQUAL(z.load_rate (), 0.0200);
+ BOOST_TEST_EQUAL(z.least_load_rate (), 0.0200);
+ BOOST_TEST_EQUAL(z.is_tiered (), false );
+ BOOST_TEST_EQUAL(z.calculate_load(1.0, strata), 0.0200);
}
// Tiered.
{
premium_tax z(mce_s_AK, mce_s_CT, false, db, strata);
- BOOST_TEST_EQUAL(z.levy_rate (), 0.0000);
- BOOST_TEST_EQUAL(z.load_rate (), 0.0000);
- BOOST_TEST_EQUAL(z.least_load_rate(), 0.0010);
- BOOST_TEST_EQUAL(z.is_tiered (), true );
+ BOOST_TEST_EQUAL(z.levy_rate (), 0.0000);
+ BOOST_TEST_EQUAL(z.load_rate (), 0.0000);
+ BOOST_TEST_EQUAL(z.least_load_rate (), 0.0010);
+ BOOST_TEST_EQUAL(z.is_tiered (), true );
+ BOOST_TEST_EQUAL(z.calculate_load(1.0, strata), 0.0270);
}
// Tiered in premium-tax state, but load uniformly zero.
- // A uniform but nonzero load elicits a runtime error, because
- // the tiered load is not zero.
+ // A uniform but nonzero load would elicit a runtime error,
+ // because the tiered load is not zero.
{
database_entity const original =
DBDictionary::instance().datum("PremTaxLoad");
database_entity const scalar(DB_PremTaxLoad, 0.0000);
@@ -107,10 +110,15 @@
DBDictionary::instance().datum("PremTaxLoad") = scalar;
premium_tax z(mce_s_AK, mce_s_CT, false, db, strata);
- BOOST_TEST_EQUAL(z.levy_rate (), 0.0000);
- BOOST_TEST_EQUAL(z.load_rate (), 0.0000);
- BOOST_TEST_EQUAL(z.least_load_rate(), 0.0000);
- BOOST_TEST_EQUAL(z.is_tiered (), true );
+ BOOST_TEST_EQUAL(z.levy_rate (), 0.0000);
+ BOOST_TEST_EQUAL(z.load_rate (), 0.0000);
+ BOOST_TEST_EQUAL(z.least_load_rate (), 0.0000);
+ BOOST_TEST_EQUAL(z.is_tiered (), true );
+ // TODO ?? This is a pitfall--at least it should be diagnosed.
+ // The tiered load is 2.7% on the first dollar, but the '0.027'
+ // answer is surprising and inconsistent with the behavior of
+ // least_load_rate() above.
+// BOOST_TEST_EQUAL(z.calculate_load(1.0, strata), 0.0000);
DBDictionary::instance().datum("PremTaxLoad") = original;
}
@@ -119,10 +127,11 @@
{
premium_tax z(mce_s_CT, mce_s_MA, true , db, strata);
// TODO ?? Don't the suppressed tests indicate a defect?
-// BOOST_TEST_EQUAL(z.levy_rate (), 0.0000);
-// BOOST_TEST_EQUAL(z.load_rate (), 0.0000);
- BOOST_TEST_EQUAL(z.least_load_rate(), 0.0000);
- BOOST_TEST_EQUAL(z.is_tiered (), false );
+// BOOST_TEST_EQUAL(z.levy_rate (), 0.0000);
+// BOOST_TEST_EQUAL(z.load_rate (), 0.0000);
+ BOOST_TEST_EQUAL(z.least_load_rate (), 0.0000);
+ BOOST_TEST_EQUAL(z.is_tiered (), false );
+// BOOST_TEST_EQUAL(z.calculate_load(1.0, strata), 0.0000);
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [5692] Augment unit tests; demonstrate a latent defect,
Greg Chicares <=