title: How to mock enum.values() in mockito
body: <p>First of all i'm learning java and mockito, did search and cannot find proper answer yet.</p>
  
  <p>The pseudo code is like this</p>
  
  <pre><code>public enum ProdEnum {
      PROD1(1, "prod1"),
      PROD2(2, "prod2"),
      ......
      PROD99(2, "prod2");
  
      private final int id;
      private final String name;
  
      private ProdEnum(int id, String name) {
          this.id = id;
          this.name = name;
      }
  
      prublic String getName() { return this.name; }
  }
  
  
  public class enum1 {
     public static void main(String[] args) {
        // Prints "Hello, World" in the terminal window.
        System.out.println("Hello, World");
  
        List&lt;String&gt; prodNames = Array.stream(ProdEnum.values())
              .map(prodEnum::getName)
              .collect(Collectors.toList());
  
        // verify(prodNames);
     }
  }
  </code></pre>
  
  <p>My question is in unit test, how to generate mocked prodNames ?
  Only 2 or 3 of the products needed for testing,
  In my unit test i tried this</p>
  
  <pre><code>List&lt;ProdEnum&gt; newProds = Arrays.asList(ProdEnum.PROD1, ProdEnum.PROD2);
  when(ProdEnum.values()).thenReturn(newProds);
  </code></pre>
  
  <p>but it says Cannot resolve method 'thenReturn(java.util.List&lt;...ProdEnum>)'</p>
  
  <p>Thanks !</p>