-
Notifications
You must be signed in to change notification settings - Fork 6
/
basictests.cpp
65 lines (49 loc) · 1.34 KB
/
basictests.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
#include <svf/svf.hpp>
#include <cppunit/TestResult.h>
#include <cppunit/TestResultCollector.h>
#include <cppunit/extensions/HelperMacros.h>
#include <iostream>
#include <cmath>
class ExactMatch : public CPPUNIT_NS::TestCase
{
CPPUNIT_TEST_SUITE(ExactMatch);
CPPUNIT_TEST(testExactInt);
CPPUNIT_TEST(testExactIntSampled);
CPPUNIT_TEST_SUITE_END();
public:
ExactMatch() {
}
~ExactMatch() {
}
void setUp(void) {
}
void tearDown(void) {
}
protected:
struct ScalarDist {
template <typename T>
double operator()(T a, T b) {
double ad = a;
double ab = b;
return sqrt(pow(ad, 2) + pow(ab, 2));
}
};
void testExactInt(void) {
SVF::SVF<int, ScalarDist, int, ScalarDist> svf;
for (size_t i=0; i<1000; i++) {
svf.pushTimestep(i, i);
}
double svfVal = svf.computeSVF();
CPPUNIT_ASSERT_EQUAL(svfVal, 1.0);
}
void testExactIntSampled(void) {
SVF::SVF<int, ScalarDist, int, ScalarDist> svf;
for (size_t i=0; i<1000; i++) {
svf.pushTimestep(i, i);
}
//double svfVal = svf.computeSVF(SVF::RandomTraceProportional(25));
//CPPUNIT_ASSERT_EQUAL(svfVal, 1.0);
CPPUNIT_ASSERT(false);
}
};
CPPUNIT_TEST_SUITE_REGISTRATION(ExactMatch);