コード例 #1
0
    def test_default(self):
        # Specify accountant as arg
        acc1 = BudgetAccountant(1.5, 0.0)
        self.sample_model(accountant=acc1)
        self.assertEqual((1.0, 0.0), acc1.total())

        # Use default accountant without one being set
        self.sample_model()
        acc2 = BudgetAccountant.pop_default()
        self.assertIsNot(acc1, acc2)
        self.assertEqual(float("inf"), acc2.epsilon)
        self.assertEqual((1.0, 0.0), acc2.total())

        # Set accountant as default
        acc3 = BudgetAccountant(2.0, 0.0).set_default()
        self.sample_model(epsilon=1.5)
        self.assertEqual((1.5, 0), acc3.total())
        self.assertEqual(2.0, acc3.epsilon)
        self.assertIsNot(acc3, acc2)
        self.assertIsNot(acc3, acc1)

        # Check default is same as what we set it
        acc4 = BudgetAccountant.pop_default()
        self.assertIs(acc3, acc4)
        self.assertEqual((1.0, 0.0), acc2.total())

        # Run again in 2 different functions without setting a default
        self.sample_model()
        self.sample_model2()
        acc5 = BudgetAccountant.pop_default()
        self.assertIsNot(acc5, acc2)
        self.assertIsNot(acc5, acc3)
        self.assertEqual((2.0, 0), acc5.total())
コード例 #2
0
    def test_default_accountant(self):
        BudgetAccountant.pop_default()

        a = np.array([1, 2, 3, 4, 5])
        histogram(a, epsilon=1, bins=3, range=(0, 10), density=True)
        acc = BudgetAccountant.pop_default()
        self.assertEqual((1, 0), acc.total())

        histogram(a, epsilon=1, bins=3, range=(0, 10))
        acc2 = BudgetAccountant.pop_default()
        self.assertEqual((1, 0), acc.total())
        self.assertIsNot(acc, acc2)
コード例 #3
0
    def test_default_accountant(self):
        BudgetAccountant.pop_default()

        a = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]).T
        histogramdd(a, epsilon=1, bins=3, range=[(0, 10), (0, 10)], density=True)
        acc = BudgetAccountant.pop_default()
        self.assertEqual((1, 0), acc.total())
        self.assertEqual(acc.epsilon, float("inf"))
        self.assertEqual(acc.delta, 1.0)

        histogramdd(a, epsilon=1, bins=3, range=[(0, 10), (0, 10)])

        self.assertEqual((1, 0), acc.total())
コード例 #4
0
 def tearDown(self):
     BudgetAccountant.pop_default()
コード例 #5
0
    def test_pop_default(self):
        acc = BudgetAccountant().set_default()
        acc2 = BudgetAccountant.pop_default()

        self.assertIs(acc, acc2)