summaryrefslogtreecommitdiff
path: root/test/other/split.cpp
blob: e0f5ee1a57fc34179a6c7ba5b4e4537f2931d3f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "../util.h"
#include <other/split.cpp>

vector<string> split2(string_view s, string_view delim) {
	vector<string> res;
	while (!s.empty()) {
		auto end = s.find_first_of(delim);
		if (end != 0) res.emplace_back(s.substr(0, end));
		if (end == string_view::npos) break;
		s.remove_prefix(end + 1);
	}
	return res;
}

int main() {
	auto in = "+" + Random::string(100, "abcdef+-*") + "-";
	
	auto expected = split2(in, "+-*");
	auto got = split(in, "+-*");

	if (got != expected) cerr << "error" << FAIL;
	cerr << "done" << endl;
}