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

davewalker5 / ADS-B-BaseStationReader / 17804934237

17 Sep 2025 04:40PM UTC coverage: 89.917% (-3.8%) from 93.692%
17804934237

push

github

web-flow
Merge pull request #41 from davewalker5/filtered-tracking

Filtered tracking

381 of 461 branches covered (82.65%)

Branch coverage included in aggregate %.

1465 of 1592 new or added lines in 52 files covered. (92.02%)

1465 of 1592 relevant lines covered (92.02%)

38.97 hits per line

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

62.5
/src/BaseStationReader.BusinessLogic/Simulator/MessageGeneratorWrapper.cs
1
using BaseStationReader.Entities.Interfaces;
2
using BaseStationReader.Entities.Messages;
3
using BaseStationReader.Entities.Tracking;
4

5
namespace BaseStationReader.BusinessLogic.Simulator
6
{
7
    public class MessageGeneratorWrapper : IMessageGeneratorWrapper
8
    {
9
        private readonly Random _random = new();
1✔
10
        private readonly IList<IMessageGenerator> _generators;
11

12
        public MessageGeneratorWrapper(IList<IMessageGenerator> generators)
1✔
13
        {
1✔
14
            _generators = generators;
1✔
15
        }
1✔
16

17
        /// <summary>
18
        /// Generate a random MSG message for a given aircraft
19
        /// </summary>
20
        /// <param name="aircraft"></param>
21
        /// <returns></returns>
22
        public Message Generate(Aircraft aircraft)
23
        {
1✔
24
            // Select a random generator
25
            var selector = _random.Next(0, _generators.Count);
1✔
26

27
            // Use the generator to create a message from the specified aircraft
28
            var message = _generators[selector].Generate(aircraft);
1✔
29

30
            // Return the generated message
31
            return message;
1✔
32
        }
1✔
33

34
        /// <summary>
35
        /// Generate a message of a specific type for a given aircraft
36
        /// </summary>
37
        /// <param name="aircraft"></param>
38
        /// <param name="messageType"></param>
39
        /// <returns></returns>
40
        public Message Generate(Aircraft aircraft, string messageType)
NEW
41
        {
×
42
            // Find the specified generator
NEW
43
            var generatorName = $"{messageType}MessageGenerator";
×
NEW
44
            var generator = _generators.Where(x => x.GetType().Name.Equals(generatorName, StringComparison.OrdinalIgnoreCase)).First();
×
45

46
            // Use the generator to create a message from the specified aircraft
NEW
47
            var message = generator.Generate(aircraft);
×
48

49
            // Return the generated message
NEW
50
            return message;
×
NEW
51
        }
×
52
    }
53
}
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