diff --git a/skeletons/tests/check-UTCTime.c b/skeletons/tests/check-UTCTime.c
new file mode 100644
index 0000000..7522140
--- /dev/null
+++ b/skeletons/tests/check-UTCTime.c
@@ -0,0 +1,54 @@
+#define	__NO_ASN_TABLE__
+#include "../UTCTime.c"
+#define	__NO_ASSERT_H__
+#include "../GeneralizedTime.c"
+#include "../constraints.c"
+
+static void
+check(char *time_str, time_t sample) {
+	UTCTime_t gt;
+	struct tm tm;
+	time_t tloc;
+
+	gt.buf = time_str;
+	gt.size = strlen(time_str);
+
+	tloc = asn_UT2time(&gt, &tm);
+	printf("[%s] -> %ld == %ld\n", time_str, (long)tloc, (long)sample);
+	if(tloc != -1)
+	printf("\t%d-%d-%dT%02d:%02d:%02d %ld\n",
+		tm.tm_year + 1900,
+		tm.tm_mon + 1,
+		tm.tm_mday,
+		tm.tm_hour,
+		tm.tm_min,
+		tm.tm_sec,
+		tm.tm_gmtoff
+	);
+	assert(tloc == sample);
+}
+
+int
+main(int ac, char **av) {
+
+	check("0401250", -1);
+	check("0401250930", -1);	/* "Z" or "(+|-)hhmm" required */
+	check("04012509300", -1);
+	check("040125093000-", -1);
+	check("040125093007-0", -1);
+	check("040125093007-080", -1);
+	check("0401250930.01Z", -1);
+
+	check("040125093007Z", 1075023007);
+	check("040125093007+00", 1075023007);
+	check("040125093007-0800", 1075051807);
+
+	if(ac > 1) {
+		/* These will be valid only inside PST time zone */
+		check("040125093007", 1075051807);
+		check("040125093000,01", 1075051800);
+		check("040125093000,1234", 1075051800);
+	}
+
+	return 0;
+}
