zsxxn 发表于 2023-11-13 16:57:42

测试类

java请编程完成泛型类DoubleLinkedList(双向链表)的全部测试类,DoubleLinkedList的基本功能设计要求:创建双向链表、插入新的结点、删除指定元素结点、查找指定元素结点、修改指定位置结点、遍历循环链表。

isdkz 发表于 2023-11-13 16:57:53

import static org.junit.Assert.*;

import org.junit.Test;

public class DoubleLinkedListTest {

    @Test
    public void testCreateDoubleLinkedList() {
      DoubleLinkedList<Integer> list = new DoubleLinkedList<>();
      assertNotNull(list);
    }

    @Test
    public void testInsertNode() {
      DoubleLinkedList<Integer> list = new DoubleLinkedList<>();
      list.insert(5);
      assertEquals(1, list.size());
    }

    @Test
    public void testDeleteNode() {
      DoubleLinkedList<Integer> list = new DoubleLinkedList<>();
      list.insert(5);
      list.delete(5);
      assertEquals(0, list.size());
    }

    @Test
    public void testFindNode() {
      DoubleLinkedList<Integer> list = new DoubleLinkedList<>();
      list.insert(5);
      assertEquals(0, list.find(5));
    }

    @Test
    public void testModifyNode() {
      DoubleLinkedList<Integer> list = new DoubleLinkedList<>();
      list.insert(5);
      list.modify(0, 10);
      assertEquals(10, (int)list.get(0));
    }

    @Test
    public void testTraverseDoubleLinkedList() {
      DoubleLinkedList<Integer> list = new DoubleLinkedList<>();
      list.insert(5);
      list.insert(10);
      list.insert(15);
      StringBuilder sb = new StringBuilder();
      list.traverse(node -> sb.append(node).append(" "));
      assertEquals("5 10 15 ", sb.toString());
    }
}


这个测试类包括了对泛型双向链表DoubleLinkedList的基本功能进行测试。每个测试方法都针对一个特定的功能进行测试,包括创建双向链表、插入新的结点、删除指定元素结点、查找指定元素结点、修改指定位置结点、遍历循环链表。每个测试方法都包含了对应的断言来验证功能的正确性。

Mike_python小 发表于 2023-11-13 16:58:23

好的,以下是 DoubleLinkedList 双向链表的测试类的完整代码:

java
public class DoubleLinkedListTest {
    public static void main(String[] args) {
      // 创建双向链表
      DoubleLinkedList<String> list = new DoubleLinkedList<>();

      // 插入新结点
      list.insert("A");
      list.insert("B");
      list.insert("C");
      list.insert("D");

      // 遍历链表并打印元素
      System.out.println("链表元素:");
      list.traverse();

      // 查找指定元素结点
      String target = "B";
      Node<String> foundNode = list.search(target);
      if (foundNode != null) {
            System.out.println("'" + target + "' 在链表中的位置为:" + foundNode.getValue());
      } else {
            System.out.println("'" + target + "' 不在链表中");
      }

      // 修改指定位置结点
      int position = 2;
      String newValue = "E";
      list.modify(position, newValue);

      // 遍历链表并打印元素
      System.out.println("修改后链表元素:");
      list.traverse();

      // 删除指定元素结点
      String toRemove = "C";
      list.remove(toRemove);

      // 遍历链表并打印元素
      System.out.println("删除后链表元素:");
      list.traverse();
    }
}


上述代码中,我们创建了一个 DoubleLinkedListTest 类,其中的 main 方法用于执行测试。在 main 方法中,我们首先创建了一个双向链表对象 list,然后依次进行了插入新节点、遍历链表、查找指定元素节点、修改指定位置节点、删除指定元素节点等操作,并输出相应的结果。

希望这个答案对你有所帮助,如果你还有其他问题,请随时提问。
页: [1]
查看完整版本: 测试类