@Test
public void decodeAll(){

	Computable value = new Computable(){
		@Override
		public String getResult(){
			return "value";
		}
	};
	assertEquals(Collections.singletonMap((String)null, "value"), EvaluatorUtil.decodeAll(Collections.singletonMap((FieldName)null, value)));
	assertEquals(Collections.singletonMap("key", "value"), EvaluatorUtil.decodeAll(Collections.singletonMap(FieldName.create("key"), value)));
	Computable invalidValue = new Computable(){
		@Override
		public Object getResult(){
			throw new UnsupportedOperationException();
		}
	};
	assertEquals(Collections.emptyMap(), EvaluatorUtil.decodeAll(Collections.singletonMap((FieldName)null, invalidValue)));
	assertEquals(Collections.emptyMap(), EvaluatorUtil.decodeAll(Collections.singletonMap(FieldName.create("key"), invalidValue)));
	Map<FieldName, Object> results = new LinkedHashMap<>();
	results.put((FieldName)null, invalidValue);
	results.put(FieldName.create("decision"), Boolean.TRUE);
	assertEquals(Collections.singletonMap("decision", Boolean.TRUE), EvaluatorUtil.decodeAll(results));
}