874b6f20c2
Основа — Horizon (MIT). История апстрима не переносится: этот репозиторий ведёт свою.
23 lines
992 B
Python
23 lines
992 B
Python
import unittest
|
|
from tools import test_carving_geometry_parity as geometry
|
|
|
|
|
|
class CarvingGeometryCorpusTests(unittest.TestCase):
|
|
def test_shape_boundaries_ieee_values_and_output_failures(self):
|
|
fixtures = list(geometry.corpus())
|
|
self.assertEqual(fixtures, list(geometry.corpus()))
|
|
self.assertEqual(len(fixtures), 15)
|
|
shapes = [e for f in fixtures for e in f['ellipsoids']]
|
|
self.assertEqual(len(shapes), 690)
|
|
self.assertEqual({e['skip'] for e in shapes}, {0, 1, 2, 3})
|
|
self.assertEqual({e['fail'] for e in shapes}, {-1, 0, 1, 63})
|
|
self.assertIn(geometry.bits(float('nan')), {e['horizontal'] for e in shapes})
|
|
self.assertIn(geometry.bits(-0.), {e['vertical'] for e in shapes})
|
|
reach = list(geometry.reach_corpus())
|
|
self.assertEqual(reach, list(geometry.reach_corpus()))
|
|
self.assertTrue(any(q[4] == -2**31 and q[5] == 2**31 - 1 for q in reach))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|