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

MeindertN / RoboClerk / 14626972474

23 Apr 2025 07:59PM UTC coverage: 78.447% (-4.1%) from 82.581%
14626972474

push

github

MeindertN
WIP: Fixed existing tests

1142 of 1418 branches covered (80.54%)

Branch coverage included in aggregate %.

1 of 1 new or added line in 1 file covered. (100.0%)

179 existing lines in 5 files now uncovered.

3728 of 4790 relevant lines covered (77.83%)

103.44 hits per line

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

82.14
/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>();
32✔
10

11
        private readonly IPluginLoader pluginLoader = null;
32✔
12

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

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

21
        private void LoadPlugins()
22
        {
32✔
23
            foreach (var val in configuration.DataSourcePlugins)
316✔
24
            {
110✔
25
                foreach (var dir in configuration.PluginDirs)
770✔
26
                {
220✔
27
                    var plugin = pluginLoader.LoadPlugin<IPlugin>(val, dir, fileSystem);
220✔
28
                    if (plugin != null)
220✔
29
                    {
83✔
30
                        plugin.Initialize(configuration);
83✔
31
                        if (plugin as IDataSourcePlugin != null)
83✔
32
                        {
67✔
33
                            var temp = plugin as IDataSourcePlugin;
67✔
34
                            temp.RefreshItems();
67✔
35
                            plugins.Add(temp);
67✔
36
                            continue;
67✔
37
                        }
38
                    }
16✔
39
                }
153✔
40
            }
110✔
41
        }
32✔
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()
UNCOV
54
        {
×
UNCOV
55
            List<EliminatedSOUPItem> list = new List<EliminatedSOUPItem>();
×
UNCOV
56
            foreach (var plugin in plugins)
×
UNCOV
57
            {
×
UNCOV
58
                list.AddRange(plugin.GetEliminatedSOUP());
×
UNCOV
59
            }
×
UNCOV
60
            return list;
×
UNCOV
61
        }
×
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
        {
1✔
75
            List<EliminatedRiskItem> list = new List<EliminatedRiskItem>();
1✔
76
            foreach (var plugin in plugins)
9✔
77
            {
3✔
78
                list.AddRange(plugin.GetEliminatedRisks());
3✔
79
            }
3✔
80
            return list;
1✔
81
        }
1✔
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()
UNCOV
94
        {
×
UNCOV
95
            var results = new List<TestResult>();
×
UNCOV
96
            foreach (var plugin in plugins)
×
UNCOV
97
            {
×
UNCOV
98
                results.AddRange(plugin.GetTestResults());
×
UNCOV
99
            }
×
UNCOV
100
            return results;
×
UNCOV
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()
UNCOV
154
        {
×
UNCOV
155
            List<EliminatedDocContentItem> items = new List<EliminatedDocContentItem>();
×
UNCOV
156
            foreach (var plugin in plugins)
×
UNCOV
157
            {
×
UNCOV
158
                items.AddRange(plugin.GetEliminatedDocContents());
×
UNCOV
159
            }
×
UNCOV
160
            return items;
×
UNCOV
161
        }
×
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()
UNCOV
184
        {
×
UNCOV
185
            List<EliminatedAnomalyItem> items = new List<EliminatedAnomalyItem>();
×
UNCOV
186
            foreach (var plugin in plugins)
×
UNCOV
187
            {
×
UNCOV
188
                items.AddRange(plugin.GetEliminatedAnomalies());
×
UNCOV
189
            }
×
UNCOV
190
            return items;
×
UNCOV
191
        }
×
192

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

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

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

223
        public override List<EliminatedSoftwareSystemTestItem> GetAllEliminatedSoftwareSystemTests()
224
        {
1✔
225
            List<EliminatedSoftwareSystemTestItem> items = new List<EliminatedSoftwareSystemTestItem>();
1✔
226
            foreach (var plugin in plugins)
9✔
227
            {
3✔
228
                items.AddRange(plugin.GetEliminatedSoftwareSystemTests());
3✔
229
            }
3✔
230
            return items;
1✔
231
        }
1✔
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