All tests in ModelTest are likely to need MockTechnology
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Fri, 19 Apr 2013 15:40:27 +0200
changeset 7e7718a31c6d2
parent 6 8f7eb5d6d47a
child 8 7aca06d79b78
All tests in ModelTest are likely to need MockTechnology
json/src/main/java/org/apidesign/html/json/impl/ContextAccessor.java
json/src/test/java/net/java/html/json/ModelTest.java
     1.1 --- a/json/src/main/java/org/apidesign/html/json/impl/ContextAccessor.java	Fri Apr 19 15:35:39 2013 +0200
     1.2 +++ b/json/src/main/java/org/apidesign/html/json/impl/ContextAccessor.java	Fri Apr 19 15:40:27 2013 +0200
     1.3 @@ -13,7 +13,7 @@
     1.4      private static ContextAccessor DEFAULT;
     1.5      static {
     1.6          // run initializers
     1.7 -        Context.class.getMethods();
     1.8 +        Context.EMPTY.getClass();
     1.9      }
    1.10      
    1.11      protected ContextAccessor() {
     2.1 --- a/json/src/test/java/net/java/html/json/ModelTest.java	Fri Apr 19 15:35:39 2013 +0200
     2.2 +++ b/json/src/test/java/net/java/html/json/ModelTest.java	Fri Apr 19 15:40:27 2013 +0200
     2.3 @@ -45,12 +45,14 @@
     2.4      @Property(name = "changedProperty", type=String.class)
     2.5  })
     2.6  public class ModelTest {
     2.7 +    private MockTechnology my;
     2.8      private Modelik model;
     2.9      private static Modelik leakedModel;
    2.10      
    2.11      @BeforeMethod
    2.12      public void createModel() {
    2.13 -        model = new Modelik(Context.EMPTY);
    2.14 +        my = new MockTechnology();
    2.15 +        model = new Modelik(ContextBuilder.create().withTechnology(my).build());
    2.16      }
    2.17      
    2.18      @Test public void classGeneratedWithSetterGetter() {
    2.19 @@ -70,22 +72,6 @@
    2.20      }
    2.21  
    2.22      @Test public void arrayChangesNotified() {
    2.23 -        class My implements Technology<Object> {
    2.24 -            private List<String> mutated = new ArrayList<>();
    2.25 -
    2.26 -            @Override
    2.27 -            public Object wrapModel(Object model) {
    2.28 -                return this;
    2.29 -            }
    2.30 -
    2.31 -            @Override
    2.32 -            public void valueHasMutated(Object data, String propertyName) {
    2.33 -                mutated.add(propertyName);
    2.34 -            }
    2.35 -        }
    2.36 -        My my = new My();
    2.37 -
    2.38 -        model = new Modelik(ContextBuilder.create().withTechnology(my).build());
    2.39          model.getNames().add("Hello");
    2.40          
    2.41          assertFalse(my.mutated.isEmpty(), "There was a change" + my.mutated);
    2.42 @@ -108,18 +94,14 @@
    2.43          assertFalse(my.mutated.isEmpty(), "There was a change" + my.mutated);
    2.44          assertTrue(my.mutated.contains("names"), "Change in names property: " + my.mutated);
    2.45      }
    2.46 -/*    
    2.47 +
    2.48      @Test public void autoboxedArray() {
    2.49 -        MockKnockout my = new MockKnockout();
    2.50 -        MockKnockout.next = my;
    2.51 -        
    2.52 -        model.applyBindings();
    2.53 -        
    2.54          model.getValues().add(10);
    2.55          
    2.56          assertEquals(model.getValues().get(0), Integer.valueOf(10), "Really ten");
    2.57      }
    2.58  
    2.59 +/*    
    2.60      @Test public void derivedArrayProp() {
    2.61          MockKnockout my = new MockKnockout();
    2.62          MockKnockout.next = my;
    2.63 @@ -251,4 +233,18 @@
    2.64              assertNotNull(fullNameGenerated);
    2.65          }
    2.66      }
    2.67 +    
    2.68 +    private static class MockTechnology implements Technology<Object> {
    2.69 +        private final List<String> mutated = new ArrayList<>();
    2.70 +
    2.71 +        @Override
    2.72 +        public Object wrapModel(Object model) {
    2.73 +            return this;
    2.74 +        }
    2.75 +
    2.76 +        @Override
    2.77 +        public void valueHasMutated(Object data, String propertyName) {
    2.78 +            mutated.add(propertyName);
    2.79 +        }
    2.80 +    }
    2.81  }