1 // Copyright (c) 1999-2018 David Muse
2 // See the file COPYING for more information
3
4 #include <rudiments/protocolentry.h>
5 #include <rudiments/charstring.h>
6 #include <rudiments/stdio.h>
7 #include "test.cpp"
8
main(int argc,const char ** argv)9 int main(int argc, const char **argv) {
10
11 // uninitialized
12 protocolentry pe;
13 stdoutput.printf("uninitialized:\n");
14 test("name",!pe.getName());
15 test("alias list",!pe.getAliasList());
16 test("number",pe.getNumber()==-1);
17 stdoutput.printf("\n");
18
19
20 // get the protocol information for "tcp"
21 stdoutput.printf("tcp:\n");
22 pe.initialize("tcp");
23 test("name",!charstring::compare(pe.getName(),"tcp"));
24 test("alias list",pe.getAliasList() &&
25 !charstring::compareIgnoringCase(pe.getAliasList()[0],"tcp"));
26 test("number",pe.getNumber()==6);
27 stdoutput.printf("\n");
28
29 // get the protocol information for protocol number 6
30 pe.initialize(6);
31 stdoutput.printf("6:\n");
32 test("name",!charstring::compare(pe.getName(),"tcp"));
33 test("alias list",pe.getAliasList() &&
34 !charstring::compareIgnoringCase(pe.getAliasList()[0],"tcp"));
35 test("number",pe.getNumber()==6);
36 stdoutput.printf("\n");
37
38 // null-safety
39 stdoutput.printf("NULL:\n");
40 pe.initialize((const char *)NULL);
41 test("name",!pe.getName());
42 test("alias list",!pe.getAliasList());
43 test("number",pe.getNumber()==-1);
44 stdoutput.printf("\n");
45 }
46