コード例 #1
0
ファイル: test_filter.c プロジェクト: gdaunton/swen-250
static bool test_filter_ch_index() {
    bool pass = true ;
    char result[MAXSTR+1] ;

    ntests++ ;

    filter_ch_index(ts_abccba, result, 'a') ;
    pass = assert(! result[4],
                  "result not properly terminated") && pass ;
    pass = assert_eql("bccb", result,
                      "filter_ch_index(\"abccba\", result, 'a')") && pass ;

    filter_ch_index(ts_abccba, result, 'b') ;
    pass = assert_eql("acca", result,
                      "filter_ch_index(\"abccba\", result, 'b')") && pass ;

    filter_ch_index(ts_abccba, result, 'c') ;
    pass = assert_eql("abba", result,
                      "filter_ch_index(\"abccba\", result, 'c')") && pass ;

    filter_ch_index(ts_abccba, result, 'z') ;
    pass = assert(! result[6],
                  "result not properly terminated") && pass ;
    pass = assert_eql(ts_abccba, result,
                      "filter_ch_index(\"abccba\", result, 'z')") && pass ;

    filter_ch_index(ts_empty, result, 'a') ;
    pass = assert(! result[0],
                  "result not properly terminated") && pass ;
    pass = assert_eql(ts_empty, result,
                      "filter_ch_index(\"\", result, 'a')") && pass ;

    return pass ;
}
コード例 #2
0
ファイル: test_filter.c プロジェクト: gdaunton/swen-250
static bool test_filter_substr() {
    bool pass = true ;
    char *result ;

    ntests++ ;

    result = filter_substr(ts_abccba, "cba") ;
    pass = assert(! result[3],
                  "result not properly terminated") && pass ;
    pass = assert_eql("abc", result,
                      "filter_substr(\"abccba\", \"cba\")") && pass ;
    free(result) ;

    result = filter_substr(ts_abccba, "ab") ;
    pass = assert(! result[4],
                  "result not properly terminated") && pass ;
    pass = assert_eql("ccba", result,
                      "filter_substr(\"abccba\", \"ba\")") && pass ;
    free(result) ;

    result = filter_substr(ts_abccba, "c") ;
    pass = assert(! result[4],
                  "result not properly terminated") && pass ;
    pass = assert_eql("abba", result,
                      "filter_substr(\"abccba\", \"c\")") && pass ;
    free(result) ;

    result = filter_substr("abcabcabc", "abc") ;
    pass = assert(! result[0],
                  "result not properly terminated") && pass ;
    pass = assert_eql(ts_empty, result,
                      "filter_substr(\"abcabcabc\", \"abc\")") && pass ;
    free(result) ;

    result = filter_substr(ts_empty, "cba") ;
    pass = assert(! result[0],
                  "result not properly terminated") && pass ;
    pass = assert_eql(ts_empty, result,
                      "filter_substr(\"\", \"cba\")") && pass ;
    free(result) ;

    result = filter_substr(ts_abccba, "ccbx") ;
    pass = assert(! result[6],
                  "result not properly terminated") && pass ;
    pass = assert_eql(ts_abccba, result,
                      "filter_substr(\"abccba\", \"ccbx\")") &&
           pass ;
    free(result) ;

    result = filter_substr("Moses supposes his toeses are roses.", "oses") ;
    pass = assert(! result[24],
                  "result not properly terminated") && pass ;
    pass = assert_eql("M supp his toeses are r.", result,
                      "filter_substr(\"Moses supposes his toeses are roses.\", \"oses\")") &&
           pass ;
    free(result) ;

    return pass ;
}
コード例 #3
0
ファイル: test_filter.c プロジェクト: gdaunton/swen-250
static bool test_filter_any_ptr() {
    bool pass = true ;
    char *result ;

    ntests++ ;

    result = filter_any_ptr(ts_abccba, "cba") ;
    pass = assert(! result[0],
                  "result not properly terminated") && pass ;
    pass = assert_eql(ts_empty, result,
                      "filter_any_ptr(\"abccba\", \"cba\")") && pass ;
    free(result) ;

    result = filter_any_ptr(ts_abccba, "ba") ;
    pass = assert(! result[2],
                  "result not properly terminated") && pass ;
    pass = assert_eql("cc", result,
                      "filter_any_ptr(\"abccba\", \"ba\")") && pass ;
    free(result) ;

    result = filter_any_ptr(ts_abccba, "c") ;
    pass = assert(! result[4],
                  "result not properly terminated") && pass ;
    pass = assert_eql("abba", result,
                      "filter_any_ptr(\"abccba\", \"c\")") && pass ;
    free(result) ;

    result = filter_any_ptr(ts_abccba, "") ;
    pass = assert(! result[6],
                  "result not properly terminated") && pass ;
    pass = assert_eql("abccba", result,
                      "filter_any_ptr(\"abccba\", \"\")") && pass ;
    free(result) ;

    result = filter_any_ptr(ts_empty, "cba") ;
    pass = assert(! result[0],
                  "result not properly terminated") && pass ;
    pass = assert_eql(ts_empty, result,
                      "filter_any_ptr(\"\", \"cba\")") && pass ;
    free(result) ;

    return pass ;
}
コード例 #4
0
ファイル: test_filter.c プロジェクト: gdaunton/swen-250
static bool test_filter_ch_ptr() {
    bool pass = true ;
    char *result ;

    ntests++ ;

    result = filter_ch_ptr(ts_abccba, 'a') ;
    pass = assert(! result[4],
                  "result not properly terminated") && pass ;
    pass = assert_eql("bccb", result,
                      "filter_ch_ptr(\"abccba\", 'a')") && pass ;
    free(result) ;

    result = filter_ch_ptr(ts_abccba, 'b') ;
    pass = assert_eql("acca", result,
                      "filter_ch_ptr(\"abccba\", 'b')") && pass ;
    free(result) ;

    result = filter_ch_ptr(ts_abccba, 'c') ;
    pass = assert_eql("abba", result,
                      "filter_ch_ptr(\"abccba\", 'c')") && pass ;
    free(result) ;

    result = filter_ch_ptr(ts_abccba, 'z') ;
    pass = assert(! result[6],
                  "result not properly terminated") && pass ;
    pass = assert_eql(ts_abccba, result,
                      "filter_ch_ptr(\"abccba\", 'z')") && pass ;
    free(result) ;

    result = filter_ch_ptr(ts_empty, 'a') ;
    pass = assert(! result[0],
                  "result not properly terminated") && pass ;
    pass = assert_eql(ts_empty, result,
                      "filter_ch_ptr(\"\", 'a')") && pass ;
    free(result) ;

    return pass ;
}
コード例 #5
0
ファイル: test_filter.c プロジェクト: gdaunton/swen-250
static bool test_filter_any_index() {
    bool pass = true ;
    char result[MAXSTR+1] ;

    ntests++ ;

    filter_any_index(ts_abccba, result, "cba") ;
    pass = assert(! result[0],
                  "result not properly terminated") && pass ;
    pass = assert_eql(ts_empty, result,
                      "filter_any_index(\"abccba\", result, \"cba\")") && pass ;

    filter_any_index(ts_abccba, result, "ba") ;
    pass = assert(! result[2],
                  "result not properly terminated") && pass ;
    pass = assert_eql("cc", result,
                      "filter_any_index(\"abccba\", result, \"ba\")") && pass ;

    filter_any_index(ts_abccba, result, "c") ;
    pass = assert(! result[4],
                  "result not properly terminated") && pass ;
    pass = assert_eql("abba", result,
                      "filter_any_index(\"abccba\", result, \"c\")") && pass ;

    filter_any_index(ts_abccba, result, "") ;
    pass = assert(! result[6],
                  "result not properly terminated") && pass ;
    pass = assert_eql("abccba", result,
                      "filter_any_index(\"abccba\", result, \"\")") && pass ;

    filter_any_index(ts_empty, result, "cba") ;
    pass = assert(! result[0],
                  "result not properly terminated") && pass ;
    pass = assert_eql(ts_empty, result,
                      "filter_any_index(\"\", result, \"cba\")") && pass ;

    return pass ;
}
コード例 #6
0
ファイル: PDFPrimitivesTest.cpp プロジェクト: rlugojr/skia
static void TestPDFStream(skiatest::Reporter* reporter) {
    char streamBytes[] = "Test\nFoo\tBar";
    std::unique_ptr<SkStreamAsset> streamData(new SkMemoryStream(
        streamBytes, strlen(streamBytes), true));
    auto stream = sk_make_sp<SkPDFStream>(std::move(streamData));
    assert_emit_eq(reporter,
                   *stream,
                   "<</Length 12>> stream\nTest\nFoo\tBar\nendstream");
    stream->dict()->insertInt("Attribute", 42);
    assert_emit_eq(reporter,
                   *stream,
                   "<</Length 12\n/Attribute 42>> stream\n"
                   "Test\nFoo\tBar\nendstream");

    {
        char streamBytes2[] = "This is a longer string, so that compression "
                              "can do something with it. With shorter strings, "
                              "the short circuit logic cuts in and we end up "
                              "with an uncompressed string.";
        auto stream = sk_make_sp<SkPDFStream>(
                SkData::MakeWithCopy(streamBytes2, strlen(streamBytes2)));

        SkDynamicMemoryWStream compressedByteStream;
        SkDeflateWStream deflateWStream(&compressedByteStream);
        deflateWStream.write(streamBytes2, strlen(streamBytes2));
        deflateWStream.finalize();

        SkDynamicMemoryWStream expected;
        expected.writeText("<</Filter /FlateDecode\n/Length 116>> stream\n");
        compressedByteStream.writeToStream(&expected);
        compressedByteStream.reset();
        expected.writeText("\nendstream");
        SkAutoDataUnref expectedResultData2(expected.copyToData());
        SkString result = emit_to_string(*stream);
        assert_eql(reporter,
                   result,
                   (const char*)expectedResultData2->data(),
                   expectedResultData2->size());
    }
}
コード例 #7
0
ファイル: PDFPrimitivesTest.cpp プロジェクト: rlugojr/skia
static void assert_eq(skiatest::Reporter* reporter,
                      const SkString& skString,
                      const char* str) {
    assert_eql(reporter, skString, str, strlen(str));
}