+        ensure_equals("Prohibit expensive", tariff.TariffChangeIsAllowed(expensive, 1461606400).empty(), false);
+    }
+
+    template<>
+    template<>
+    void testobject::test<11>()
+    {
+        set_test_name("Check changePolicyTimeout < current time");
+
+        STG::TariffData td("test");
+        td.tariffConf.changePolicyTimeout = 1451606400;
+        td.tariffConf.changePolicy = STG::Tariff::TO_EXPENSIVE;
+        td.tariffConf.fee = 100;
+        STG::TariffImpl tariff(td);
+
+        td.tariffConf.fee = 50;
+        STG::TariffImpl cheaper(td);
+
+        ensure_equals("Allow cheaper", tariff.TariffChangeIsAllowed(cheaper, 1461606400).empty(), true);
+    }
+
+    template<>
+    template<>
+    void testobject::test<12>()
+    {
+        set_test_name("Check changePolicyTimeout > current time");
+
+        STG::TariffData td("test");
+        td.tariffConf.changePolicyTimeout = 1483228800;
+        td.tariffConf.changePolicy = STG::Tariff::TO_EXPENSIVE;
+        td.tariffConf.fee = 100;
+        STG::TariffImpl tariff(td);
+
+        td.tariffConf.fee = 50;
+        STG::TariffImpl cheaper(td);
+
+        ensure_equals("Prohibit cheaper", tariff.TariffChangeIsAllowed(cheaper, 1461606400).empty(), false);
+    }
+
+    template<>
+    template<>
+    void testobject::test<13>()
+    {
+        set_test_name("Check changePolicyTimeout = 0");
+
+        STG::TariffData td("test");
+        td.tariffConf.changePolicyTimeout = 0;
+        td.tariffConf.changePolicy = STG::Tariff::TO_EXPENSIVE;
+        td.tariffConf.fee = 100;
+        STG::TariffImpl tariff(td);
+
+        td.tariffConf.fee = 50;
+        STG::TariffImpl cheaper(td);
+
+        ensure_equals("Prohibit cheaper", tariff.TariffChangeIsAllowed(cheaper, 1461606400).empty(), false);