@Test public void addsBindings() { ExpressionModule module = ExpressionModule.builder(namespace).addBinding(ID, typedValue).build(); BindingContext previousContext = BindingContext.builder() .addBinding(ID, typedValue) .addBinding(OTHER_ID, typedValue) .addModule(module) .build(); BindingContext context = builder.addAll(previousContext).build(); assertThat(context.bindings(), hasSize(2)); assertThat(context.identifiers(), hasItems(ID, OTHER_ID)); assertThat(context.lookup(ID).get(), is(sameInstance(typedValue))); assertThat(context.lookup(OTHER_ID).get(), is(sameInstance(typedValue))); assertThat(context.modules(), hasSize(1)); assertThat(context.modules(), hasItems(module)); Collection<Binding> moduleBindings = context.modules().iterator().next().bindings(); assertThat(moduleBindings, hasSize(1)); assertThat(moduleBindings.iterator().next().identifier(), is(ID)); }
@Test public void addsBindings() { ExpressionModule module = ExpressionModule.builder(namespace).addBinding(ID, typedValue).build(); BindingContext previousContext = BindingContext.builder() .addBinding(ID, typedValue) .addBinding(OTHER_ID, typedValue) .addModule(module) .build(); BindingContext context = builder.addAll(previousContext).build(); assertThat(context.bindings(), hasSize(2)); assertThat(context.identifiers(), hasItems(ID, OTHER_ID)); assertThat(context.lookup(ID).get(), is(sameInstance(typedValue))); assertThat(context.lookup(OTHER_ID).get(), is(sameInstance(typedValue))); assertThat(context.modules(), hasSize(1)); assertThat(context.modules(), hasItems(module)); Collection<Binding> moduleBindings = context.modules().iterator().next().bindings(); assertThat(moduleBindings, hasSize(1)); assertThat(moduleBindings.iterator().next().identifier(), is(ID)); }
@Test public void miscLookupInFirstDelegate() { BindingContext localBinding = BindingContext.builder() .addBinding("misc", mapValue()) .build(); assertLookup(BindingContext.builder(localBinding).addAll(globalBinding()).build(), "misc"); }
@Test public void payloadLookupInFirstDelegate() { BindingContext localBinding = BindingContext.builder() .addBinding("payload", mapValue()) .build(); assertLookup(BindingContext.builder(localBinding).addAll(globalBinding()).build(), "payload"); }
@Test public void miscLazyLookupInFirstDelegate() { BindingContext localBinding = BindingContext.builder() .addBinding("misc", mapValue()) .build(); assertLookup(BindingContext.builder(localBinding).addAll(globalBinding()).build(), "misc"); }
@Test public void varLookupInFirstDelegate() { BindingContext localBinding = BindingContext.builder() .addBinding("vars", new LazyValue<>(() -> mapValue())) .build(); assertLookup(BindingContext.builder(localBinding).addAll(globalBinding()).build(), "vars"); }
@Test public void attributesLookupInFirstDelegate() { BindingContext localBinding = BindingContext.builder() .addBinding("attributes", mapValue()) .build(); assertLookup(BindingContext.builder(localBinding).addAll(globalBinding()).build(), "attributes"); }
@Test public void varLookupInSecondDelegate() { BindingContext localBinding = BindingContext.builder() .addBinding("vars", new LazyValue<>(() -> mapValue())) .build(); assertLookup(BindingContext.builder(globalBinding()).addAll(localBinding).build(), "vars"); }
@Test public void payloadLookupInSecondDelegate() { BindingContext localBinding = BindingContext.builder() .addBinding("payload", new LazyValue<>(() -> mapValue())) .build(); assertLookup(BindingContext.builder(globalBinding()).addAll(localBinding).build(), "payload"); }
@Test public void miscLookupInSecondDelegate() { BindingContext localBinding = BindingContext.builder() .addBinding("misc", new LazyValue<>(() -> mapValue())) .build(); assertLookup(BindingContext.builder(globalBinding()).addAll(localBinding).build(), "misc"); }
@Test public void miscLazyLookupInSecondDelegate() { BindingContext localBinding = BindingContext.builder() .addBinding("misc", new LazyValue<>(() -> mapValue())) .build(); assertLookup(BindingContext.builder(globalBinding()).addAll(localBinding).build(), "misc"); }
@Test public void attributesLookupInSecondDelegate() { BindingContext localBinding = BindingContext.builder() .addBinding("attributes", new LazyValue<>(() -> mapValue())) .build(); assertLookup(BindingContext.builder(globalBinding()).addAll(localBinding).build(), "attributes"); }