@Test
public void testEqualsOneOf() throws Exception {

  List<MyAttributeValue> arguments = new ArrayList<MyAttributeValue>();
  // First
  arguments.clear();
  arguments.add(new MyAttributeValueString("arg0", null));
  arguments.add(new MyAttributeValueString("arg0", null));
  arguments.add(new MyAttributeValueString("arg1", null));
  arguments.add(new MyAttributeValueString("arg2", null));
  arguments.add(new MyAttributeValueString("arg3", null));
  assertTrue(evaulateFunction(stringEqualOneof, arguments));
  // Middle
  arguments.set(0, new MyAttributeValueString("arg2", null));
  assertTrue(evaulateFunction(stringEqualOneof, arguments));
  // End
  arguments.set(0, new MyAttributeValueString("arg3", null));
  assertTrue(evaulateFunction(stringEqualOneof, arguments));
  // Not present
  arguments.set(0, new MyAttributeValueString("hello", null));
  assertFalse(evaulateFunction(stringEqualOneof, arguments));
  // Not present, with some duplicate arguments
  arguments.clear();
  arguments.add(new MyAttributeValueString("arg0", null));
  arguments.add(new MyAttributeValueString("arg1", null));
  arguments.add(new MyAttributeValueString("arg1", null));
  arguments.add(new MyAttributeValueString("arg1", null));
  assertFalse(evaulateFunction(stringEqualOneof, arguments));
}