1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.jxpath.ri.model.dynabeans;
19
20 import static org.junit.jupiter.api.Assertions.assertThrows;
21
22 import org.apache.commons.beanutils.LazyDynaBean;
23 import org.apache.commons.jxpath.AbstractJXPathTest;
24 import org.apache.commons.jxpath.JXPathContext;
25 import org.apache.commons.jxpath.JXPathNotFoundException;
26 import org.apache.commons.jxpath.ri.JXPathContextReferenceImpl;
27 import org.junit.jupiter.api.Test;
28
29
30
31 public class LazyDynaBeanTest extends AbstractJXPathTest {
32
33 @Test
34 public void testLazyProperty() throws JXPathNotFoundException {
35 final LazyDynaBean bean = new LazyDynaBean();
36 final JXPathContext context = JXPathContext.newContext(bean);
37 context.getValue("nosuch");
38 }
39
40 @Test
41 public void testStrictLazyDynaBeanPropertyFactory() {
42 final StrictLazyDynaBeanPointerFactory factory = new StrictLazyDynaBeanPointerFactory();
43 JXPathContextReferenceImpl.addNodePointerFactory(factory);
44 assertThrows(JXPathNotFoundException.class, this::testLazyProperty);
45 while (JXPathContextReferenceImpl.removeNodePointerFactory(factory)) {
46
47 }
48 }
49 }