Departamento deDepartamento deLenguajes y Sistemas InformLenguajes y Sistemas Informááticosticos
���������� ������� � ��
� ��� � � �� �� � �� � �����
������������� �����������������
����������������
����������������
♦���� ������♦ ���������������♦ ��
♦���� ������������ ���������������♦������� ����♦ �� ���������
♦���������������������♦��������
����������������������
♦ ���������♦����������������������������������������
♦ ����!������♦��������������������������������������������
������������
♦ "���������������!����������!�#���$♦�������$��%�������������������&�������������������������
♦'��������$�������������������&������������������������(�)��������*
♦����!�������!�����$���+�����������������&��(,(%*�-��*
��� ���������
♦�������♦.��&�����♦,��������♦/��&�0����1�♦2��������
3�����+�������������������!�#���
����������������
♦ .���������♦����������������♦ ��
♦���� ������������ ���������������♦�����������♦ �� ���������
♦���������������������♦��������
����������������
������������������ ��� ������������������������������� ����������������������� �
������������������� ������������������ �����!������ ����������������������� �������������������������� ����������������
�� �������
����� ������������� ���������
��������
♦ /���&����������������������4��������������������������������(&�����������5��!����#)��� ��%������&*
♦�������������������������4����♦���������������������������������♦6���������������������������!������&(��&������*
♦2����������������������7�♦6���������������������
����������������
♦ .���������♦���������������♦�����
♦���� ������������ ���������������♦�����������♦ �� ���������
♦���������������������♦��������
�����
♦ ,����#��� �������������+�����������������������
♦���������������89:;���������)3�������<��=���
����� ����� ���� � ����������� ��������� ���� ������� ������ � ���
����� � ���������� ����
����������������
♦ .���������♦���������������♦�����
♦���� ����������� ����� �������♦�����������♦ �� ���������
♦���������������������♦��������
���� ����� ���� ������
♦ Test cases
♦/������4�����!�����������������������������������(� *
♦ Test suites♦/�����������TestCases
♦.����������������!����#�������������������������7�$
♦/����� (TestCase*♦/�������� (TestSuite*
!�������������
♦ >������������������TestCase♦��!���������������������1�������?�������testXXX()
♦����������������1������assert() ���������������������������������������!��������������������
♦�����������+��������1������setUp() ��tearDown() ������������+�����������������������������������������������������������TestCase@�/�������������������������������%��������A����!�%����B
"�������#����$
♦ �������������������������%�����5 ���������4����%������TestCase ��4���������������1�������?������������������
♦��$
♦C��������������?�����1������?��������������4��������������������������(�1������testXXX()*
void testRemoveDetail()removeDetail(String pid)
void testAddDetail()void addDetail(Detail detail)
TestOrderOrder
%������
/���������4��������������������!�������������������������������+�����AssertionFailedError ��������������������������(�������*
assertNotSameassertSame
/���������4��������������0����������������������+�����AssertionFailedError ��������������������������(�������*
assertNullassertNotNull
��������4���������� !������������������������(�������*
fail
/���������4�������������������&����������������+�����AssertionFailedError ��������������������������(�������*
assertEquals
/���������4�����������������������0!������������������+�����AssertionFailedError ��������������������������(�������*
assertTrueassertFalse
����������������
♦ .���������♦���������������♦�����
♦���� ������������ ���������������♦&���� � # �'♦ �� ���������
♦���������������������♦��������
&���� �# �'
♦���������������������������������������������������������4����������?���������&��4���4��������������
♦��&��������������������������&�����!��������������������������������&������������������(4����������������������������*�
♦��������$♦��������������4���)����������������2�♦��������������4���)��������������%�����>���
����������������
♦ .���������♦���������������♦�����
♦���� ������������ ���������������♦�������D���♦����� �������
♦���������������������♦��������
����� �������
♦ .�������������������$♦eclipse\plugins\org.junit_3.8.1
♦��!���������������������1����������������4����%������junit.framework.TestCase
♦������������������$�♦Run/Run As/Junit Test
♦6��������������������������������$♦Run/Debug As/Junit Test
����� �������
����������������
♦ .���������♦���������������♦ ��
♦���� ����������� ���������������♦�������D���♦ �� ���������
♦����(��)���)�� �#���♦��������
����*(��)���)�� �#��� +�((,
♦ �������1�����������&�������������4������������������!�����������������������1�������&����!������
♦ '�&��������������$♦ 6�����������������&��������&��������!�����������♦2���������!������&������������1%������������������� � (6�������������������������)��������������������������������*
♦ �����4���!�����������������������������������!����#�����������������������(��$� ��*
- �������
���������������������������������� �
����������������
♦ .���������♦���������������♦ ��
♦���� ������������ ���������������♦�������D���♦ �� ���������
♦���������������������♦.��#�� �
.��#�� /
interface IQueue {Object front();Object enqueue(Object element);Object dequeue();int size();boolean empty();public void clear();
}
.��#�� /
public class Queue implements IQueue {
private LinkedList queue;
public Queue() {queue = new LinkedList();
}
public Object front() {if (queue.size() == 0)
throw new EmptyQueueException();return queue.getFirst();
}
public Object enqueue(Object element) {queue.add(element);return element;
}…
.��#�� /
public Object dequeue() {if (queue.size() == 0)
throw new EmptyQueueException();return queue.removeFirst();
}
public int size() {return queue.size();
}
public boolean empty() {return (size() == 0);
}
public void clear() {queue.clear();
}
}
� ������
public class TestQueue extends TestCase {protected IQueue queue;protected IQueue empty_queue;
protected void setUp() {empty_queue = new Queue();queue = new Queue ();queue.enqueue (new Integer (1));queue.enqueue (new Integer (2));queue.enqueue (new Integer (3));
}
public void testSize() {assertEquals(queue.size(),3);assertEquals(empty_queue.size(), 0);
}
public void testEmpty() {assertTrue (empty_queue.empty());assertTrue (!queue.empty());
}
� ������
public void testClear() {queue.clear();assertTrue (queue.empty());
}public void testEnqueue() {
Integer i = new Integer (4);int size = queue.size();assertEquals ("enqueue doesn't return the added object",
queue.enqueue (i), i);assertEquals ("queue size is not incremented",
queue.size(), size + 1);}
public void testDequeue() {int size = queue.size();try { empty_queue.dequeue();} catch (EmptyQueueException e) {
assertTrue (true); }Integer i = (Integer) queue.dequeue();assertEquals (i, new Integer (1));assertEquals ("size of queue is not decremented",
queue.size(), size - 1);}
}
.��#�� 0
♦ ������Order♦C����1������getters/setters ������������(���������*
♦ D1��������������$♦public void removeDetail(String pid)$���������������������������������������������������
♦public void addDetail(Detail detail)$27���������������������������%���������������������������������������������������������������������������������������������@���������������������7������������������������������������������������
1�������1
♦2� �# �#�� ��������������3
D5��������������������E���@��@��
Top Related