blob: 1b142242b4f4c078dc02dbf4c56c34105047fa57 [file] [log] [blame]
/* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
parcel Lucy;
/** Testing framework.
*/
inert class Lucy::Test { }
class Lucy::Test::TestBatch inherits Lucy::Object::Obj {
int64_t test_num;
int64_t num_tests;
int64_t num_passed;
int64_t num_failed;
int64_t num_skipped;
inert incremented TestBatch*
new(int64_t num_tests);
inert TestBatch*
init(TestBatch *self, int64_t num_tests);
void
Plan(TestBatch *self);
inert bool_t
test_true(void *vself, bool_t condition, const char *pattern, ...);
inert bool_t
test_false(void *vself, bool_t condition, const char *pattern, ...);
inert bool_t
test_int_equals(void *vself, long got, long expected,
const char *pattern, ...);
inert bool_t
test_float_equals(void *vself, double got, double expected,
const char *pattern, ...);
inert bool_t
test_string_equals(void *vself, const char *got, const char *expected,
const char *pattern, ...);
inert bool_t
pass(void *vself, const char *pattern, ...);
inert bool_t
fail(void *vself, const char *pattern, ...);
inert void
skip(void *vself, const char *pattern, ...);
bool_t
VTest_True(TestBatch *self, bool_t condition, const char *pattern,
va_list args);
bool_t
VTest_False(TestBatch *self, bool_t condition, const char *pattern,
va_list args);
bool_t
VTest_Int_Equals(TestBatch *self, long got, long expected,
const char *pattern, va_list args);
bool_t
VTest_Float_Equals(TestBatch *self, double got, double expected,
const char *pattern, va_list args);
bool_t
VTest_String_Equals(TestBatch *self, const char *got, const char *expected,
const char *pattern, va_list args);
bool_t
VPass(TestBatch *self, const char *pattern, va_list args);
bool_t
VFail(TestBatch *self, const char *pattern, va_list args);
void
VSkip(TestBatch *self, const char *pattern, va_list args);
}
__C__
#ifdef LUCY_USE_SHORT_NAMES
#define TEST_TRUE lucy_TestBatch_test_true
#define TEST_FALSE lucy_TestBatch_test_false
#define TEST_INT_EQ lucy_TestBatch_test_int_equals
#define TEST_FLOAT_EQ lucy_TestBatch_test_float_equals
#define TEST_STR_EQ lucy_TestBatch_test_string_equals
#define PASS lucy_TestBatch_pass
#define FAIL lucy_TestBatch_fail
#define SKIP lucy_TestBatch_skip
#endif
__END_C__