-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathconceptmapexamplesfactory.cpp
More file actions
78 lines (64 loc) · 1.73 KB
/
conceptmapexamplesfactory.cpp
File metadata and controls
78 lines (64 loc) · 1.73 KB
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
#include "conceptmapexamplesfactory.h"
#include <cassert>
#include <vector>
#include "conceptmapexample.h"
#include "conceptmapexamplefactory.h"
#include "conceptmapexamples.h"
#include "conceptmaphelper.h"
#include "conceptmapregex.h"
ribi::cmap::ExamplesFactory::ExamplesFactory() noexcept
{
}
ribi::cmap::Examples ribi::cmap::ExamplesFactory::Create(
const std::vector<std::pair<std::string,Competency> >& v) const noexcept
{
std::vector<Example> w;
std::transform(v.begin(),v.end(),std::back_inserter(w),
[](const std::pair<std::string,Competency>& p)
{
const Example q
(p.first,p.second);
return q;
}
);
Examples q(w);
return q;
}
ribi::cmap::Examples ribi::cmap::ExamplesFactory::GetTest(const int i) const noexcept
{
assert(i >= 0);
assert(i < GetNumberOfTests());
return GetTests()[i];
}
ribi::cmap::Examples ribi::cmap::ExamplesFactory::Get0() const noexcept
{
assert(!GetTests().empty());
return GetTests()[0];
}
std::vector<ribi::cmap::Examples> ribi::cmap::ExamplesFactory::GetNastyTests() const noexcept
{
std::vector<Examples> v;
v.push_back(Examples(ExampleFactory().GetNastyTests()));
return v;
}
std::vector<ribi::cmap::Examples> ribi::cmap::ExamplesFactory::GetTests() const noexcept
{
const std::vector<std::vector<int> > is = { {0}, {1}, {0,1,2,3}, {} };
std::vector<Examples> v;
std::transform(is.begin(),is.end(),std::back_inserter(v),
[this](const std::vector<int>& js)
{
std::vector<Example> w;
std::transform(js.begin(),js.end(),std::back_inserter(w),
[](const int& j)
{
const Example p = ExampleFactory().GetTest(j);
return p;
}
);
const Examples q(w);
return q;
}
);
return v;
}