]> git.stg.codes - stg.git/blobdiff - tests/test_tariff.cpp
Ticket 37. The stgTime argument added in TariffChangeIsAllowed()
[stg.git] / tests / test_tariff.cpp
index bc18612d58cf265011ec1b939681da03eff6b7f0..188aee8a1802cdad240568d766ab392ca783e7a5 100644 (file)
@@ -352,7 +352,7 @@ namespace tut
         set_test_name("Check changePolicy - ALLOW");
 
         TARIFF_DATA td("test");
-        td.tariffConf.changePolicy = TARIFF::CHANGE_POLICY ALLOW;
+        td.tariffConf.changePolicy = TARIFF::ALLOW;
         td.tariffConf.fee = 100;
         TARIFF_IMPL tariff(td);
 
@@ -362,7 +362,7 @@ namespace tut
         ensure_equals("Allow cheaper", tariff.TariffChangeIsAllowed(cheaper).empty(), true);
 
         td.tariffConf.fee = 100;
-        TARIFF_IMPL equals(td);
+        TARIFF_IMPL equal(td);
 
         ensure_equals("Allow equal", tariff.TariffChangeIsAllowed(equal).empty(), true);
 
@@ -371,4 +371,85 @@ namespace tut
 
         ensure_equals("Allow expensive", tariff.TariffChangeIsAllowed(expensive).empty(), true);
     }
+
+    template<>
+    template<>
+    void testobject::test<8>()
+    {
+        set_test_name("Check changePolicy - TO_CHEAP");
+
+        TARIFF_DATA td("test");
+        td.tariffConf.changePolicy = TARIFF::TO_CHEAP;
+        td.tariffConf.fee = 100;
+        TARIFF_IMPL tariff(td);
+
+        td.tariffConf.fee = 50;
+        TARIFF_IMPL cheaper(td);
+
+        ensure_equals("Allow cheaper", tariff.TariffChangeIsAllowed(cheaper).empty(), true);
+
+        td.tariffConf.fee = 100;
+        TARIFF_IMPL equal(td);
+
+        ensure_equals("Prohibit equal", tariff.TariffChangeIsAllowed(equal).empty(), false);
+
+        td.tariffConf.fee = 150;
+        TARIFF_IMPL expensive(td);
+
+        ensure_equals("Prohibit expensive", tariff.TariffChangeIsAllowed(expensive).empty(), false);
+    }
+
+    template<>
+    template<>
+    void testobject::test<9>()
+    {
+        set_test_name("Check changePolicy - TO_EXPENSIVE");
+
+        TARIFF_DATA td("test");
+        td.tariffConf.changePolicy = TARIFF::TO_EXPENSIVE;
+        td.tariffConf.fee = 100;
+        TARIFF_IMPL tariff(td);
+
+        td.tariffConf.fee = 50;
+        TARIFF_IMPL cheaper(td);
+
+        ensure_equals("Prohibit cheaper", tariff.TariffChangeIsAllowed(cheaper).empty(), false);
+
+        td.tariffConf.fee = 100;
+        TARIFF_IMPL equal(td);
+
+        ensure_equals("Allow equal", tariff.TariffChangeIsAllowed(equal).empty(), true);
+
+        td.tariffConf.fee = 150;
+        TARIFF_IMPL expensive(td);
+
+        ensure_equals("Allow expensive", tariff.TariffChangeIsAllowed(expensive).empty(), true);
+    }
+
+    template<>
+    template<>
+    void testobject::test<10>()
+    {
+        set_test_name("Check changePolicy - DENY");
+
+        TARIFF_DATA td("test");
+        td.tariffConf.changePolicy = TARIFF::DENY;
+        td.tariffConf.fee = 100;
+        TARIFF_IMPL tariff(td);
+
+        td.tariffConf.fee = 50;
+        TARIFF_IMPL cheaper(td);
+
+        ensure_equals("Prohibit cheaper", tariff.TariffChangeIsAllowed(cheaper).empty(), false);
+
+        td.tariffConf.fee = 100;
+        TARIFF_IMPL equal(td);
+
+        ensure_equals("Prohibit equal", tariff.TariffChangeIsAllowed(equal).empty(), false);
+
+        td.tariffConf.fee = 150;
+        TARIFF_IMPL expensive(td);
+
+        ensure_equals("Prohibit expensive", tariff.TariffChangeIsAllowed(expensive).empty(), false);
+    }
 }