forked from dlang/phobos
-
Notifications
You must be signed in to change notification settings - Fork 3
/
unittest.d
121 lines (107 loc) · 3.58 KB
/
unittest.d
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
// Written in the D programming language.
/**
* This test program pulls in all the library modules in order to run the unit
* tests on them. Then, it prints out the arguments passed to main().
*
* Copyright: Copyright Digital Mars 2000 - 2009.
* License: $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
* Authors: $(HTTP digitalmars.com, Walter Bright)
*
* Copyright Digital Mars 2000 - 2009.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
*/
public import std.base64;
public import std.compiler;
public import std.concurrency;
public import std.conv;
public import std.container;
public import std.datetime;
public import std.demangle;
public import std.file;
public import std.format;
public import std.getopt;
public import std.math;
public import std.mathspecial;
public import std.mmfile;
public import std.outbuffer;
public import std.parallelism;
public import std.path;
public import std.process;
public import std.random;
public import std.regex;
public import std.signals;
//public import std.slist;
public import std.socket;
public import std.stdint;
public import std.stdio;
public import std.string;
public import std.system;
public import std.traits;
public import std.typetuple;
public import std.uni;
public import std.uri;
public import std.utf;
public import std.uuid;
public import std.variant;
public import std.zip;
public import std.zlib;
public import std.net.isemail;
public import std.net.curl;
public import std.digest;
public import std.digest.crc;
public import std.digest.sha;
public import std.digest.md;
public import std.digest.hmac;
int main(string[] args)
{
// Bring in unit test for module by referencing function in it
cast(void) cmp("foo", "bar"); // string
cast(void) filenameCharCmp('a', 'b'); // path
cast(void) isNaN(1.0); // math
std.conv.to!double("1.0"); // std.conv
OutBuffer b = new OutBuffer(); // outbuffer
auto r = regex(""); // regex
uint ranseed = std.random.unpredictableSeed;
thisTid;
int[] a;
import std.algorithm.sorting : sort;
import std.algorithm.mutation : reverse;
reverse(a); // adi
sort(a); // qsort
Clock.currTime(); // datetime
cast(void) isValidDchar(cast(dchar) 0); // utf
string s1 = "http://www.digitalmars.com/~fred/fredsRX.html#foo end!";
assert(uriLength(s1) == 49);
std.zlib.adler32(0,null); // D.zlib
auto t = task!cmp("foo", "bar"); // parallelism
printf("args.length = %d\n", cast(int)args.length);
for (int i = 0; i < args.length; i++)
printf("args[%d] = '%.*s'\n", i, cast(int)args[i].length, args[i].ptr);
int[3] x;
x[0] = 3;
x[1] = 45;
x[2] = -1;
sort(x[]);
assert(x[0] == -1);
assert(x[1] == 3);
assert(x[2] == 45);
cast(void) std.math.sin(3.0);
cast(void) std.mathspecial.gamma(6.2);
cast(void) std.demangle.demangle("hello");
cast(void) std.uni.isAlpha('A');
std.file.exists("foo");
foreach_reverse (dchar d; "hello"c) { }
foreach_reverse (k, dchar d; "hello"c) { }
std.signals.linkin();
bool isEmail = std.net.isemail.isEmail("abc");
auto http = std.net.curl.HTTP("dlang.org");
auto uuid = randomUUID();
auto md5 = md5Of("hello");
auto sha1 = sha1Of("hello");
auto crc = crc32Of("hello");
auto string = toHexString(crc);
puts("Success!");
return 0;
}