mirror of
https://github.com/GothenburgBitFactory/timewarrior.git
synced 2025-06-26 10:54:28 +02:00
Tests: Added matchesFilter
This commit is contained in:
parent
08dbdaae8b
commit
9778884f75
1 changed files with 70 additions and 2 deletions
|
@ -31,9 +31,9 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
int main (int, char**)
|
||||
{
|
||||
UnitTest t (15);
|
||||
UnitTest t (34);
|
||||
|
||||
// std::vector <Interval> splitInterval (const Interval&, std::vector <Range>&);
|
||||
// std::vector <Interval> collapse (const Interval&, std::vector <Range>&);
|
||||
Interval i1;
|
||||
i1.range = Range (Datetime ("20160427T000000Z"), Datetime ("20160428T000000Z"));
|
||||
i1.tag ("foo");
|
||||
|
@ -71,6 +71,74 @@ int main (int, char**)
|
|||
t.is (results[0].range.start.toISO (), "20160427T160000Z", "splitInterval i3 --> results[0].range.start 20160427T160000Z");
|
||||
t.is (results[0].range.end.toISO (), "20160427T173000Z", "splitInterval i3 --> results[0].range.end 20160427T173000Z");
|
||||
|
||||
// bool matchesFilter (const Interval& interval, const Interval& filter);
|
||||
Interval refOpen;
|
||||
refOpen.range = Range (Datetime (2016, 6, 1), Datetime (0));
|
||||
refOpen.tag ("tag1");
|
||||
refOpen.tag ("tag2");
|
||||
|
||||
Interval refClosed;
|
||||
refClosed.range = Range (Datetime (2016, 6, 1), Datetime (2016, 6, 30));
|
||||
refClosed.tag ("tag1");
|
||||
refClosed.tag ("tag2");
|
||||
|
||||
t.ok (matchesFilter (refOpen, refClosed), "matchesFilter 2016-06-01- tag1 tag2 <=> 2016-06-01-2016-06-30 tag1 tag2");
|
||||
|
||||
// this [--------)
|
||||
// A [--------)
|
||||
// B [--------)
|
||||
// C [----)
|
||||
// D [--------)
|
||||
// E [--------)
|
||||
// F [-------------)
|
||||
// G [...
|
||||
// H [...
|
||||
// I [...
|
||||
Range testA; testA.start = Datetime (2016, 4, 1); testA.end = Datetime (2016, 4, 30);
|
||||
Range testB; testB.start = Datetime (2016, 5, 15); testB.end = Datetime (2016, 6, 15);
|
||||
Range testC; testC.start = Datetime (2016, 6, 10); testC.end = Datetime (2016, 6, 20);
|
||||
Range testD; testD.start = Datetime (2016, 6, 15); testD.end = Datetime (2016, 7, 15);
|
||||
Range testE; testE.start = Datetime (2016, 8, 1); testE.end = Datetime (2016, 8, 31);
|
||||
Range testF; testF.start = Datetime (2016, 5, 15); testF.end = Datetime (2016, 7, 15);
|
||||
Range testG; testG.start = Datetime (2016, 5, 15);
|
||||
Range testH; testH.start = Datetime (2016, 6, 15);
|
||||
Range testI; testI.start = Datetime (2016, 7, 15);
|
||||
|
||||
Interval i;
|
||||
i.tag ("tag1");
|
||||
i.tag ("tag2");
|
||||
i.range = testA; t.notok (matchesFilter (i, refClosed), "matchesFilter A <!> refClosed");
|
||||
i.range = testB; t.ok (matchesFilter (i, refClosed), "matchesFilter B <=> refClosed");
|
||||
i.range = testC; t.ok (matchesFilter (i, refClosed), "matchesFilter C <=> refClosed");
|
||||
i.range = testD; t.ok (matchesFilter (i, refClosed), "matchesFilter D <=> refClosed");
|
||||
i.range = testE; t.notok (matchesFilter (i, refClosed), "matchesFilter E <!> refClosed");
|
||||
i.range = testF; t.ok (matchesFilter (i, refClosed), "matchesFilter F <=> refClosed");
|
||||
i.range = testG; t.ok (matchesFilter (i, refClosed), "matchesFilter G <=> refClosed");
|
||||
i.range = testH; t.ok (matchesFilter (i, refClosed), "matchesFilter H <=> refClosed");
|
||||
i.range = testI; t.notok (matchesFilter (i, refClosed), "matchesFilter I <!> refClosed");
|
||||
|
||||
// this [...
|
||||
// A [--------)
|
||||
// B [--------)
|
||||
// C [----)
|
||||
// D [--------)
|
||||
// E [--------)
|
||||
// F [-------------)
|
||||
// G [...
|
||||
// H [...
|
||||
// I [...
|
||||
i.range = testA; t.notok (matchesFilter (i, refOpen), "matchesFilter A <!> refOpen");
|
||||
i.range = testB; t.ok (matchesFilter (i, refOpen), "matchesFilter B <=> refOpen");
|
||||
i.range = testC; t.ok (matchesFilter (i, refOpen), "matchesFilter C <=> refOpen");
|
||||
i.range = testD; t.ok (matchesFilter (i, refOpen), "matchesFilter D <=> refOpen");
|
||||
i.range = testE; t.ok (matchesFilter (i, refOpen), "matchesFilter E <=> refOpen");
|
||||
i.range = testF; t.ok (matchesFilter (i, refOpen), "matchesFilter F <=> refOpen");
|
||||
i.range = testG; t.ok (matchesFilter (i, refOpen), "matchesFilter G <=> refOpen");
|
||||
i.range = testH; t.ok (matchesFilter (i, refOpen), "matchesFilter H <=> refOpen");
|
||||
i.range = testI; t.ok (matchesFilter (i, refOpen), "matchesFilter I <=> refOpen");
|
||||
|
||||
// TODO Now repeat with missing tags.
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue