Exemple #1
0
  /** Tests to inject an object which has injections by itself. */
  public void testNestedInjection() {
    Injector injector = new Injector();

    injector.defineComponent(
        StringBand.class,
        new Provider<StringBand>() {
          @Override
          public StringBand provide() {
            return new StringBand();
          }
        });
    injector.defineComponent(
        Bass.class,
        new Provider<Bass>() {
          @Override
          public Bass provide() {
            return new Bass();
          }
        });
    injector.defineComponent(
        Body.class,
        new Provider<Body>() {
          @Override
          public Body provide() {
            return new Body();
          }
        });

    StringBand band = injector.getComponent(StringBand.class);
    assertNotNull(band.getBass());
    assertNotNull(band.getBass().getBody());
    assertNull(band.getGuitar());
  }
Exemple #2
0
  @Test
  public void testSbands() {
    StringBand sb = new StringBand(5);

    assertEquals("", sb.toString());

    assertEquals(5, sb.capacity());
    assertEquals(0, sb.index());
    assertEquals(0, sb.length());

    sb.append("xxx");
    assertEquals(5, sb.capacity());
    assertEquals(1, sb.index());
    assertEquals(3, sb.length());
    assertEquals('x', sb.charAt(0));
    assertEquals('x', sb.charAt(1));
    assertEquals('x', sb.charAt(2));

    sb.append("zzz");
    assertEquals(5, sb.capacity());
    assertEquals(2, sb.index());
    assertEquals(6, sb.length());

    assertEquals("xxxzzz", sb.toString());
    assertEquals("zzz", sb.stringAt(1));
    assertEquals('x', sb.charAt(0));
    assertEquals('x', sb.charAt(1));
    assertEquals('x', sb.charAt(2));
    assertEquals('z', sb.charAt(3));
    assertEquals('z', sb.charAt(4));
    assertEquals('z', sb.charAt(5));

    sb.append("www");
    assertEquals(5, sb.capacity());
    assertEquals(3, sb.index());
    assertEquals(9, sb.length());

    assertEquals("xxxzzzwww", sb.toString());
    assertEquals("www", sb.stringAt(2));
    assertEquals('x', sb.charAt(2));
    assertEquals('z', sb.charAt(3));
    assertEquals('z', sb.charAt(5));
    assertEquals('w', sb.charAt(6));
    assertEquals('w', sb.charAt(8));

    sb.setIndex(1);

    assertEquals(5, sb.capacity());
    assertEquals(1, sb.index());
    assertEquals(3, sb.length());

    assertEquals("xxx", sb.toString());
    assertEquals('x', sb.charAt(2));
  }