Plut___o 2021-06-22 14:50 采纳率: 0%
浏览 19

有一个功能,将输入文件中的字符串行按字符序排序输出

有一个功能,将输入文件中的字符串行按字符序排序输出,例如tbda.bd.abo输出
abo. abd,bda)请写出测试用例,并请说明缘由

  • 写回答

1条回答 默认 最新

  • 码农阿豪 Java领域优质创作者 2024-03-16 15:07
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题分析: 这个功能需要实现对输入文件中的字符串行按字符序排序输出,其中输入文件中的每一行都是由多个单词组成,单词之间用空格分隔,单词中可以包含字母和数字。最终的输出需按照单词中字符的字典序进行排序,对于相同的单词,按照输入文件中出现的顺序排序。例如输入文件为:
    abc dkk
    ab dkj
    abc de
    

    那么输出结果为:

    abc de
    abc dkk
    ab dkj
    

    因为 "abc de" 在字典序上最小,因此排在前面;而 "abc dkk" 和 "ab dkj" 的字典序相同,但 "abc dkk" 在输入文件中出现顺序更靠前,因此排在 "ab dkj" 前面。 根据问题分析,可以得到以下测试用例: 测试用例1:输入文件为空文件 缘由:测试功能在输入为空文件的情况下,是否能够正确处理,即能够正确识别空文件,在不输出任何内容的情况下结束程序。 代码示例:

    # testcase1: empty input file
    with open("input.txt", "w") as f:
        pass
    os.system("python sort_strings.py input.txt output.txt")
    with open("output.txt", "r") as f:
        assert f.read() == ""
    print("testcase1 pass.")
    

    测试用例2:输入文件中包含多行字符串同时存在大小写字母、数字和特殊字符 缘由:测试功能在输入包含多行字符串的文件时是否能够正确处理,即能够按照单词中字符的字典序进行排序,对于相同的单词,按照输入文件中出现的顺序排序。 代码示例:

    # testcase2: normal input file
    with open("input.txt", "w") as f:
        f.write("DkK abc\n2A 1B a,b+c\n1b a b c")
    os.system("python sort_strings.py input.txt output.txt")
    with open("output.txt", "r") as f:
        assert f.read() == "1b a b c\n2A 1B a,b+c\nDkK abc\n"
    print("testcase2 pass.")
    

    测试用例3:输入文件中只有一行字符串,且其中所有单词都相同 缘由:测试功能在输入只包含一行相同单词的文件时是否能够正确处理,即能够按照输入文件中出现的顺序对相同的单词进行排序,并输出该行单词。 代码示例:

    # testcase3: only one line with same words
    with open("input.txt", "w") as f:
        f.write("abc abc abc abc abc")
    os.system("python sort_strings.py input.txt output.txt")
    with open("output.txt", "r") as f:
        assert f.read() == "abc abc abc abc abc\n"
    print("testcase3 pass.")
    

    测试用例4:输入文件中只有一行字符串,且其中所有单词都不同 缘由:测试功能在输入只包含一行不同单词的文件时是否能够正确处理,即能够按照单词中字符的字典序进行排序,并输出该行单词。 代码示例:

    # testcase4: only one line with different words
    with open("input.txt", "w") as f:
        f.write("abc dkk a1b+c 0!@")
    os.system("python sort_strings.py input.txt output.txt")
    with open("output.txt", "r") as f:
        assert f.read() == "0!@\na1b+c\nabc\ndkk\n"
    print("testcase4 pass.")
    
    评论

报告相同问题?

悬赏问题

  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64