/hippo/src/test/java/com/googlecode/hdbc/view/policy/ActiveExperimentsOutputPolicyTest.java

http://hdbc.googlecode.com/ · Java · 46 lines · 35 code · 11 blank · 0 comment · 0 complexity · a546a047ed05ec0c4c5ce58915e1f7bc MD5 · raw file

  1. package com.googlecode.hdbc.view.policy;
  2. import static org.junit.Assert.*;
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6. import net.sf.json.JSONArray;
  7. import net.sf.json.JSONObject;
  8. import org.junit.Test;
  9. import com.googlecode.hdbc.controller.ModelAttributes;
  10. import com.googlecode.hdbc.model.factory.ExperimentDataFactory;
  11. import com.googlecode.hdbc.model.record.ExperimentData;
  12. public class ActiveExperimentsOutputPolicyTest {
  13. private ExperimentDataFactory factory = new ExperimentDataFactory();
  14. @Test
  15. public void testAnEmptyExperimentsList() {
  16. Map<String, Object> model = new HashMap<String, Object>();
  17. model.put(ModelAttributes.COLLECTION, new ArrayList<ExperimentData>());
  18. ActiveExperimentsOutputPolicy policy = new ActiveExperimentsOutputPolicy();
  19. JSONObject jsn = (JSONObject) policy.customOutput(model);
  20. String expected = "{\"data\":[]}";
  21. assertEquals(expected, jsn.toString());
  22. }
  23. @Test
  24. public final void testAExperimentsListWithContents() {
  25. Map<String, Object> model = new HashMap<String, Object>();
  26. ArrayList<ExperimentData> exps = new ArrayList<ExperimentData>();
  27. exps.add(factory.mkStdExperimentData());
  28. exps.add(factory.mkStdExperimentData());
  29. model.put(ModelAttributes.COLLECTION, exps);
  30. ActiveExperimentsOutputPolicy policy = new ActiveExperimentsOutputPolicy();
  31. JSONObject jsn = (JSONObject) policy.customOutput(model);
  32. JSONArray data = jsn.getJSONArray("data");
  33. assertEquals(2, data.size());
  34. }
  35. }