Exemplo n.º 1
0
 private void doArgumentBuildingTest(Object[] expectedArguments, Object... slotValues) {
   Barrier barrier = Barrier.dummyInstanceForTesting();
   for (Object value : slotValues) {
     if (value instanceof ListMarker) {
       List<?> valueList = ((ListMarker) value).valueList;
       List<Slot> slotList = new ArrayList<Slot>(valueList.size());
       Slot dummyListSlot = Slot.dummyInstanceForTesting();
       dummyListSlot.fill(null);
       for (Object v : valueList) {
         Slot slot = Slot.dummyInstanceForTesting();
         slot.fill(v);
         slotList.add(slot);
       }
       barrier.addListArgumentSlots(dummyListSlot, slotList);
     } else if (value instanceof PhantomMarker) {
       Slot slot = Slot.dummyInstanceForTesting();
       slot.fill(((PhantomMarker) value).value);
       barrier.addPhantomArgumentSlot(slot);
     } else {
       Slot slot = Slot.dummyInstanceForTesting();
       slot.fill(value);
       barrier.addRegularArgumentSlot(slot);
     }
   }
   Object[] arguments = barrier.buildArgumentArray();
   assertEqualArrays(expectedArguments, arguments);
 }