Eclipse Scout Neon unit test of execChangedMasterValue -
i have 2 fields connected master-slave relationship :
public class slave extends abstractlistbox<string> { @override protected class<? extends ivaluefield> getconfiguredmasterfield() { return master.class; } @override protected void execchangedmastervalue(final object newmastervalue) { this.function() // -> here put debugging break point } } public class master extends abstractbooleanfield { @override protected void execchangedvalue() { super.execchangedvalue(); // -> break point 2 } } i write unit test relationship, inside unit test execchangedmastervalue never called.
my unit test looks :
@test public void test() { this.box.getmaster.setvalue(true) assert.assertfalse(... function slave ...) } unit tests failed, , if put breakpoints described above, debugger stops on second break point never on first one.
in "real" world, function called , works should.
is there reason execchangedmastervalue not called? behaviour of execchangedmastervalue different changedvalue()?
i cannot reproduce describing. took scout helloworld project (the 1 generated when create new project).
in helloworldform have added "slave" field in mainbox:
@order(2000) public class lengthfield extends abstractintegerfield { @override protected string getconfiguredlabel() { return texts.get("length"); } @override protected class<? extends ivaluefield<?>> getconfiguredmasterfield() { return messagefield.class; } @override protected void execchangedmastervalue(object newmastervalue) { if(newmastervalue instanceof string) { string s = (string) newmastervalue; setvalue(s.length()); } else { setvalue(0); } } } and in example unit test helloworldformtest, have added additional check testmessagecorrectlyimported():
/** * tests {@link messagefield} correctly filled after start. */ @test public void testmessagecorrectlyimported() { helloworldform frm = new helloworldform(); frm.start(); assert.assertequals("message field", message_value, frm.getmessagefield().getvalue()); assert.assertequals("length field", integer.valueof(message_value.length()) , frm.getlengthfield().getvalue()); frm.getmessagefield().setvalue("abcdef"); assert.assertequals("length field (after update)", integer.valueof("abcdef".length()), frm.getlengthfield().getvalue()); } everything works expected…
Comments
Post a Comment