mirror of
https://github.com/google/pebble.git
synced 2025-03-15 16:51:21 +00:00
120 lines
4.4 KiB
C
120 lines
4.4 KiB
C
/*
|
|
* Copyright 2024 Google LLC
|
|
*
|
|
* Licensed 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.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <stdio.h>
|
|
|
|
#define cl_assert_equal_grect(a, b) \
|
|
do { \
|
|
GRect rect_a = (a); \
|
|
GRect rect_b = (b); \
|
|
bool success = grect_equal(&rect_a, &rect_b); \
|
|
if (!success) { \
|
|
char error_msg[256] = {0}; \
|
|
sprintf(error_msg, \
|
|
"grect_equal(rect_a, rect_b)\n" \
|
|
" rect_a: {%d,%d,%d,%d}\n" \
|
|
" rect_b: {%d,%d,%d,%d}\n", \
|
|
rect_a.origin.x, rect_a.origin.y, rect_a.size.w, rect_a.size.h, \
|
|
rect_b.origin.x, rect_b.origin.y, rect_b.size.w, rect_b.size.h); \
|
|
clar__assert(0, __FILE__, __LINE__, "Expression is not true: ", error_msg, 1); \
|
|
} \
|
|
} while(0)
|
|
|
|
#define cl_assert_equal_gpoint(a, b) \
|
|
do { \
|
|
GPoint pt_a = (a); \
|
|
GPoint pt_b = (b); \
|
|
bool success = gpoint_equal(&pt_a, &pt_b); \
|
|
if (!success) { \
|
|
char error_msg[256] = {0}; \
|
|
sprintf(error_msg, \
|
|
"gpoint_equal(pt_a, pt_b)\n" \
|
|
" pt_a: {%d,%d}\n" \
|
|
" pt_b: {%d,%d}\n", \
|
|
pt_a.x, pt_a.y, \
|
|
pt_b.x, pt_b.y); \
|
|
clar__assert(0, __FILE__, __LINE__, "Expression is not true: ", error_msg, 1); \
|
|
} \
|
|
} while(0)
|
|
|
|
#define cl_assert_equal_gsize(a, b) \
|
|
do { \
|
|
GSize size_a = (a); \
|
|
GSize size_b = (b); \
|
|
bool success = gsize_equal(&size_a, &size_b); \
|
|
if (!success) { \
|
|
char error_msg[256] = {0}; \
|
|
sprintf(error_msg, \
|
|
"gsize_equal(size_a, size_b)\n" \
|
|
" size_a: {%d,%d}\n" \
|
|
" size_b: {%d,%d}\n", \
|
|
size_a.w, size_a.h, \
|
|
size_b.w, size_b.h); \
|
|
clar__assert(0, __FILE__, __LINE__, "Expression is not true: ", error_msg, 1); \
|
|
} \
|
|
} while(0)
|
|
|
|
#define cl_assert_equal_uuid(a, b) \
|
|
do { \
|
|
Uuid uuid_a = (a); \
|
|
Uuid uuid_b = (b); \
|
|
bool success = uuid_equal(&uuid_a, &uuid_b); \
|
|
if (!success) { \
|
|
char error_msg[256] = {0}; \
|
|
char uuid_a_buf[UUID_STRING_BUFFER_LENGTH] = {0}; \
|
|
char uuid_b_buf[UUID_STRING_BUFFER_LENGTH] = {0}; \
|
|
uuid_to_string(&uuid_a, uuid_a_buf); \
|
|
uuid_to_string(&uuid_b, uuid_b_buf); \
|
|
sprintf(error_msg, \
|
|
"uuid_equal(uuid_a, uuid_b)\n" \
|
|
" uuid_a: %s\n" \
|
|
" uuid_b: %s\n", \
|
|
uuid_a_buf, \
|
|
uuid_b_buf); \
|
|
clar__assert(0, __FILE__, __LINE__, "Expression is not true: ", error_msg, 1); \
|
|
} \
|
|
} while(0)
|
|
|
|
#define cl_assert_equal_edc(a, b) \
|
|
do { \
|
|
EllipsisDrawConfig edc_a = (a); \
|
|
EllipsisDrawConfig edc_b = (b); \
|
|
bool success = ((edc_a.start_quadrant.angle == edc_b.start_quadrant.angle) && \
|
|
(edc_a.start_quadrant.quadrant == edc_b.start_quadrant.quadrant) && \
|
|
(edc_a.full_quadrants == edc_b.full_quadrants) && \
|
|
(edc_a.end_quadrant.angle == edc_b.end_quadrant.angle) && \
|
|
(edc_a.end_quadrant.quadrant == edc_b.end_quadrant.quadrant)); \
|
|
if (!success) { \
|
|
char error_msg[256] = {0}; \
|
|
sprintf(error_msg, \
|
|
"EllipsisDrawConfig edc_a and edc_b are not equal:\n" \
|
|
" edc_a: start_quadrant: angle: %d quadrant: %d\n" \
|
|
" end_quadrant: angle: %d quadrant: %d\n" \
|
|
" full_quadrants: %d\n" \
|
|
" edc_b: start_quadrant: angle: %d quadrant: %d\n" \
|
|
" end_quadrant: angle: %d quadrant: %d\n" \
|
|
" full_quadrants: %d\n", \
|
|
edc_a.start_quadrant.angle, edc_a.start_quadrant.quadrant, \
|
|
edc_a.end_quadrant.angle, edc_a.end_quadrant.quadrant, \
|
|
edc_a.full_quadrants, \
|
|
edc_b.start_quadrant.angle, edc_b.start_quadrant.quadrant, \
|
|
edc_b.end_quadrant.angle, edc_b.end_quadrant.quadrant, \
|
|
edc_b.full_quadrants); \
|
|
clar__assert(0, __FILE__, __LINE__, "Expression is not true: ", error_msg, 1); \
|
|
} \
|
|
} while (0)
|