Skip to content

Commit

Permalink
coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
bqpd committed Jul 15, 2020
1 parent ee00e1a commit 419e67d
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 5 deletions.
5 changes: 3 additions & 2 deletions gpkit/nomials/array.py
Original file line number Diff line number Diff line change
Expand Up @@ -177,9 +177,10 @@ def prod(self, *args, **kwargs): # pylint: disable=arguments-differ
c, exp = 1.0, HashVector()
hmap = NomialMap()
for m in self.flat: # pylint:disable=not-an-iterable
if not hasattr(m, "hmap") and len(m.hmap) == 1:
try:
(mexp, mc), = m.hmap.items()
except (AttributeError, ValueError):
return np.ndarray.prod(self, *args, **kwargs)
(mexp, mc), = m.hmap.items()
c *= mc
exp += mexp
if m.units:
Expand Down
2 changes: 1 addition & 1 deletion gpkit/small_classes.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ def write(self, writ):
if writ != "\n":
writ = writ.rstrip("\n")
self.append(str(writ))
if self.verbosity > 0:
if self.verbosity > 0: # pragma: no cover
self.output.write(writ)


Expand Down
1 change: 1 addition & 0 deletions gpkit/tests/t_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ def test_mdd_example(self):
self.assertEqual(gp3.A, CootMatrix(row=[0, 1, 2],
col=[0, 0, 0],
data=[-1, 1, -1]))
self.assertTrue((gp3.A.todense() == np.matrix([-1, 1, -1]).T).all())
self.assertAlmostEqual(sol1(Mdd), sol2(Mdd))
self.assertAlmostEqual(sol1(Mdd), sol3(Mdd))
self.assertAlmostEqual(sol2(Mdd), sol3(Mdd))
Expand Down
9 changes: 7 additions & 2 deletions gpkit/tests/t_nomial_array.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
"""Tests for NomialArray class"""
import unittest
import warnings as pywarnings
import numpy as np
from gpkit import Variable, Posynomial, NomialArray, VectorVariable, Monomial
from gpkit.constraints.set import ConstraintSet
from gpkit.exceptions import DimensionalityError
import gpkit


Expand Down Expand Up @@ -85,8 +87,11 @@ def test_units(self):
constraints = (c == 1*gpkit.units.m)
self.assertEqual(len(constraints), 5)
# test an array with inconsistent units
mismatch = NomialArray([1*gpkit.units.m, 1*gpkit.units.ft])
self.assertEqual(mismatch.sum().c, 1.3048*gpkit.ureg.m) # pylint:disable=no-member
with pywarnings.catch_warnings(): # skip the UnitStrippedWarning
pywarnings.simplefilter("ignore")
mismatch = NomialArray([1*gpkit.units.m, 1*gpkit.ureg.ft, 1.0])
self.assertRaises(DimensionalityError, mismatch.sum)
self.assertEqual(mismatch[:2].sum().c, 1.3048*gpkit.ureg.m) # pylint:disable=no-member
self.assertEqual(mismatch.prod().c, 1*gpkit.ureg.m*gpkit.ureg.ft) # pylint:disable=no-member

def test_sum(self):
Expand Down
3 changes: 3 additions & 0 deletions gpkit/tests/t_small.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ def test_mul_add(self):
a = HashVector(x=1, y=7)
b = HashVector()
c = HashVector(x=3, z=4)
# nonsense multiplication
with self.assertRaises(TypeError):
_ = a * set()
# multiplication and addition by scalars
r = a*0
self.assertEqual(r, HashVector(x=0, y=0))
Expand Down

0 comments on commit 419e67d

Please sign in to comment.