Esempio n. 1
0
 def test_str(self):
     str_repr = str(Stats.reset_instance())
     assert "Statistics:" in str_repr
     assert "Parsed files: 0" in str_repr
     assert "Declared units: 0 (0 variations)" in str_repr
     assert "Declared intents: 0 (0 variations)" in str_repr
     assert "Declared slots: 0 (0 variations)" in str_repr
     assert "Declared aliases: 0 (0 variations)" in str_repr
     assert "Parsed rules: 0" in str_repr
Esempio n. 2
0
    def test_new_rules(self):
        instance = Stats.reset_instance()
        assert instance.nb_rules_parsed == 0

        instance.new_rules_parsed(2)
        assert instance.nb_rules_parsed == 2
        
        instance.new_rules_parsed(5)
        assert instance.nb_rules_parsed == 7
Esempio n. 3
0
    def test_new_rule(self):
        instance = Stats.reset_instance()
        assert instance.nb_rules_parsed == 0

        instance.new_rule_parsed()
        assert instance.nb_rules_parsed == 1
        
        instance.new_rule_parsed()
        assert instance.nb_rules_parsed == 2
Esempio n. 4
0
    def test_remove_variations(self):
        instance = Stats.reset_instance()
        assert instance.nb_variation_units == 0
        assert instance.nb_variation_intents == 0
        assert instance.nb_variation_slots == 0
        assert instance.nb_variation_aliases == 0

        for _ in range(3):
            instance.new_variation_unit_declared(UnitType.alias)
        instance.several_variation_units_removed(UnitType.alias, 3)
        assert instance.nb_variation_units == 0
        assert instance.nb_variation_aliases == 0
Esempio n. 5
0
    def test_remove_rules(self):
        instance = Stats.reset_instance()
        instance.new_rules_parsed(5)
        assert instance.nb_rules_parsed == 5

        instance.one_rule_removed()
        assert instance.nb_rules_parsed == 4

        instance.several_rules_removed(4)
        assert instance.nb_rules_parsed == 0

        with pytest.raises(InvalidStatsState):
            instance.one_rule_removed()
        with pytest.raises(InvalidStatsState):
            instance.several_rules_removed(2)
Esempio n. 6
0
    def test_remove_variation(self):
        instance = Stats.reset_instance()
        assert instance.nb_variation_units == 0
        assert instance.nb_variation_intents == 0
        assert instance.nb_variation_slots == 0
        assert instance.nb_variation_aliases == 0

        instance.new_variation_unit_declared(UnitType.alias)
        instance.one_variation_unit_removed(UnitType.alias)
        assert instance.nb_variation_units == 0
        assert instance.nb_variation_aliases == 0

        instance.new_variation_unit_declared(UnitType.slot)
        instance.one_variation_unit_removed(UnitType.slot)
        assert instance.nb_variation_units == 0
        assert instance.nb_variation_slots == 0

        instance.new_variation_unit_declared(UnitType.intent)
        instance.one_variation_unit_removed(UnitType.intent)
        assert instance.nb_variation_units == 0
        assert instance.nb_variation_intents == 0

        with pytest.raises(TypeError):
            instance.one_variation_unit_removed("invalid")
        
        with pytest.raises(InvalidStatsState):
            instance.one_variation_unit_removed(UnitType.alias)
        with pytest.raises(InvalidStatsState):
            instance.one_variation_unit_removed(UnitType.slot)
        with pytest.raises(InvalidStatsState):
            instance.one_variation_unit_removed(UnitType.intent)
        
        instance.new_variation_unit_declared(UnitType.alias)
        instance.nb_variation_aliases = 0
        with pytest.raises(InvalidStatsState):
            instance.one_variation_unit_removed(UnitType.alias)

        instance.new_variation_unit_declared(UnitType.slot)
        instance.nb_variation_slots = 0
        with pytest.raises(InvalidStatsState):
            instance.one_variation_unit_removed(UnitType.slot)
            
        instance.new_variation_unit_declared(UnitType.intent)
        instance.nb_variation_intents = 0
        with pytest.raises(InvalidStatsState):
            instance.one_variation_unit_removed(UnitType.intent)
Esempio n. 7
0
    def test_new_variations(self):
        instance = Stats.reset_instance()
        assert instance.nb_variation_units == 0
        assert instance.nb_variation_intents == 0
        assert instance.nb_slots_declared == 0
        assert instance.nb_aliases_declared == 0

        instance.new_variation_unit_declared(UnitType.intent)
        assert instance.nb_variation_units == 1
        assert instance.nb_variation_intents == 1

        instance.new_variation_unit_declared(UnitType.slot)
        assert instance.nb_variation_units == 2
        assert instance.nb_variation_intents == 1

        instance.new_variation_unit_declared(UnitType.alias)
        assert instance.nb_variation_units == 3
        assert instance.nb_variation_aliases == 1

        with pytest.raises(TypeError):
            instance.new_variation_unit_declared("invalid")
Esempio n. 8
0
 def test_init(self):
     instance = Stats.reset_instance()
     assert hasattr(instance, "nb_input_files_parsed")
     assert instance.nb_input_files_parsed == 0
     assert hasattr(instance, "nb_units_declared")
     assert instance.nb_units_declared == 0
     assert hasattr(instance, "nb_intents_declared")
     assert instance.nb_intents_declared == 0
     assert hasattr(instance, "nb_slots_declared")
     assert instance.nb_slots_declared == 0
     assert hasattr(instance, "nb_aliases_declared")
     assert instance.nb_aliases_declared == 0
     assert hasattr(instance, "nb_variation_units")
     assert instance.nb_variation_units == 0
     assert hasattr(instance, "nb_variation_intents")
     assert instance.nb_variation_intents == 0
     assert hasattr(instance, "nb_variation_slots")
     assert instance.nb_variation_slots == 0
     assert hasattr(instance, "nb_variation_aliases")
     assert instance.nb_variation_aliases == 0
     assert hasattr(instance, "nb_rules_parsed")
     assert instance.nb_rules_parsed == 0
Esempio n. 9
0
 def reset_system(cls, *args, **kwargs):
     Stats.reset_instance()
     Deprecations.reset_instance()
     AST.reset_instance()
     InputFileManager.reset_instance(None)
     return cls.reset_instance(*args, **kwargs)
Esempio n. 10
0
 def test_singleton(self):
     first = Stats.get_or_create()
     second = Stats.get_or_create()
     assert first == second
     reset = Stats.reset_instance()
     assert first != reset