kopia lustrzana https://github.com/NanoVNA-Saver/nanovna-saver
Updated test cases
rodzic
9e09f8ec9f
commit
39a1a8d18a
|
@ -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)
|
||||
|
|
|
@ -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",
|
||||
|
|
Ładowanie…
Reference in New Issue