FOSSology  4.4.0
Open Source License Compliance by Open Source Software
test_nomos_gap.c
Go to the documentation of this file.
1 /*
2  SPDX-FileCopyrightText: © 2014 Siemens AG
3 
4  SPDX-License-Identifier: GPL-2.0-only
5 */
11 #include <stdlib.h>
12 #include <stdio.h>
13 #include <CUnit/CUnit.h>
14 #include <stdarg.h>
15 
16 #include "nomos_gap.h"
17 
26 {
27  char* buf, *fer;
28  GArray* po;
29  buf=g_strdup_printf("\377abc\377\377de\377\377fg\377hi");
30  fer=g_strdup(buf);
31 
32  po=collapseInvisible(buf,(char)'\377');
33  for(guint i=0; i<po->len; ++i) {
34  pairPosOff* thePoA = getPairPosOff(po, i);
35  CU_ASSERT_EQUAL(*(buf+thePoA->pos), *(fer+thePoA->pos+thePoA->off));
36  }
37  g_array_free(po,TRUE);
38  g_free(buf);
39  g_free(fer);
40 }
41 
50 {
51  char* buf, *fer;
52  GArray* po;
53  buf=g_strdup_printf("\377abc\377\377de\377\377fg\377hi");
54  fer=g_strdup(buf);
55  po=collapseInvisible(buf,(char)'\377' );
56 
57  for(size_t i=0; i< strlen(buf); i++){
58  CU_ASSERT_EQUAL( *(buf+i) , *(fer + uncollapsePosition(i,po)) );
59  }
60  g_array_free(po,TRUE);
61  g_free(buf);
62  g_free(fer);
63 }
64 
73 {
74  char* buf, *fer;
75  GArray* po;
76  buf=g_strdup_printf(" abc d e fghi");
77  fer=g_strdup(buf);
78  po = collapseSpaces(buf);
79  for(guint i=0; i<po->len; ++i) {
80  pairPosOff* thePoA = getPairPosOff(po, i);
81  CU_ASSERT_EQUAL(*(buf+thePoA->pos), *(fer+thePoA->pos+thePoA->off));
82  }
83  g_array_free(po,TRUE);
84  g_free(buf);
85  g_free(fer);
86 }
87 
96 {
97  char* buf, *fer;
98  GArray* po;
99  buf=g_strdup_printf(" abc d e fghi");
100  fer=g_strdup(buf);
101  po = collapseSpaces(buf);
102  for(size_t i=0; i< strlen(buf); i++){
103  CU_ASSERT_EQUAL( *(buf+i) , *(fer + uncollapsePosition(i,po)) );
104  }
105  g_array_free(po,TRUE);
106  g_free(buf);
107  g_free(fer);
108 }
109 
110 CU_TestInfo nomos_gap_testcases[] = {
111  {"Testing collapse space:", test_collapseSpaces},
112  {"Testing uncollapse space:", test_uncollapseSpaces},
113  {"Testing collapse:", test_collapseInvisible},
114  {"Testing uncollapse:", test_uncollapseInvisible},
115  CU_TEST_INFO_NULL
116 };
GArray * collapseInvisible(char *text, char invisible)
Definition: nomos_gap.c:19
GArray * collapseSpaces(char *text)
Definition: nomos_gap.c:51
void test_collapseInvisible()
Test for collapseInvisible()
void test_uncollapseInvisible()
Test for uncollapsePosition() on collapseInvisible()
void test_collapseSpaces()
Test for collapseSpaces()
void test_uncollapseSpaces()
Test for uncollapsePosition() on collapseSpaces()