1   package uba.db.sql.language;
2   
3   import java.util.HashMap;
4   import java.util.Map;
5   
6   /***
7    * Contexto de evaluación de "mentira", utilizado para los tests.
8    * 
9    * @version $Revision: 1.3 $
10   */
11  public class MockEvaluationContext implements EvaluationContext {
12      private Map values;
13  
14      /***
15       * Equivale a: MockEvaluationContext(<i>diccionario vacío</i>).
16       * 
17       * @see #MockEvaluationContext(Map)
18       */
19      public MockEvaluationContext() {
20          this(new HashMap());
21      }
22  
23      /***
24       * Inicializa este contexto de evaluación con un diccionario de: nombre
25       * columna -> valor.
26       * 
27       * @param values
28       *            diccionario con los pares ColumnName (o QualifiedColumnName) y
29       *            el valor correspondiente
30       */
31      public MockEvaluationContext(Map values) {
32          this.values = values;
33      }
34  
35      /***
36       * @see uba.db.sql.language.EvaluationContext#valueOf(uba.db.sql.language.ColumnName)
37       */
38      public Object valueOf(ColumnName name) {
39          return values.get(name);
40      }
41  
42      /***
43       * @see uba.db.sql.language.EvaluationContext#valueOf(uba.db.sql.language.QualifiedColumnName)
44       */
45      public Object valueOf(QualifiedColumnName name) {
46          return values.get(name);
47      }
48  }