Added datetime module to demo applications.
This commit is contained in:
@@ -277,10 +277,10 @@ bool bacapp_copy(BACNET_APPLICATION_DATA_VALUE * dest_value,
|
||||
dest_value->type.Enumerated = src_value->type.Enumerated;
|
||||
break;
|
||||
case BACNET_APPLICATION_TAG_DATE:
|
||||
bacapp_copy_date(&dest_value->type.Date, &src_value->type.Date);
|
||||
datetime_copy_date(&dest_value->type.Date, &src_value->type.Date);
|
||||
break;
|
||||
case BACNET_APPLICATION_TAG_TIME:
|
||||
bacapp_copy_time(&dest_value->type.Time, &src_value->type.Time);
|
||||
datetime_copy_time(&dest_value->type.Time, &src_value->type.Time);
|
||||
break;
|
||||
case BACNET_APPLICATION_TAG_OBJECT_ID:
|
||||
dest_value->type.Object_Id.type =
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
#include <stdio.h>
|
||||
#include "bacdef.h"
|
||||
#include "bacstr.h"
|
||||
#include "datetime.h"
|
||||
|
||||
typedef struct BACnet_Application_Data_Value {
|
||||
uint8_t tag; /* application or context-specific number */
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
#include "bacdef.h"
|
||||
#include "datetime.h"
|
||||
#include "bacstr.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
+234
-233
@@ -244,238 +244,239 @@ void datetime_set_values(BACNET_DATE_TIME * bdatetime,
|
||||
}
|
||||
|
||||
#ifdef TEST
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
#include "ctest.h"
|
||||
|
||||
void testBACnetDate(Test * pTest)
|
||||
{
|
||||
BACNET_DATE bdate1, bdate2;
|
||||
int diff = 0;
|
||||
|
||||
datetime_set_date(&bdate1, 1900,1,1);
|
||||
datetime_copy_date(&bdate2, &bdate1);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff == 0);
|
||||
datetime_set_date(&bdate2, 1900,1,2);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_date(&bdate2, 1900,2,1);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_date(&bdate2, 1901,1,1);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff < 0);
|
||||
|
||||
/* midpoint */
|
||||
datetime_set_date(&bdate1, 2007,7,15);
|
||||
datetime_copy_date(&bdate2, &bdate1);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff == 0);
|
||||
datetime_set_date(&bdate2, 2007,7,14);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_date(&bdate2, 2007,7,1);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_date(&bdate2, 2007,7,31);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_date(&bdate2, 2007,8,15);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_date(&bdate2, 2007,12,15);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_date(&bdate2, 2007,6,15);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_date(&bdate2, 2007,1,15);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_date(&bdate2, 2006,7,15);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_date(&bdate2, 1900,7,15);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_date(&bdate2, 2008,7,15);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_date(&bdate2, 2154,7,15);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff < 0);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void testBACnetTime(Test * pTest)
|
||||
{
|
||||
BACNET_TIME btime1, btime2;
|
||||
int diff = 0;
|
||||
|
||||
datetime_set_time(&btime1, 0,0,0,0);
|
||||
datetime_copy_time(&btime2, &btime1);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff == 0);
|
||||
|
||||
datetime_set_time(&btime1, 23,59,59,99);
|
||||
datetime_copy_time(&btime2, &btime1);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff == 0);
|
||||
|
||||
/* midpoint */
|
||||
datetime_set_time(&btime1, 12,30,30,50);
|
||||
datetime_copy_time(&btime2, &btime1);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff == 0);
|
||||
datetime_set_time(&btime2, 12,30,30,51);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_time(&btime2, 12,30,31,50);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_time(&btime2, 12,31,30,50);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_time(&btime2, 13,30,30,50);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
|
||||
datetime_set_time(&btime2, 12,30,30,49);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_time(&btime2, 12,30,29,50);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_time(&btime2, 12,29,30,50);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_time(&btime2, 11,30,30,50);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void testBACnetDateTime(Test * pTest)
|
||||
{
|
||||
BACNET_DATE_TIME bdatetime1, bdatetime2;
|
||||
BACNET_DATE bdate;
|
||||
BACNET_TIME btime;
|
||||
int diff = 0;
|
||||
|
||||
datetime_set_values(&bdatetime1, 1900,1,1,0,0,0,0);
|
||||
datetime_copy(&bdatetime2, &bdatetime1);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff == 0);
|
||||
datetime_set_time(&btime, 0,0,0,0);
|
||||
datetime_set_date(&bdate, 1900,1,1);
|
||||
datetime_set(&bdatetime1, &bdate, &btime);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff == 0);
|
||||
|
||||
/* midpoint */
|
||||
datetime_set_values(&bdatetime1, 2000,7,15,12,30,30,50);
|
||||
datetime_set_values(&bdatetime2, 2000,7,15,12,30,30,51);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,15,12,30,31,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,15,12,31,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,15,13,30,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,16,12,30,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_values(&bdatetime2, 2000,8,15,12,30,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_values(&bdatetime2, 2001,7,15,12,30,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,15,12,30,30,49);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,15,12,30,29,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,15,12,29,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,15,11,30,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,14,12,30,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_values(&bdatetime2, 2000,6,15,12,30,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_values(&bdatetime2, 1999,7,15,12,30,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void testBACnetDayOfWeek(Test * pTest)
|
||||
{
|
||||
uint8_t dow = 0;
|
||||
|
||||
/* 1/1/1900 is a Monday */
|
||||
dow = day_of_week(1900, 1, 1);
|
||||
ct_test(pTest, dow == 1);
|
||||
|
||||
/* 1/1/2007 is a Monday */
|
||||
dow = day_of_week(2007, 1, 1);
|
||||
ct_test(pTest, dow == 1);
|
||||
dow = day_of_week(2007, 1, 2);
|
||||
ct_test(pTest, dow == 2);
|
||||
dow = day_of_week(2007, 1, 3);
|
||||
ct_test(pTest, dow == 3);
|
||||
dow = day_of_week(2007, 1, 4);
|
||||
ct_test(pTest, dow == 4);
|
||||
dow = day_of_week(2007, 1, 5);
|
||||
ct_test(pTest, dow == 5);
|
||||
dow = day_of_week(2007, 1, 6);
|
||||
ct_test(pTest, dow == 6);
|
||||
dow = day_of_week(2007, 1, 7);
|
||||
ct_test(pTest, dow == 7);
|
||||
|
||||
dow = day_of_week(2007, 1, 31);
|
||||
ct_test(pTest, dow == 3);
|
||||
|
||||
}
|
||||
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
#include "ctest.h"
|
||||
|
||||
void testBACnetDate(Test * pTest)
|
||||
{
|
||||
BACNET_DATE bdate1, bdate2;
|
||||
int diff = 0;
|
||||
|
||||
datetime_set_date(&bdate1, 1900,1,1);
|
||||
datetime_copy_date(&bdate2, &bdate1);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff == 0);
|
||||
datetime_set_date(&bdate2, 1900,1,2);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_date(&bdate2, 1900,2,1);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_date(&bdate2, 1901,1,1);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff < 0);
|
||||
|
||||
/* midpoint */
|
||||
datetime_set_date(&bdate1, 2007,7,15);
|
||||
datetime_copy_date(&bdate2, &bdate1);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff == 0);
|
||||
datetime_set_date(&bdate2, 2007,7,14);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_date(&bdate2, 2007,7,1);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_date(&bdate2, 2007,7,31);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_date(&bdate2, 2007,8,15);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_date(&bdate2, 2007,12,15);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_date(&bdate2, 2007,6,15);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_date(&bdate2, 2007,1,15);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_date(&bdate2, 2006,7,15);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_date(&bdate2, 1900,7,15);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_date(&bdate2, 2008,7,15);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_date(&bdate2, 2154,7,15);
|
||||
diff = datetime_compare_date(&bdate1, &bdate2);
|
||||
ct_test(pTest, diff < 0);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void testBACnetTime(Test * pTest)
|
||||
{
|
||||
BACNET_TIME btime1, btime2;
|
||||
int diff = 0;
|
||||
|
||||
datetime_set_time(&btime1, 0,0,0,0);
|
||||
datetime_copy_time(&btime2, &btime1);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff == 0);
|
||||
|
||||
datetime_set_time(&btime1, 23,59,59,99);
|
||||
datetime_copy_time(&btime2, &btime1);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff == 0);
|
||||
|
||||
/* midpoint */
|
||||
datetime_set_time(&btime1, 12,30,30,50);
|
||||
datetime_copy_time(&btime2, &btime1);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff == 0);
|
||||
datetime_set_time(&btime2, 12,30,30,51);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_time(&btime2, 12,30,31,50);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_time(&btime2, 12,31,30,50);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_time(&btime2, 13,30,30,50);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
|
||||
datetime_set_time(&btime2, 12,30,30,49);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_time(&btime2, 12,30,29,50);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_time(&btime2, 12,29,30,50);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_time(&btime2, 11,30,30,50);
|
||||
diff = datetime_compare_time(&btime1, &btime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void testBACnetDateTime(Test * pTest)
|
||||
{
|
||||
BACNET_DATE_TIME bdatetime1, bdatetime2;
|
||||
BACNET_DATE bdate;
|
||||
BACNET_TIME btime;
|
||||
int diff = 0;
|
||||
|
||||
datetime_set_values(&bdatetime1, 1900,1,1,0,0,0,0);
|
||||
datetime_copy(&bdatetime2, &bdatetime1);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff == 0);
|
||||
datetime_set_time(&btime, 0,0,0,0);
|
||||
datetime_set_date(&bdate, 1900,1,1);
|
||||
datetime_set(&bdatetime1, &bdate, &btime);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff == 0);
|
||||
|
||||
/* midpoint */
|
||||
/* if datetime1 is before datetime2, returns negative */
|
||||
datetime_set_values(&bdatetime1, 2000,7,15,12,30,30,50);
|
||||
datetime_set_values(&bdatetime2, 2000,7,15,12,30,30,51);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,15,12,30,31,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,15,12,31,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,15,13,30,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,16,12,30,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_values(&bdatetime2, 2000,8,15,12,30,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_values(&bdatetime2, 2001,7,15,12,30,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff < 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,15,12,30,30,49);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,15,12,30,29,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,15,12,29,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,15,11,30,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_values(&bdatetime2, 2000,7,14,12,30,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_values(&bdatetime2, 2000,6,15,12,30,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
datetime_set_values(&bdatetime2, 1999,7,15,12,30,30,50);
|
||||
diff = datetime_compare(&bdatetime1, &bdatetime2);
|
||||
ct_test(pTest, diff > 0);
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void testBACnetDayOfWeek(Test * pTest)
|
||||
{
|
||||
uint8_t dow = 0;
|
||||
|
||||
/* 1/1/1900 is a Monday */
|
||||
dow = day_of_week(1900, 1, 1);
|
||||
ct_test(pTest, dow == 1);
|
||||
|
||||
/* 1/1/2007 is a Monday */
|
||||
dow = day_of_week(2007, 1, 1);
|
||||
ct_test(pTest, dow == 1);
|
||||
dow = day_of_week(2007, 1, 2);
|
||||
ct_test(pTest, dow == 2);
|
||||
dow = day_of_week(2007, 1, 3);
|
||||
ct_test(pTest, dow == 3);
|
||||
dow = day_of_week(2007, 1, 4);
|
||||
ct_test(pTest, dow == 4);
|
||||
dow = day_of_week(2007, 1, 5);
|
||||
ct_test(pTest, dow == 5);
|
||||
dow = day_of_week(2007, 1, 6);
|
||||
ct_test(pTest, dow == 6);
|
||||
dow = day_of_week(2007, 1, 7);
|
||||
ct_test(pTest, dow == 7);
|
||||
|
||||
dow = day_of_week(2007, 1, 31);
|
||||
ct_test(pTest, dow == 3);
|
||||
|
||||
}
|
||||
|
||||
#ifdef TEST_DATE_TIME
|
||||
int main(void)
|
||||
{
|
||||
Test *pTest;
|
||||
bool rc;
|
||||
|
||||
pTest = ct_create("BACnet Date Time", NULL);
|
||||
/* individual tests */
|
||||
rc = ct_addTestFunction(pTest, testBACnetDate);
|
||||
assert(rc);
|
||||
rc = ct_addTestFunction(pTest, testBACnetTime);
|
||||
assert(rc);
|
||||
rc = ct_addTestFunction(pTest, testBACnetDateTime);
|
||||
assert(rc);
|
||||
rc = ct_addTestFunction(pTest, testBACnetDayOfWeek);
|
||||
assert(rc);
|
||||
|
||||
ct_setStream(pTest, stdout);
|
||||
ct_run(pTest);
|
||||
(void) ct_report(pTest);
|
||||
ct_destroy(pTest);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif /* TEST_DATE_TIME */
|
||||
int main(void)
|
||||
{
|
||||
Test *pTest;
|
||||
bool rc;
|
||||
|
||||
pTest = ct_create("BACnet Date Time", NULL);
|
||||
/* individual tests */
|
||||
rc = ct_addTestFunction(pTest, testBACnetDate);
|
||||
assert(rc);
|
||||
rc = ct_addTestFunction(pTest, testBACnetTime);
|
||||
assert(rc);
|
||||
rc = ct_addTestFunction(pTest, testBACnetDateTime);
|
||||
assert(rc);
|
||||
rc = ct_addTestFunction(pTest, testBACnetDayOfWeek);
|
||||
assert(rc);
|
||||
|
||||
ct_setStream(pTest, stdout);
|
||||
ct_run(pTest);
|
||||
(void) ct_report(pTest);
|
||||
ct_destroy(pTest);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif /* TEST_DATE_TIME */
|
||||
#endif /* TEST */
|
||||
|
||||
+12
-11
@@ -63,14 +63,14 @@ extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/* utility initialization functions */
|
||||
void bacapp_set_date(BACNET_DATE * bdate,
|
||||
void datetime_set_date(BACNET_DATE * bdate,
|
||||
uint16_t year, uint8_t month, uint8_t day);
|
||||
void bacapp_set_time(BACNET_TIME * btime,
|
||||
void datetime_set_time(BACNET_TIME * btime,
|
||||
uint8_t hour, uint8_t minute, uint8_t seconds, uint8_t hundredths);
|
||||
void bacapp_set_datetime(BACNET_DATE_TIME * bdatetime,
|
||||
void datetime_set_datetime(BACNET_DATE_TIME * bdatetime,
|
||||
BACNET_DATE * bdate,
|
||||
BACNET_TIME * btime);
|
||||
void bacapp_set_datetime_values(BACNET_DATE_TIME * bdatetime,
|
||||
void datetime_set_datetime_values(BACNET_DATE_TIME * bdatetime,
|
||||
uint16_t year, uint8_t month, uint8_t day,
|
||||
uint8_t hour, uint8_t minute, uint8_t seconds, uint8_t hundredths);
|
||||
|
||||
@@ -78,16 +78,16 @@ extern "C" {
|
||||
if the date/times are the same, return is 0
|
||||
if date1 is before date2, returns negative
|
||||
if date1 is after date2, returns positive */
|
||||
int bacapp_date_compare(BACNET_DATE * date1, BACNET_DATE * date2);
|
||||
int bacapp_time_compare(BACNET_TIME * time1, BACNET_TIME * time2);
|
||||
int bacapp_datetime_compare(
|
||||
int datetime_date_compare(BACNET_DATE * date1, BACNET_DATE * date2);
|
||||
int datetime_time_compare(BACNET_TIME * time1, BACNET_TIME * time2);
|
||||
int datetime_datetime_compare(
|
||||
BACNET_DATE_TIME * datetime1,
|
||||
BACNET_DATE_TIME * datetime2);
|
||||
|
||||
/* utility copy functions */
|
||||
void bacapp_copy_date(BACNET_DATE * date1, BACNET_DATE * date2);
|
||||
void bacapp_copy_time(BACNET_TIME * time1, BACNET_TIME * time2);
|
||||
void bacapp_copy_datetime(
|
||||
void datetime_copy_date(BACNET_DATE * date1, BACNET_DATE * date2);
|
||||
void datetime_copy_time(BACNET_TIME * time1, BACNET_TIME * time2);
|
||||
void datetime_copy_datetime(
|
||||
BACNET_DATE_TIME * datetime1,
|
||||
BACNET_DATE_TIME * datetime2);
|
||||
|
||||
@@ -95,4 +95,5 @@ extern "C" {
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* DATETIME_H */
|
||||
#endif /* DATETIME_H */
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@ SRCS = main.c \
|
||||
$(BACNET_ROOT)/bacprop.c \
|
||||
$(BACNET_ROOT)/bacstr.c \
|
||||
$(BACNET_ROOT)/bactext.c \
|
||||
$(BACNET_ROOT)/datetime.c \
|
||||
$(BACNET_ROOT)/indtext.c \
|
||||
$(BACNET_ROOT)/bigend.c \
|
||||
$(BACNET_ROOT)/whois.c \
|
||||
|
||||
@@ -33,6 +33,7 @@ SRCS = main.c \
|
||||
..\..\bacapp.c \
|
||||
..\..\bacstr.c \
|
||||
..\..\bactext.c \
|
||||
..\..\datetime.c \
|
||||
..\..\indtext.c \
|
||||
..\..\bigend.c \
|
||||
..\..\whois.c \
|
||||
|
||||
@@ -36,6 +36,7 @@ SRCS = main.c \
|
||||
$(BACNET_ROOT)/bacstr.c \
|
||||
$(BACNET_ROOT)/bactext.c \
|
||||
$(BACNET_ROOT)/indtext.c \
|
||||
$(BACNET_ROOT)/datetime.c \
|
||||
$(BACNET_ROOT)/bigend.c \
|
||||
$(BACNET_ROOT)/whois.c \
|
||||
$(BACNET_ROOT)/iam.c \
|
||||
|
||||
@@ -31,6 +31,7 @@ SRCS = main.c \
|
||||
..\..\bacstr.c \
|
||||
..\..\bactext.c \
|
||||
..\..\indtext.c \
|
||||
..\..\datetime.c \
|
||||
..\..\filename.c \
|
||||
..\..\bigend.c \
|
||||
..\..\whois.c \
|
||||
|
||||
@@ -48,6 +48,7 @@ SRCS = readprop.c \
|
||||
$(BACNET_ROOT)/bacdcode.c \
|
||||
$(BACNET_ROOT)/bacapp.c \
|
||||
$(BACNET_ROOT)/bacprop.c \
|
||||
$(BACNET_ROOT)/datetime.c \
|
||||
$(BACNET_ROOT)/bacstr.c \
|
||||
$(BACNET_ROOT)/bactext.c \
|
||||
$(BACNET_ROOT)/indtext.c \
|
||||
|
||||
@@ -32,6 +32,7 @@ SRCS = readprop.c \
|
||||
..\..\bacdcode.c \
|
||||
..\..\bacapp.c \
|
||||
..\..\bacstr.c \
|
||||
..\..\datetime.c \
|
||||
..\..\bactext.c \
|
||||
..\..\indtext.c \
|
||||
..\..\bigend.c \
|
||||
|
||||
@@ -49,6 +49,7 @@ SRCS = main.c \
|
||||
$(BACNET_ROOT)/bacprop.c \
|
||||
$(BACNET_ROOT)/bacstr.c \
|
||||
$(BACNET_ROOT)/bactext.c \
|
||||
$(BACNET_ROOT)/datetime.c \
|
||||
$(BACNET_ROOT)/indtext.c \
|
||||
$(BACNET_ROOT)/bigend.c \
|
||||
$(BACNET_ROOT)/whois.c \
|
||||
|
||||
@@ -33,6 +33,7 @@ SRCS = main.c \
|
||||
..\..\bacapp.c \
|
||||
..\..\bacstr.c \
|
||||
..\..\bactext.c \
|
||||
..\..\datetime.c \
|
||||
..\..\indtext.c \
|
||||
..\..\bigend.c \
|
||||
..\..\whois.c \
|
||||
|
||||
@@ -53,6 +53,7 @@ SRCS = main.c \
|
||||
$(BACNET_ROOT)/bacprop.c \
|
||||
$(BACNET_ROOT)/bacstr.c \
|
||||
$(BACNET_ROOT)/bactext.c \
|
||||
$(BACNET_ROOT)/datetime.c \
|
||||
$(BACNET_ROOT)/indtext.c \
|
||||
$(BACNET_ROOT)/bigend.c \
|
||||
$(BACNET_ROOT)/whois.c \
|
||||
|
||||
@@ -37,6 +37,7 @@ SRCS = main.c \
|
||||
..\..\bacapp.c \
|
||||
..\..\bacstr.c \
|
||||
..\..\bactext.c \
|
||||
..\..\datetime.c \
|
||||
..\..\indtext.c \
|
||||
..\..\bigend.c \
|
||||
..\..\whois.c \
|
||||
|
||||
@@ -49,6 +49,7 @@ SRCS = main.c \
|
||||
$(BACNET_ROOT)/bacprop.c \
|
||||
$(BACNET_ROOT)/bacstr.c \
|
||||
$(BACNET_ROOT)/bactext.c \
|
||||
$(BACNET_ROOT)/datetime.c \
|
||||
$(BACNET_ROOT)/indtext.c \
|
||||
$(BACNET_ROOT)/bigend.c \
|
||||
$(BACNET_ROOT)/whois.c \
|
||||
|
||||
@@ -33,6 +33,7 @@ SRCS = main.c \
|
||||
..\..\bacapp.c \
|
||||
..\..\bacstr.c \
|
||||
..\..\bactext.c \
|
||||
..\..\datetime.c \
|
||||
..\..\indtext.c \
|
||||
..\..\bigend.c \
|
||||
..\..\whois.c \
|
||||
|
||||
@@ -51,7 +51,7 @@ SRCS = main.c \
|
||||
$(BACNET_ROOT)/bacstr.c \
|
||||
$(BACNET_ROOT)/bactext.c \
|
||||
$(BACNET_ROOT)/indtext.c \
|
||||
$(BACNET_ROOT)/bigend.c \
|
||||
$(BACNET_ROOT)/datetime.c \
|
||||
$(BACNET_ROOT)/whois.c \
|
||||
$(BACNET_ROOT)/iam.c \
|
||||
$(BACNET_ROOT)/whohas.c \
|
||||
|
||||
@@ -48,7 +48,7 @@ SRCS = main.c \
|
||||
$(BACNET_ROOT)\bacstr.c \
|
||||
$(BACNET_ROOT)\bactext.c \
|
||||
$(BACNET_ROOT)\indtext.c \
|
||||
$(BACNET_ROOT)\bigend.c \
|
||||
$(BACNET_ROOT)\datetime.c \
|
||||
$(BACNET_ROOT)\whois.c \
|
||||
$(BACNET_ROOT)\iam.c \
|
||||
$(BACNET_ROOT)\whohas.c \
|
||||
|
||||
@@ -35,6 +35,7 @@ SRCS = writefile.c \
|
||||
$(BACNET_ROOT)/bacprop.c \
|
||||
$(BACNET_ROOT)/bacstr.c \
|
||||
$(BACNET_ROOT)/bactext.c \
|
||||
$(BACNET_ROOT)/datetime.c \
|
||||
$(BACNET_ROOT)/indtext.c \
|
||||
$(BACNET_ROOT)/filename.c \
|
||||
$(BACNET_ROOT)/bigend.c \
|
||||
|
||||
@@ -30,6 +30,7 @@ SRCS = writefile.c \
|
||||
..\..\bacapp.c \
|
||||
..\..\bacstr.c \
|
||||
..\..\bactext.c \
|
||||
..\..\datetime.c \
|
||||
..\..\indtext.c \
|
||||
..\..\filename.c \
|
||||
..\..\bigend.c \
|
||||
|
||||
@@ -48,6 +48,7 @@ SRCS = writeprop.c \
|
||||
$(BACNET_ROOT)/bacprop.c \
|
||||
$(BACNET_ROOT)/bacstr.c \
|
||||
$(BACNET_ROOT)/bactext.c \
|
||||
$(BACNET_ROOT)/datetime.c \
|
||||
$(BACNET_ROOT)/indtext.c \
|
||||
$(BACNET_ROOT)/bigend.c \
|
||||
$(BACNET_ROOT)/whois.c \
|
||||
|
||||
@@ -32,6 +32,7 @@ SRCS = writeprop.c \
|
||||
..\..\bacapp.c \
|
||||
..\..\bacstr.c \
|
||||
..\..\bactext.c \
|
||||
..\..\datetime.c \
|
||||
..\..\indtext.c \
|
||||
..\..\bigend.c \
|
||||
..\..\whois.c \
|
||||
|
||||
Reference in New Issue
Block a user