forked from Arduino-CI/arduino_ci
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclientServer.cpp
87 lines (78 loc) · 2.17 KB
/
clientServer.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <Arduino.h>
#include <ArduinoUnitTests.h>
#include <Client.h>
#include <IPAddress.h>
#include <Printable.h>
#include <Server.h>
#include <Udp.h>
// Provide some rudamentary tests for these classes
// They get more thoroughly tested in SampleProjects/NetworkLib
unittest(Client) {
Client client;
assertEqual(0, client.available()); // subclass of Stream
assertEqual(0, client.availableForWrite()); // subclass of Print
String outData = "Hello, world!";
client.println(outData);
String inData = client.readString();
assertEqual(outData + "\r\n", inData);
}
unittest(IPAddress) {
IPAddress ipAddress0;
assertEqual(0, ipAddress0.asWord());
uint32_t one = 0x01020304;
IPAddress ipAddress1(one);
assertEqual(one, ipAddress1.asWord());
IPAddress ipAddress2(2, 3, 4, 5);
assertEqual(0x05040302, ipAddress2.asWord());
uint8_t bytes[] = {3, 4, 5, 6};
IPAddress ipAddress3(bytes);
assertEqual(0x06050403, ipAddress3.asWord());
uint8_t *pBytes = ipAddress1.raw_address();
assertEqual(*(pBytes + 0), 4);
assertEqual(*(pBytes + 1), 3);
assertEqual(*(pBytes + 2), 2);
assertEqual(*(pBytes + 3), 1);
IPAddress ipAddress1a(one);
assertTrue(ipAddress1 == ipAddress1a);
assertTrue(ipAddress1 != ipAddress2);
assertEqual(1, ipAddress1[3]);
ipAddress1[1] = 11;
assertEqual(11, ipAddress1[1]);
assertEqual(1, ipAddress0 + 1);
}
class TestPrintable : public Printable {
public:
virtual size_t printTo(Print &p) const {
p.print("TestPrintable");
return 13;
}
};
unittest(Printable) {
TestPrintable printable;
Client client;
client.print(printable);
assertEqual("TestPrintable", client.readString());
}
class TestServer : public Server {
public:
uint8_t data;
virtual size_t write(uint8_t value) {
data = value;
return 1;
};
};
unittest(Server) {
TestServer server;
server.write(67);
assertEqual(67, server.data);
}
unittest(Udp) {
UDP udp;
assertEqual(0, udp.available()); // subclass of Stream
assertEqual(0, udp.availableForWrite()); // subclass of Print
String outData = "Hello, world!";
udp.println(outData);
String inData = udp.readString();
assertEqual(outData + "\r\n", inData);
}
unittest_main()