Как проверить программу подсчета слов, если есть какие-либо обнаруженные ошибки?

Я только что пересмотрел классический учебник Си K&R. И прочтите упражнение 1-11:

Как бы вы протестировали программу подсчета слов? Какие типы ввода с наибольшей вероятностью обнаружат ошибки, если таковые имеются?

На самом деле, у меня есть только основная идея - вручную подсчитать существующий абзац, чтобы получить точные номера слов и сравнить их с результатами, вычисленными программой подсчета слов.

1248] Что я пропустил? А в чем фокус теста?

РЕДАКТИРОВАТЬ

Сводка ответов:

Семантическое определение слова, некоторые частные случаи:

  • слово ссылки: "кошачья прогулка"
  • маленькое слово: a, b, c
  • biiiiiig слова: "a fooooooooo <40MILLIONLETTERS> ooooooo a" имеет 3 слова

граничных условий:

  • Тексты с несколькими пробелами между словами.
  • Тексты размером более 2 ГБ
  • Слова, содержащие тире, но без пробелов.
  • Слова не в формате ascii. Когда я создал новый проект с инструментами командной строки, он генерируется для ...

    Мне нужно использовать ANT с процессом сборки Android, потому что в конце мне нужно создать две версии приложения (FULL и LITE). Когда я создал новый проект с инструментами командной строки, он генерирует для меня все необходимые файлы сборки (build.xml, local.properties, build.properties и default.properties, а также proguard.cfg). Моей полной версии приложения нужна библиотека рыночного лицензирования (которая находится в моей $ {sdk.dir} / extras / google / market_licensing / library. Поэтому в Eclipse я определяю, где находится эта библиотека, и она работает, если я запускаю свое приложение из Eclipse. . Теперь, если я запустил ant-скрипт в своем приложении

    ${my.project-home}$ ant
    Buildfile: ${my.project-home}/build.xml
        [setup] Android SDK Tools Revision 10
        [setup] Project Target: Android 2.1-update1
        [setup] API level: 7
        [setup] 
        [setup] ------------------
        [setup] Resolving library dependencies:
    
    BUILD FAILED
    ${my.project-home}/build.xml:77: ../../../android-sdk-mac_86/extras/google/market_licensing/library resolve to a path with no default.properties file for project ${my.project-home}
    

    Мои default.properties будут выглядеть как

    target=android-7
    android.library=false
    android.library.reference.1=../../../android-sdk-mac_86/extras/google/market_licensing/library
    

    И мой build.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <project name="MyMeasures">
    
    <!-- The local.properties file is created and updated by the 'android'
         tool.
         It contains the path to the SDK. It should *NOT* be checked into
         Version Control Systems. -->
        <property file="local.properties" />
    
        <!-- The build.properties file can be created by you and is never touched
             by the 'android' tool. This is the place to change some of the
             default property values used by the Ant rules.
             Here are some properties you may want to change/update:
    
             source.dir
                 The name of the source directory. Default is 'src'.
             out.dir
                 The name of the output directory. Default is 'bin'.
    
             Properties related to the SDK location or the project target should
             be updated using the 'android' tool with the 'update' action.
    
             This file is an integral part of the build system for your
             application and should be checked into Version Control Systems.
    
             -->
        <property file="build.properties" />
    
        <!-- The default.properties file is created and updated by the 'android'
             tool, as well as ADT.
             This file is an integral part of the build system for your
             application and should be checked into Version Control Systems. -->
        <property file="default.properties" />
    
    
        <!-- Required pre-setup import -->
        <import file="${sdk.dir}/tools/ant/pre_setup.xml" />
    
    
    <!-- extension targets. Uncomment the ones where you want to do custom work
         in between standard targets -->
    
        <target name="-pre-build">
        </target>
        <target name="-pre-compile">
        </target>
    
    <!--    [This is typically used for code obfuscation.
         Compiled code location: ${out.classes.absolute.dir}
         If this is not done in place, override ${out.dex.input.absolute.dir}]
        <target name="-post-compile">
        </target>
    -->
    
        <!-- Execute the Android Setup task that will setup some properties
             specific to the target, and import the build rules files.
    
             The rules file is imported from
                <SDK>/tools/ant/
             Depending on the project type it can be either:
             - main_rules.xml
             - lib_rules.xml
             - test_rules.xml
    
             To customize existing targets, there are two options:
             - Customize only one target:
                 - copy/paste the target into this file, *before* the
                   <setup> task.
                 - customize it to your needs.
             - Customize the whole script.
                 - copy/paste the content of the rules files (minus the top node)
                   into this file, *after* the <setup> task
                 - disable the import of the rules by changing the setup task
                   below to <setup import="false" />.
                 - customize to your needs.
        -->
        <setup />
    
    </project>
    

    Единственное, что я сейчас делаю в build.xml, это раскомментировал -pre -build и -pre-compile , но они ничего не делают ... Я также пытался прокомментировать их, и результат тот же.

    Кто-нибудь использовал библиотеку рыночного лицензирования с ant?

6
задан JasonMArcher 19 June 2015 в 05:05
поделиться