 
 class SpectraXMLSpec: QuickSpec {
     
+    func containerGet<T>(container: Container, key: String) -> T? {
+        return container.resolve(T.self, name: key)
+    }
+    
     override func spec() {
         let parser = Container()
         

            it("can parse vertex descriptor with references to vertex attributes") {
                let vertDesc = MDLVertexDescriptor()
                // TODO: fetch from D/I
                expect(vertDesc.attributes[0] as! MDLVertexAttribute) == attrPos
                expect(vertDesc.attributes[1] as! MDLVertexAttribute) == attrTex
            }
            
            it("can parse vertex descriptor, mixing references with new attributes") {
                
            }
            
            it("can parse vertex descriptor to create either array-of-struct or struct-of-array indexing") {
                
            }
        }

        
        let spectraXML = SpectraXML(parser: parser, data: xmlData)
        
        // TODO: move this to a new file?
        describe("SpectraXML: main parser") {
            describe("parser can register new D/I handlers for XML tags") {
                
            }
            
            describe("parser can also register custom types to return") {
                it("allows resolution of SpectraXMLNodeType with custom types") {
                    
                }
            }
        }
        
