Files

60 lines
2.7 KiB
Python

import os
import sys
import unittest
import torch
PROJECT_ROOT = os.path.realpath(os.path.join(os.path.dirname(__file__), "..", ".."))
MODULE_ROOT = os.path.join(PROJECT_ROOT, "modules")
sys.path.append(MODULE_ROOT)
from pytorch_wrapper.ptd_binomial import PtdBinomial
class TestPtdBinomial(unittest.TestCase):
def setUp(self):
"""Set up test instance."""
self.node = PtdBinomial()
def test_binomial_distribution_probs1(self):
"""Test instantiation of binomial distribution."""
dist = self.node.f("10", "0", "")[0] # n = 10, p=0
self.assertTrue(isinstance(dist, torch.distributions.binomial.Binomial), "Probability distribution is not Binomial")
def test_binomial_distribution_probs2(self):
"""Test instantiation of binomial distribution."""
dist = self.node.f("10", "0.0", "")[0] # n = 10, p=0
self.assertTrue(isinstance(dist, torch.distributions.binomial.Binomial), "Probability distribution is not Binomial")
def test_binomial_distribution_probs3(self):
"""Test instantiation of binomial distribution."""
dist = self.node.f("10", "0.5", "")[0] # n = 10, p=0.5
self.assertTrue(isinstance(dist, torch.distributions.binomial.Binomial), "Probability distribution is not Binomial")
def test_binomial_distribution_probs4(self):
"""Test instantiation of binomial distribution."""
dist = self.node.f("10", "1", "")[0] # n = 10, p=1
self.assertTrue(isinstance(dist, torch.distributions.binomial.Binomial), "Probability distribution is not Binomial")
def test_binomial_distribution_probs5(self):
"""Test instantiation of binomial distribution."""
dist = self.node.f("10", "1.0", "")[0] # n = 10, p=1
self.assertTrue(isinstance(dist, torch.distributions.binomial.Binomial), "Probability distribution is not Binomial")
def test_binomial_distribution_logits1(self):
"""Test instantiation of binomial distribution."""
dist = self.node.f("10", "", "-40")[0]
self.assertTrue(isinstance(dist, torch.distributions.binomial.Binomial), "Probability distribution is not Binomial")
def test_binomial_distribution_logits2(self):
"""Test instantiation of binomial distribution."""
dist = self.node.f("10", "", "0")[0]
self.assertTrue(isinstance(dist, torch.distributions.binomial.Binomial), "Probability distribution is not Binomial")
def test_binomial_distribution_logits3(self):
"""Test instantiation of binomial distribution."""
dist = self.node.f("10", "", "40")[0]
self.assertTrue(isinstance(dist, torch.distributions.binomial.Binomial), "Probability distribution is not Binomial")
if __name__ == "__main__":
unittest.main()