anchor.diff:      });
   
   
  +    it('should instantiate class only once (Issue #18)', () {
  +      var injector = injectorFactory([
  +          new Module()
  +            ..type(Log)
  +            ..type(ClassOne)
  +            ..factory(InterfaceOne, (i) => i.get(ClassOne))
  +      ]);
  +
  +      expect(injector.get(InterfaceOne), same(injector.get(ClassOne)));
  +      expect(injector.get(Log).log.join(' '), 'ClassOne');
  +    });
  +
  +
       describe('creation strategy', () {
   
         it('should get called for instance creation', () {
  
positive.code:   MultipleConstructors.named() : instantiatedVia = 'named';
  }
  
  void main() {
    testModule();
  
  
negative.code:   };
    typeFactories[MultipleConstructors] = (ObjectFactory factory) {
      return new MultipleConstructors();
    };
    typeFactories[ClassOne] = (ObjectFactory factory) {
      return new ClassOne(factory(Log));
    };
    typeFactories[Log] = (ObjectFactory factory) {
      return new Log();
    };
    createInjectorSpec('StaticInjector',
        (modules, [name]) => new StaticInjector(modules: modules, name: name,
  