예제 #1
0
    def test_new_variation(self):
        builder = IntentDefBuilder()
        builder.identifier = "id"
        intent = builder.create_concrete()
        assert "var" not in intent

        ast = AST.get_or_create()
        ast.add_intent(intent)

        builder.variation = "var"
        same_intent = builder.create_concrete()
        assert same_intent == intent
예제 #2
0
    def test_create_concrete(self):
        builder = IntentDefBuilder()
        builder.identifier = "id"
        builder.randgen_name = "name"
        builder.nb_training_ex = 100

        with pytest.raises(ValueError):
            builder.create_concrete()
        builder.randgen = True

        modifiers = builder._build_modifiers_repr()
        assert isinstance(modifiers, ModifiersRepresentation)
        assert not modifiers.casegen
        assert modifiers.randgen
        assert modifiers.randgen.name == "name"
        assert modifiers.randgen.percentage == 50
        assert not modifiers.randgen.opposite

        intent = builder.create_concrete()
        assert isinstance(intent, IntentDefinition)
        assert not intent._leading_space
        assert intent._name == "id"
        assert intent._nb_training_ex_asked == 100
        assert intent._nb_testing_ex_asked is None