Source code for stix2generator.test.test_object_generator_integer

import pytest

import stix2generator.exceptions


[docs]def test_integer_closed(object_generator, num_trials): for _ in range(num_trials): value = object_generator.generate_from_spec({ "type": "integer", "minimum": -1, "maximum": 1 }) assert -1 <= value <= 1
[docs]def test_integer_open(object_generator, num_trials): for _ in range(num_trials): value = object_generator.generate_from_spec({ "type": "integer", "exclusiveMinimum": -1, "exclusiveMaximum": 1 }) assert value == 0
[docs]def test_integer_half_open_lower(object_generator, num_trials): for _ in range(num_trials): value = object_generator.generate_from_spec({ "type": "integer", "exclusiveMinimum": -1, "maximum": 1 }) assert -1 < value <= 1
[docs]def test_integer_half_open_upper(object_generator, num_trials): for _ in range(num_trials): value = object_generator.generate_from_spec({ "type": "integer", "minimum": -1, "exclusiveMaximum": 1 }) assert -1 <= value < 1
[docs]def test_integer_float_bounds(object_generator, num_trials): for _ in range(num_trials): value = object_generator.generate_from_spec({ "type": "integer", "minimum": -1.5, "maximum": 1.5 }) assert -1 <= value <= 1 assert isinstance(value, int)
[docs]def test_integer_bounds_single_int(object_generator, num_trials): for _ in range(num_trials): value = object_generator.generate_from_spec({ "type": "integer", "minimum": 1, "maximum": 1 }) assert value == 1
[docs]def test_integer_float_bounds_single_int(object_generator, num_trials): for _ in range(num_trials): value = object_generator.generate_from_spec({ "type": "integer", "minimum": 0.5, "maximum": 1.5 }) assert value == 1 assert isinstance(value, int)
[docs]def test_integer_empty_interval(object_generator): with pytest.raises(stix2generator.exceptions.ObjectGenerationError): object_generator.generate_from_spec({ "type": "integer", "exclusiveMinimum": 1, "exclusiveMaximum": 1 })
[docs]def test_integer_empty_interval_float_bounds(object_generator): with pytest.raises(stix2generator.exceptions.ObjectGenerationError): object_generator.generate_from_spec({ "type": "integer", "minimum": 1.1, "maximum": 1.9 })
[docs]def test_integer_very_large(object_generator, num_trials): for _ in range(num_trials): value = object_generator.generate_from_spec({ "type": "integer", "minimum": 10**9999, "maximum": 10**10000 }) assert 10**9999 <= value <= 10**10000
[docs]def test_integer_inverted_bounds(object_generator): with pytest.raises(stix2generator.exceptions.ObjectGenerationError): object_generator.generate_from_spec({ "type": "integer", "minimum": 1, "maximum": -1 })