// -*- mode: java; c-basic-offset: 2; -*-
// Copyright 2009-2011 Google, All Rights reserved
// Copyright 2011-2012 MIT, All rights reserved
// Released under the Apache License, Version 2.0
// http://www.apache.org/licenses/LICENSE-2.0
package com.google.appinventor.client;
import junit.framework.TestCase;
/**
* Unit tests for {@link Registry}.
*
*/
public class RegistryTest extends TestCase {
private static class A {}
private static class B extends A {}
private static class C extends B {}
private static class D extends C {}
private static class E extends A {}
private static class F extends E {}
private static class G extends F {}
private static class TestRegistry extends Registry<A, String> {
public TestRegistry() {
super(A.class);
register(B.class, "B");
register(F.class, "F");
}
}
private TestRegistry registry;
@Override
protected void setUp() throws Exception {
super.setUp();
registry = new TestRegistry();
}
public void testClasses() throws Exception {
assertNull(registry.get(A.class));
assertEquals("B", registry.get(B.class));
assertEquals("B", registry.get(C.class));
assertEquals("B", registry.get(D.class));
assertNull(registry.get(E.class));
assertEquals("F", registry.get(F.class));
assertEquals("F", registry.get(G.class));
}
public void testObjects() throws Exception {
assertNull(registry.get(new A()));
assertEquals("B", registry.get(new B()));
assertEquals("B", registry.get(new C()));
assertEquals("B", registry.get(new D()));
assertNull(registry.get(new E()));
assertEquals("F", registry.get(new F()));
assertEquals("F", registry.get(new G()));
}
}