鱼C论坛

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

测试类

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

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

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

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

使用道具 举报

发表于 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的基本功能进行测试。每个测试方法都针对一个特定的功能进行测试,包括创建双向链表、插入新的结点、删除指定元素结点、查找指定元素结点、修改指定位置结点、遍历循环链表。每个测试方法都包含了对应的断言来验证功能的正确性。
想知道小甲鱼最近在做啥?请访问 -> 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,然后依次进行了插入新节点、遍历链表、查找指定元素节点、修改指定位置节点、删除指定元素节点等操作,并输出相应的结果。

希望这个答案对你有所帮助,如果你还有其他问题,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 02:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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