/*
 * 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.Date;
import java.util.List;
import java.util.Set;

import org.testng.IResultMap;
import org.testng.ISuite;
import org.testng.ITestContext;
import org.testng.ITestNGMethod;

import org.testng.xml.XmlTest;

import com.google.inject.Injector;
import com.google.inject.Module;

public class DefaultTestNGContext implements ITestContext {

    private static final long serialVersionUID = 2710769637263878789L;
    ISuite suite;

    public DefaultTestNGContext() {
        this.suite = new SeleniumTestsDefaultSuite();
    }

    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 null;
    }

    public Date getStartDate() {
        return null;
    }

    public Date getEndDate() {
        return null;
    }

    public IResultMap getPassedTests() {
        return null;
    }

    public IResultMap getSkippedTests() {
        return null;
    }

    public IResultMap getFailedButWithinSuccessPercentageTests() {
        return null;
    }

    public IResultMap getFailedTests() {
        return null;
    }

    public String[] getIncludedGroups() {
        return null;
    }

    public String[] getExcludedGroups() {
        return null;
    }

    public String getOutputDirectory() {
        return this.getClass().getResource("/").getPath() + "../../test-output/defaultSuite";
    }

    public ISuite getSuite() {
        return suite;
    }

    public ITestNGMethod[] getAllTestMethods() {
        return null;
    }

    public String getHost() {
        return null;
    }

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

    public IResultMap getPassedConfigurations() {
        return null;
    }

    public IResultMap getSkippedConfigurations() {
        return null;
    }

    public IResultMap getFailedConfigurations() {
        return null;
    }

    public XmlTest getCurrentXmlTest() {
        return null;
    }

    public List<Module> getGuiceModules(final Class<? extends Module> cls) {
        return null;
    }

    public void addGuiceModule(final Class<? extends Module> cls, final Module module) { }

    public Injector getInjector(final List<Module> moduleInstances) {
        return null;
    }

    public void addInjector(final List<Module> moduleInstances, final Injector injector) { }

}

@@ -630,127 +630,67 @@
 ort 
-java.util.Collection;%0Aimport java.util.Date;%0Aimport java.util.List;%0Aimport java.util.Set;%0A%0Aimport org.testng.IResultMap
+com.google.inject.Injector;%0Aimport com.google.inject.Module
 ;%0Aim
@@ -705,22 +705,17 @@
 .testng.
-ISuite
+*
 ;%0Aimport
@@ -730,154 +730,117 @@
 tng.
-ITestContext;%0Aimport org.testng.ITestNGMethod;%0A%0Aimport org.testng.xml.XmlTest;%0A%0Aimport com.google.inject.Injector;%0Aimport com.google.inject.Module
+xml.XmlTest;%0A%0Aimport java.util.Collection;%0Aimport java.util.Date;%0Aimport java.util.List;%0Aimport java.util.Set
 ;%0A%0Ap
@@ -3032,32 +3032,129 @@
 rn null;%0A    %7D%0A%0A
+    @Override%0A    public Injector getInjector(final IClass iClass) %7B%0A        return null;%0A    %7D%0A%0A
     public void 

implement interface methods