Home | History | Annotate | Download | only in internal
      1 package org.testng.internal;
      2 
      3 import org.testng.IResultMap;
      4 import org.testng.ITestNGMethod;
      5 import org.testng.ITestResult;
      6 import org.testng.collections.Objects;
      7 
      8 import java.util.Collection;
      9 import java.util.HashSet;
     10 import java.util.Map;
     11 import java.util.Map.Entry;
     12 import java.util.Set;
     13 import java.util.concurrent.ConcurrentHashMap;
     14 
     15 public class ResultMap implements IResultMap {
     16   /**
     17    *
     18    */
     19   private static final long serialVersionUID = 80134376515999093L;
     20   private Map<ITestResult, ITestNGMethod> m_map = new ConcurrentHashMap<>();
     21 
     22   @Override
     23   public void addResult(ITestResult result, ITestNGMethod method) {
     24     m_map.put(result, method);
     25   }
     26 
     27   @Override
     28   public Set<ITestResult> getResults(ITestNGMethod method) {
     29     Set<ITestResult> result = new HashSet<>();
     30 
     31     for (Map.Entry<ITestResult, ITestNGMethod> entry : m_map.entrySet()) {
     32       if (entry.getValue().equals(method)) {
     33         result.add(entry.getKey());
     34       }
     35     }
     36 
     37     return result;
     38   }
     39 
     40   @Override
     41   public void removeResult(ITestNGMethod m) {
     42     for (Entry<ITestResult, ITestNGMethod> entry : m_map.entrySet()) {
     43       if (entry.getValue().equals(m)) {
     44         m_map.remove(entry.getKey());
     45         return;
     46       }
     47     }
     48   }
     49 
     50   @Override
     51   public void removeResult(ITestResult r) {
     52     m_map.remove(r);
     53   }
     54 
     55   @Override
     56   public Set<ITestResult> getAllResults() {
     57     return m_map.keySet();
     58   }
     59 
     60   @Override
     61   public int size() {
     62     return m_map.size();
     63   }
     64 
     65   @Override
     66   public Collection<ITestNGMethod> getAllMethods() {
     67     return m_map.values();
     68   }
     69 
     70   @Override
     71   public String toString() {
     72     return Objects.toStringHelper(getClass())
     73         .add("map", m_map)
     74         .toString();
     75   }
     76 
     77 }
     78