it('should return null when the parent container is not present', () => {
            var sut = new Parent("test"),
                childContainer = new Container(),
                instance = {};

            childContainer.registerInstance("test", instance);
            expect(sut.get(childContainer)).toBe(null);
        });
        it('should return the key from the parent container when present', () => {
            var sut = new Parent("test"),
                parent = new Container(),
                childContainer = parent.createChild(),
                instance = {},
                wrongInstance = {};

            parent.registerInstance("test", instance);
            childContainer.registerInstance("test", wrongInstance);

            var result = sut.get(childContainer);

            expect(result).toBe(instance);
            expect(result).not.toBe(wrongInstance);
        });
 return function(target, key, desc?) {
     if (!type) {
         // typescript
         type = metadata.get(metadataType, target, key);
     }
     injectFn(target, key, desc, Parent.of(type));
 };
 return function(target, key, desc?) {
     if (type === undefined) {
         // typescript
         type = metadata.get('design:type', target, key);
     }
     inject(Parent.of(type))(target, key, desc ? desc : {});
 };