鱼C论坛

 找回密码
 立即注册
查看: 916|回复: 2

测试类

[复制链接]
发表于 2023-11-13 16:57:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
java请编程完成泛型类DoubleLinkedList(双向链表)的全部测试类,DoubleLinkedList的基本功能设计要求:创建双向链表、插入新的结点、删除指定元素结点、查找指定元素结点、修改指定位置结点、遍历循环链表。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-11-13 16:57:53 | 显示全部楼层
  1. import static org.junit.Assert.*;

  2. import org.junit.Test;

  3. public class DoubleLinkedListTest {

  4.     @Test
  5.     public void testCreateDoubleLinkedList() {
  6.         DoubleLinkedList<Integer> list = new DoubleLinkedList<>();
  7.         assertNotNull(list);
  8.     }

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

  15.     @Test
  16.     public void testDeleteNode() {
  17.         DoubleLinkedList<Integer> list = new DoubleLinkedList<>();
  18.         list.insert(5);
  19.         list.delete(5);
  20.         assertEquals(0, list.size());
  21.     }

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

  28.     @Test
  29.     public void testModifyNode() {
  30.         DoubleLinkedList<Integer> list = new DoubleLinkedList<>();
  31.         list.insert(5);
  32.         list.modify(0, 10);
  33.         assertEquals(10, (int)list.get(0));
  34.     }

  35.     @Test
  36.     public void testTraverseDoubleLinkedList() {
  37.         DoubleLinkedList<Integer> list = new DoubleLinkedList<>();
  38.         list.insert(5);
  39.         list.insert(10);
  40.         list.insert(15);
  41.         StringBuilder sb = new StringBuilder();
  42.         list.traverse(node -> sb.append(node).append(" "));
  43.         assertEquals("5 10 15 ", sb.toString());
  44.     }
  45. }
复制代码


这个测试类包括了对泛型双向链表DoubleLinkedList的基本功能进行测试。每个测试方法都针对一个特定的功能进行测试,包括创建双向链表、插入新的结点、删除指定元素结点、查找指定元素结点、修改指定位置结点、遍历循环链表。每个测试方法都包含了对应的断言来验证功能的正确性。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-13 16:58:23 | 显示全部楼层
好的,以下是 DoubleLinkedList 双向链表的测试类的完整代码:

[/code]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();
    }
}
[/code]

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

希望这个答案对你有所帮助,如果你还有其他问题,请随时提问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-3 11:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表