Skip to content

Commit

Permalink
t_robust_gp_tools.
Browse files Browse the repository at this point in the history
  • Loading branch information
1ozturkbe committed Aug 30, 2019
1 parent 8ec2537 commit d3dfbaa
Showing 1 changed file with 38 additions and 37 deletions.
75 changes: 38 additions & 37 deletions robust/testing/t_robust_gp_tools.py
Original file line number Diff line number Diff line change
@@ -1,47 +1,48 @@
from builtins import range
from gpkit import Variable, Monomial
from gpkit import Variable
import numpy as np

from robust.robust_gp_tools import RobustGPTools


def test_check_if_no_data():
# Passes...
for _ in range(20):
number_of_monomials = int(30*np.random.random())+1
number_of_gp_variables = int(np.random.rand()*15) + 1
number_of_uncertain_variables = int(np.random.rand()*4) + 1
vector_to_choose_from = [0, 0, 0, 0, 0, 0, 0, 0, 1, -1]
import unittest
from gpkit.tests.helpers import run_tests

m = number_of_monomials*[1]
p_uncertain_vars = []
data_monomials = []
from robust.robust_gp_tools import RobustGPTools

for j in range(number_of_monomials):
for i in range(number_of_gp_variables):
x = Variable('x_%s' % i)
m[j] *= x**(np.random.rand()*10 - 5)
class TestRobustGPTools(unittest.TestCase):
def test_check_if_no_data(self):
for _ in range(20):
number_of_monomials = int(30*np.random.random())+1
number_of_gp_variables = int(np.random.rand()*15) + 1
number_of_uncertain_variables = int(np.random.rand()*4) + 1
vector_to_choose_from = [0, 0, 0, 0, 0, 0, 0, 0, 1, -1]

for i in range(number_of_uncertain_variables):
u = Variable('u_%s' % i, np.random.random(), pr=100*np.random.random())
p_uncertain_vars.append(u)
neg_pos_neutral_powers = [vector_to_choose_from[int(10*np.random.random())] for _ in range(number_of_monomials)]
m = number_of_monomials*[1]
p_uncertain_vars = []
data_monomials = []

for j in range(number_of_monomials):
m[j] *= u**(np.random.rand()*5*neg_pos_neutral_powers[j])
if neg_pos_neutral_powers[j] != 0:
data_monomials.append(j)

for i in range(number_of_monomials):
if i in data_monomials:
# noinspection PyUnresolvedReferences
assert (not RobustGPTools.check_if_no_data(p_uncertain_vars, m[i].exps[0]))
else:
# noinspection PyUnresolvedReferences
assert (RobustGPTools.check_if_no_data(p_uncertain_vars, m[i].exps[0]))

def test():
test_check_if_no_data()
for i in range(number_of_gp_variables):
x = Variable('x_%s' % i)
m[j] *= x**(np.random.rand()*10 - 5)

for i in range(number_of_uncertain_variables):
u = Variable('u_%s' % i, np.random.random(), pr=100*np.random.random())
p_uncertain_vars.append(u)
neg_pos_neutral_powers = [vector_to_choose_from[int(10*np.random.random())] for _ in range(number_of_monomials)]

for j in range(number_of_monomials):
m[j] *= u**(np.random.rand()*5*neg_pos_neutral_powers[j])
if neg_pos_neutral_powers[j] != 0:
data_monomials.append(j)

for i in range(number_of_monomials):
if i in data_monomials:
# noinspection PyUnresolvedReferences
self.assertFalse(RobustGPTools.check_if_no_data(p_uncertain_vars, m[i].exps[0]))
else:
# noinspection PyUnresolvedReferences
self.assertTrue(RobustGPTools.check_if_no_data(p_uncertain_vars, m[i].exps[0]))

TESTS = [TestRobustGPTools]

if __name__ == "__main__":
test()
run_tests(TESTS)

0 comments on commit d3dfbaa

Please sign in to comment.