• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

MeindertN / RoboClerk / 15744196809

18 Jun 2025 05:49PM UTC coverage: 83.445% (+3.5%) from 79.923%
15744196809

push

github

web-flow
Merge pull request #62 from MeindertN/V1.5.0

V1.5.0

1574 of 1915 branches covered (82.19%)

Branch coverage included in aggregate %.

868 of 1110 new or added lines in 27 files covered. (78.2%)

6 existing lines in 2 files now uncovered.

5029 of 5998 relevant lines covered (83.84%)

108.32 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

95.54
/RoboClerk/DataSources/PluginDataSources.cs
1
using RoboClerk.Configuration;
2
using System.Collections.Generic;
3
using System.IO.Abstractions;
4

5
namespace RoboClerk
6
{
7
    public class PluginDataSources : DataSourcesBase, IDataSources
8
    {
9
        private List<IDataSourcePlugin> plugins = new List<IDataSourcePlugin>();
41✔
10

11
        private readonly IPluginLoader pluginLoader = null;
41✔
12

13
        public PluginDataSources(IConfiguration configuration, IPluginLoader pluginLoader, IFileSystem fileSystem)
14
            : base(configuration, fileSystem)
41✔
15
        {
41✔
16
            this.pluginLoader = pluginLoader;
41✔
17

18
            LoadPlugins();
41✔
19
        }
41✔
20

21
        private void LoadPlugins()
22
        {
41✔
23
            foreach (var val in configuration.DataSourcePlugins)
415✔
24
            {
146✔
25
                foreach (var dir in configuration.PluginDirs)
1,022✔
26
                {
292✔
27
                    var plugin = pluginLoader.LoadPlugin<IPlugin>(val, dir, fileSystem);
292✔
28
                    if (plugin != null)
292✔
29
                    {
110✔
30
                        plugin.Initialize(configuration);
110✔
31
                        if (plugin as IDataSourcePlugin != null)
110✔
32
                        {
94✔
33
                            var temp = plugin as IDataSourcePlugin;
94✔
34
                            temp.RefreshItems();
94✔
35
                            plugins.Add(temp);
94✔
36
                            continue;
94✔
37
                        }
38
                    }
16✔
39
                }
198✔
40
            }
146✔
41
        }
41✔
42

43
        public override List<SOUPItem> GetAllSOUP()
44
        {
11✔
45
            List<SOUPItem> list = new List<SOUPItem>();
11✔
46
            foreach (var plugin in plugins)
91✔
47
            {
29✔
48
                list.AddRange(plugin.GetSOUP());
29✔
49
            }
29✔
50
            return list;
11✔
51
        }
11✔
52

53
        public override List<EliminatedSOUPItem> GetAllEliminatedSOUP()
54
        {
3✔
55
            List<EliminatedSOUPItem> list = new List<EliminatedSOUPItem>();
3✔
56
            foreach (var plugin in plugins)
27✔
57
            {
9✔
58
                list.AddRange(plugin.GetEliminatedSOUP());
9✔
59
            }
9✔
60
            return list;
3✔
61
        }
3✔
62

63
        public override List<RiskItem> GetAllRisks()
64
        {
10✔
65
            List<RiskItem> list = new List<RiskItem>();
10✔
66
            foreach (var plugin in plugins)
82✔
67
            {
26✔
68
                list.AddRange(plugin.GetRisks());
26✔
69
            }
26✔
70
            return list;
10✔
71
        }
10✔
72

73
        public override List<EliminatedRiskItem> GetAllEliminatedRisks()
74
        {
4✔
75
            List<EliminatedRiskItem> list = new List<EliminatedRiskItem>();
4✔
76
            foreach (var plugin in plugins)
36✔
77
            {
12✔
78
                list.AddRange(plugin.GetEliminatedRisks());
12✔
79
            }
12✔
80
            return list;
4✔
81
        }
4✔
82

83
        public override List<ExternalDependency> GetAllExternalDependencies()
84
        {
2✔
85
            var dependencies = new List<ExternalDependency>();
2✔
86
            foreach (var plugin in plugins)
16✔
87
            {
5✔
88
                dependencies.AddRange(plugin.GetDependencies());
5✔
89
            }
5✔
90
            return dependencies;
2✔
91
        }
2✔
92

93
        public override List<TestResult> GetAllTestResults()
NEW
94
        {
×
NEW
95
            var results = new List<TestResult>();
×
NEW
96
            foreach (var plugin in plugins)
×
NEW
97
            {
×
NEW
98
                results.AddRange(plugin.GetTestResults());
×
NEW
99
            }
×
NEW
100
            return results;
×
NEW
101
        }
×
102

103
        public override List<UnitTestItem> GetAllUnitTests()
104
        {
13✔
105
            var unitTests = new List<UnitTestItem>();
13✔
106
            foreach (var plugin in plugins)
109✔
107
            {
35✔
108
                unitTests.AddRange(plugin.GetUnitTests());
35✔
109
            }
35✔
110
            return unitTests;
13✔
111
        }
13✔
112

113
        public override List<RequirementItem> GetAllSoftwareRequirements()
114
        {
33✔
115
            List<RequirementItem> items = new List<RequirementItem>();
33✔
116
            foreach (var plugin in plugins)
229✔
117
            {
65✔
118
                items.AddRange(plugin.GetSoftwareRequirements());
65✔
119
            }
65✔
120
            return items;
33✔
121
        }
33✔
122

123
        public override List<RequirementItem> GetAllSystemRequirements()
124
        {
33✔
125
            List<RequirementItem> items = new List<RequirementItem>();
33✔
126
            foreach (var plugin in plugins)
225✔
127
            {
63✔
128
                items.AddRange(plugin.GetSystemRequirements());
63✔
129
            }
63✔
130
            return items;
33✔
131
        }
33✔
132

133
        public override List<RequirementItem> GetAllDocumentationRequirements()
134
        {
17✔
135
            List<RequirementItem> items = new List<RequirementItem>();
17✔
136
            foreach (var plugin in plugins)
141✔
137
            {
45✔
138
                items.AddRange(plugin.GetDocumentationRequirements());
45✔
139
            }
45✔
140
            return items;
17✔
141
        }
17✔
142

143
        public override List<DocContentItem> GetAllDocContents()
144
        {
16✔
145
            List<DocContentItem> items = new List<DocContentItem>();
16✔
146
            foreach (var plugin in plugins)
132✔
147
            {
42✔
148
                items.AddRange(plugin.GetDocContents());
42✔
149
            }
42✔
150
            return items;
16✔
151
        }
16✔
152

153
        public override List<EliminatedDocContentItem> GetAllEliminatedDocContents()
154
        {
3✔
155
            List<EliminatedDocContentItem> items = new List<EliminatedDocContentItem>();
3✔
156
            foreach (var plugin in plugins)
27✔
157
            {
9✔
158
                items.AddRange(plugin.GetEliminatedDocContents());
9✔
159
            }
9✔
160
            return items;
3✔
161
        }
3✔
162

163
        public override List<SoftwareSystemTestItem> GetAllSoftwareSystemTests()
164
        {
14✔
165
            List<SoftwareSystemTestItem> items = new List<SoftwareSystemTestItem>();
14✔
166
            foreach (var plugin in plugins)
118✔
167
            {
38✔
168
                items.AddRange(plugin.GetSoftwareSystemTests());
38✔
169
            }
38✔
170
            return items;
14✔
171
        }
14✔
172

173
        public override List<AnomalyItem> GetAllAnomalies()
174
        {
12✔
175
            List<AnomalyItem> items = new List<AnomalyItem>();
12✔
176
            foreach (var plugin in plugins)
100✔
177
            {
32✔
178
                items.AddRange(plugin.GetAnomalies());
32✔
179
            }
32✔
180
            return items;
12✔
181
        }
12✔
182

183
        public override List<EliminatedAnomalyItem> GetAllEliminatedAnomalies()
184
        {
3✔
185
            List<EliminatedAnomalyItem> items = new List<EliminatedAnomalyItem>();
3✔
186
            foreach (var plugin in plugins)
27✔
187
            {
9✔
188
                items.AddRange(plugin.GetEliminatedAnomalies());
9✔
189
            }
9✔
190
            return items;
3✔
191
        }
3✔
192

193
        public override List<EliminatedRequirementItem> GetAllEliminatedSystemRequirements()
194
        {
4✔
195
            List<EliminatedRequirementItem> items = new List<EliminatedRequirementItem>();
4✔
196
            foreach (var plugin in plugins)
36✔
197
            {
12✔
198
                items.AddRange(plugin.GetEliminatedSystemRequirements());
12✔
199
            }
12✔
200
            return items;
4✔
201
        }
4✔
202

203
        public override List<EliminatedRequirementItem> GetAllEliminatedSoftwareRequirements()
204
        {
4✔
205
            List<EliminatedRequirementItem> items = new List<EliminatedRequirementItem>();
4✔
206
            foreach (var plugin in plugins)
36✔
207
            {
12✔
208
                items.AddRange(plugin.GetEliminatedSoftwareRequirements());
12✔
209
            }
12✔
210
            return items;
4✔
211
        }
4✔
212

213
        public override List<EliminatedRequirementItem> GetAllEliminatedDocumentationRequirements()
214
        {
4✔
215
            List<EliminatedRequirementItem> items = new List<EliminatedRequirementItem>();
4✔
216
            foreach (var plugin in plugins)
36✔
217
            {
12✔
218
                items.AddRange(plugin.GetEliminatedDocumentationRequirements());
12✔
219
            }
12✔
220
            return items;
4✔
221
        }
4✔
222

223
        public override List<EliminatedSoftwareSystemTestItem> GetAllEliminatedSoftwareSystemTests()
224
        {
4✔
225
            List<EliminatedSoftwareSystemTestItem> items = new List<EliminatedSoftwareSystemTestItem>();
4✔
226
            foreach (var plugin in plugins)
36✔
227
            {
12✔
228
                items.AddRange(plugin.GetEliminatedSoftwareSystemTests());
12✔
229
            }
12✔
230
            return items;
4✔
231
        }
4✔
232
    }
233
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc