Updated test cases

pull/108/head
Holger Mueller 2019-11-24 18:12:51 +01:00
rodzic 9e09f8ec9f
commit 39a1a8d18a
2 zmienionych plików z 38 dodań i 46 usunięć

Wyświetl plik

@ -28,8 +28,6 @@ class TestCases(unittest.TestCase):
# simple well-formed integers with no trailing zeros. Most importantly
# there is no loss of accuracy in the result. Returned values are not
# truncated if result would lose meaningful data.
'''
Original Behavior:
self.assertEqual(rft.formatSweepFrequency(1), '1Hz')
self.assertEqual(rft.formatSweepFrequency(12), '12Hz')
self.assertEqual(rft.formatSweepFrequency(123), '123Hz')
@ -39,49 +37,36 @@ class TestCases(unittest.TestCase):
self.assertEqual(rft.formatSweepFrequency(1234567), '1.234567MHz')
self.assertEqual(rft.formatSweepFrequency(12345678), '12.345678MHz')
self.assertEqual(rft.formatSweepFrequency(123456789), '123.456789MHz')
'''
# New Behavior: results in loss of accuracy again.
self.assertEqual(rft.formatSweepFrequency(1), '1.0000Hz')
self.assertEqual(rft.formatSweepFrequency(12), '12.000Hz')
self.assertEqual(rft.formatSweepFrequency(123), '123.00Hz')
self.assertEqual(rft.formatSweepFrequency(1234), '1.2340kHz')
self.assertEqual(rft.formatSweepFrequency(12345), '12.345kHz')
self.assertEqual(rft.formatSweepFrequency(123456), '123.46kHz')
self.assertEqual(rft.formatSweepFrequency(1234567), '1.2346MHz')
self.assertEqual(rft.formatSweepFrequency(12345678), '12.346MHz')
self.assertEqual(rft.formatSweepFrequency(123456789), '123.46MHz')
'''
def test_defaultMinDigits(self):
# simple integers with trailing zeros.
# DEFAULT behavior retains 2 digits after the period, mindigits=2.
self.assertEqual(rft.formatSweepFrequency(1000), '1.00kHz')
self.assertEqual(rft.formatSweepFrequency(10000), '10.00kHz')
self.assertEqual(rft.formatSweepFrequency(100000), '100.00kHz')
self.assertEqual(rft.formatSweepFrequency(1000000), '1.00MHz')
def test_nonDefaultMinDigits(self):
# simple integers with trailing zeros. setting mindigit value to something
# other than default, where trailing zeros >= mindigits, the number of
# zeros shown is equal to mindigits value.
self.assertEqual(rft.formatSweepFrequency(1000000, mindigits=0), '1MHz')
self.assertEqual(rft.formatSweepFrequency(1000000, mindigits=1), '1.0MHz')
self.assertEqual(rft.formatSweepFrequency(1000000, mindigits=3), '1.000MHz')
self.assertEqual(rft.formatSweepFrequency(10000000, mindigits=4), '10.0000MHz')
self.assertEqual(rft.formatSweepFrequency(100000000, mindigits=5), '100.00000MHz')
self.assertEqual(rft.formatSweepFrequency(1000000000, mindigits=6), '1.000000GHz')
# where trailing zeros < mindigits, only available zeros are shown, if the
# result includes no decimal places (i.e. Hz values).
self.assertEqual(rft.formatSweepFrequency(1, mindigits=4), '1Hz')
self.assertEqual(rft.formatSweepFrequency(10, mindigits=4), '10Hz')
self.assertEqual(rft.formatSweepFrequency(100, mindigits=4), '100Hz')
# but where a decimal exists, and mindigits > number of available zeroes,
# this results in extra zeroes being padded into result, even into sub-Hz
# resolution. This is not useful for this application.
# TODO: Consider post-processing result for maxdigits based on SI unit.
self.assertEqual(rft.formatSweepFrequency(1000, mindigits=5), '1.00000kHz')
self.assertEqual(rft.formatSweepFrequency(1000, mindigits=10), '1.0000000000kHz')
'''
# def test_defaultMinDigits(self):
# # simple integers with trailing zeros.
# # DEFAULT behavior retains 2 digits after the period, mindigits=2.
# self.assertEqual(rft.formatSweepFrequency(1000), '1.00kHz')
# self.assertEqual(rft.formatSweepFrequency(10000), '10.00kHz')
# self.assertEqual(rft.formatSweepFrequency(100000), '100.00kHz')
# self.assertEqual(rft.formatSweepFrequency(1000000), '1.00MHz')
# def test_nonDefaultMinDigits(self):
# # simple integers with trailing zeros. setting mindigit value to something
# # other than default, where trailing zeros >= mindigits, the number of
# # zeros shown is equal to mindigits value.
# self.assertEqual(rft.formatSweepFrequency(1000000, mindigits=0), '1MHz')
# self.assertEqual(rft.formatSweepFrequency(1000000, mindigits=1), '1.0MHz')
# self.assertEqual(rft.formatSweepFrequency(1000000, mindigits=3), '1.000MHz')
# self.assertEqual(rft.formatSweepFrequency(10000000, mindigits=4), '10.0000MHz')
# self.assertEqual(rft.formatSweepFrequency(100000000, mindigits=5), '100.00000MHz')
# self.assertEqual(rft.formatSweepFrequency(1000000000, mindigits=6), '1.000000GHz')
# # where trailing zeros < mindigits, only available zeros are shown, if the
# # result includes no decimal places (i.e. Hz values).
# self.assertEqual(rft.formatSweepFrequency(1, mindigits=4), '1Hz')
# self.assertEqual(rft.formatSweepFrequency(10, mindigits=4), '10Hz')
# self.assertEqual(rft.formatSweepFrequency(100, mindigits=4), '100Hz')
# # but where a decimal exists, and mindigits > number of available zeroes,
# # this results in extra zeroes being padded into result, even into sub-Hz
# # resolution. This is not useful for this application.
# # TODO: Consider post-processing result for maxdigits based on SI unit.
# self.assertEqual(rft.formatSweepFrequency(1000, mindigits=5), '1.00000kHz')
# self.assertEqual(rft.formatSweepFrequency(1000, mindigits=10), '1.0000000000kHz')
if __name__ == '__main__':
unittest.main(verbosity=2)

Wyświetl plik

@ -15,6 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
import unittest
import logging
# Import targets to be tested
from NanoVNASaver.Touchstone import Options, Touchstone
@ -74,8 +75,14 @@ class TestTouchstoneTouchstone(unittest.TestCase):
def test_load_scikit(self):
ts = Touchstone("./test/data/scikit_unordered.s2p")
ts.load()
print(len(ts.s("12")))
with self.assertLogs(level=logging.WARNING) as cm:
ts.load()
self.assertEqual(cm.output, [
'WARNING:NanoVNASaver.Touchstone:Non integer resistance value: 50.0',
'WARNING:NanoVNASaver.Touchstone:Comment after header: !freq ReS11 ImS11 ReS21 ImS21 ReS12 ImS12 ReS22 ImS22',
'WARNING:NanoVNASaver.Touchstone:Frequency not ascending: 15000000.0 0.849810063 -0.4147357 -0.000306106 0.0041482 0.0 0.0 0.0 0.0',
'WARNING:NanoVNASaver.Touchstone:Reordering data',
])
self.assertEqual(str(ts.opts), "# HZ S RI R 50")
self.assertEqual(len(ts.s11data), 101)
self.assertIn("!freq ReS11 ImS11 ReS21 ImS21 ReS12 ImS12 ReS22 ImS22",