874b6f20c2
Основа — Horizon (MIT). История апстрима не переносится: этот репозиторий ведёт свою.
23 lines
1.1 KiB
Python
23 lines
1.1 KiB
Python
import json
|
|
import unittest
|
|
from tools import test_feature_graph_parity as graphs
|
|
|
|
|
|
class FeatureGraphCorpusTests(unittest.TestCase):
|
|
def test_composition_decoding_failure_and_shared_randomness(self):
|
|
definitions = list(graphs.definitions())
|
|
self.assertEqual(definitions, list(graphs.definitions()))
|
|
self.assertEqual({d['type'] for d in definitions}, {'no_op', 'overlay', 'sequence', 'random_boolean_selector', 'simple_random_selector', 'random_selector', 'weighted_random_selector'})
|
|
self.assertTrue(any(d.get('features') == [] for d in definitions))
|
|
fixtures = list(graphs.corpus())
|
|
self.assertEqual({f['legacy'] for f in fixtures}, {False, True})
|
|
self.assertEqual({f['fail'] for f in fixtures}, {-1, 0, 7})
|
|
self.assertEqual({f['reject'] for f in fixtures}, {0, 3})
|
|
self.assertTrue(any('placement' in f for f in fixtures))
|
|
self.assertTrue(any('-0.0' in f['definition'] for f in fixtures))
|
|
self.assertTrue(all(isinstance(json.loads(f['definition']), dict) for f in fixtures))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|