public void test_MessageExp_checkHasOperationOrSignal() { MessageExp m = factory.createMessageExp(); CallOperationAction coa = factory.createCallOperationAction(); coa.setOperation(fruit_ripen); SendSignalAction ssa = factory.createSendSignalAction(); ssa.setSignal(stem); m.setCalledOperation(coa); assertOK(m, ExpressionsValidator.MESSAGE_EXP__HAS_OPERATION_OR_SIGNAL); m.setSentSignal(ssa); assertProblem(m, ExpressionsValidator.MESSAGE_EXP__HAS_OPERATION_OR_SIGNAL); m.setCalledOperation(null); assertOK(m, ExpressionsValidator.MESSAGE_EXP__HAS_OPERATION_OR_SIGNAL); m.setSentSignal(null); assertProblem(m, ExpressionsValidator.MESSAGE_EXP__HAS_OPERATION_OR_SIGNAL); }
public void test_MessageExp_checkSignalArguments() { expectModified = true; MessagingFruitEnvironmentFactory envFactory = new MessagesTest.MessagingFruitEnvironmentFactory(this); ocl.dispose(); ocl = OCL.newInstance(envFactory); helper = ocl.createOCLHelper(); ((InitEnvironment) ocl.getEnvironment()).init(); MessageExp m = factory.createMessageExp(); SendSignalAction action = factory.createSendSignalAction(); m.setSentSignal(action); EClass drop = (EClass) fruitPackage.getEClassifier("Drop"); assertNotNull(drop); action.setSignal(drop); UnspecifiedValueExp arg = factory.createUnspecifiedValueExp(); arg.setType(getOCLStandardLibrary().getInteger()); m.getArgument().add(arg); arg = factory.createUnspecifiedValueExp(); arg.setType(getOCLStandardLibrary().getBoolean()); m.getArgument().add(arg); assertProblem(m, ExpressionsValidator.MESSAGE_EXP__SIGNAL_ARGUMENTS); arg.setType(stem); assertOK(m, ExpressionsValidator.MESSAGE_EXP__SIGNAL_ARGUMENTS); // wrong number of arguments m.getArgument().remove(arg); assertProblem(m, ExpressionsValidator.MESSAGE_EXP__SIGNAL_ARGUMENTS); }