/*
 * Copyright 2015 www.seleniumtests.com
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.seleniumtests.core;

import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.testng.IInvokedMethod;
import org.testng.IObjectFactory;
import org.testng.IObjectFactory2;
import org.testng.ISuite;
import org.testng.ISuiteResult;
import org.testng.ITestNGListener;
import org.testng.ITestNGMethod;
import org.testng.SuiteRunState;

import org.testng.internal.annotations.IAnnotationFinder;

import org.testng.xml.XmlSuite;

public class SeleniumTestsDefaultSuite implements ISuite {

    private static final long serialVersionUID = -152933123712833411L;
    private XmlSuite xmlSuite;

    public SeleniumTestsDefaultSuite() {
        this.xmlSuite = new DefaultXmlSuite();
    }

    public Object getAttribute(final String name) {
        return null;
    }

    public void setAttribute(final String name, final Object value) { }

    public Set<String> getAttributeNames() {
        return null;
    }

    public Object removeAttribute(final String name) {
        return null;
    }

    public String getName() {
        return "Default suite";
    }

    public Map<String, ISuiteResult> getResults() {
        return null;
    }

    public IObjectFactory getObjectFactory() {
        return null;
    }

    public IObjectFactory2 getObjectFactory2() {
        return null;
    }

    public String getOutputDirectory() {
        return null;
    }

    public String getParallel() {
        return null;
    }

    public String getParameter(final String parameterName) {
        return null;
    }

    public Map<String, Collection<ITestNGMethod>> getMethodsByGroups() {
        return null;
    }

    public Collection<ITestNGMethod> getInvokedMethods() {
        return null;
    }

    public List<IInvokedMethod> getAllInvokedMethods() {
        return null;
    }

    public Collection<ITestNGMethod> getExcludedMethods() {
        return null;
    }

    public void run() { }

    public String getHost() {
        return null;
    }

    public SuiteRunState getSuiteState() {
        return null;
    }

    public IAnnotationFinder getAnnotationFinder() {
        return null;
    }

    public XmlSuite getXmlSuite() {
        return xmlSuite;
    }

    public void addListener(final ITestNGListener listener) { }

    public List<ITestNGMethod> getAllMethods() {
        return null;
    }

}

@@ -630,97 +630,35 @@
 ort 
-java.util.Collection;%0Aimport java.util.List;%0Aimport java.util.Map;%0Aimport java.util.Set;%0A
+com.google.inject.Injector;
 %0Aimp
@@ -672,30 +672,17 @@
 .testng.
-IInvokedMethod
+*
 ;%0Aimport
@@ -697,308 +697,175 @@
 tng.
-IObjectFactory;%0Aimport org.testng.IObjectFactory2;%0Aimport org.testng.ISuite;%0Aimport org.testng.ISuiteResult;%0Aimport org.testng.ITestNGListener;%0Aimport org.testng.ITestNGMethod;%0Aimport org.testng.SuiteRunState;%0A%0Aimport org.testng.internal.annotations.IAnnotationFinder;%0A%0Aimport org.testng.xml.XmlSuite
+internal.annotations.IAnnotationFinder;%0Aimport org.testng.xml.XmlSuite;%0A%0Aimport java.util.Collection;%0Aimport java.util.List;%0Aimport java.util.Map;%0Aimport java.util.Set
 ;%0A%0Ap
@@ -1006,16 +1006,22 @@
 private 
+final 
 XmlSuite
@@ -1860,32 +1860,190 @@
 rn null;%0A    %7D%0A%0A
+    @Override%0A    public String getParentModule() %7B%0A        return null;%0A    %7D%0A%0A    @Override%0A    public String getGuiceStage() %7B%0A        return null;%0A    %7D%0A%0A
     public Strin
@@ -2842,24 +2842,191 @@
 tener) %7B %7D%0A%0A
+    @Override%0A    public Injector getParentInjector() %7B%0A        return null;%0A    %7D%0A%0A    @Override%0A    public void setParentInjector(final Injector injector) %7B%0A%0A    %7D%0A%0A
     public L

implement interface methods