e.madura-rules-tests.3.3.5.source-code.Customer.rul Maven / Gradle / Ivy
/*******************************************************************************
* Copyright (c)2011 Prometheus Consulting
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*******************************************************************************/
formula: Customer "Count Items in list"
{
invoiceCount = count(invoices);
}
rule: Customer "isnotknown"
{
if (isNotKnown(amount))
{
oneInvoice.amount = amount;
}
}
constraint: Customer "check the count: {0}" [oneInvoice.amount]
{
logicalNot(invoiceCount > 2L);
}
rule: Customer "Determine customerType from name"
{
if (name == "aaaab")
{
customerType = "a";
}
}
rule: Customer "Determine business from customerType"
{
if (customerType == "a")
{
business = IndustryType.AG;
}
}
rule: Customer "Determine business from customerType B"
{
if (customerType == "b")
{
business = IndustryType.FISH;
}
}
rule: Customer "Determine customerType B from name"
{
if (name == "aaaaab")
{
customerType = "b";
testBoolean = true;
amount = combine(5,7);
}
}
rule: Customer "set customerType to read-only, activate and required"
{
if (name == "aaaab")
{
readonly(customerType);
activate(customerType);
require(customerType);
exclude(customerType,"c");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy