Ejemplo n.º 1
0
            public void ReturnsBody(string body)
            {
                var tmEvent = TmEventUtil.CreateRandomValidTmEvent();

                var result = Worker.GetBodyOrDefault(body, tmEvent);

                result.Should().Be(Worker.GetBody(body, tmEvent));
            }
Ejemplo n.º 2
0
            public void ReturnsDefaultWhenTemplateIsNull()
            {
                var tmEvent = TmEventUtil.CreateRandomValidTmEvent();

                var result = Worker.GetBodyOrDefault(null, tmEvent);

                result.Should().Be(Worker.GetDefaultBody(tmEvent));
            }
Ejemplo n.º 3
0
            public void ReturnsNullWhenTemplateIsNull()
            {
                var ev = TmEventUtil.CreateRandomValidTmEvent();

                var result = Worker.GetBody(null, ev);

                result.Should().BeNull();
            }
Ejemplo n.º 4
0
            public void ReturnsCorrectString()
            {
                var ev = TmEventUtil.CreateRandomValidTmEvent();

                var result = Worker.GetDefaultBody(ev);

                result.Should().Be(
                    $"{ev.Time} | {ev.ImportanceAlias} | {ev.Text} | {ev.StateString} | {ev.TypeString} | {ev.Username}");
            }
Ejemplo n.º 5
0
            public void ReturnsStringWithSubstitutedDefaultBody()
            {
                var body    = "Dummy {defaultBody}";
                var tmEvent = TmEventUtil.CreateRandomValidTmEvent();

                var result = Worker.GetBody(body, tmEvent);

                result.Should().Be($"Dummy {Worker.GetDefaultBody(tmEvent)}");
            }
Ejemplo n.º 6
0
            public void ReturnsStringWithSubstitutedTmAddr(string tmAddr)
            {
                var body    = "Dummy {tmAddr}";
                var tmEvent = TmEventUtil.CreateRandomValidTmEvent(dto => dto.TmaStr = tmAddr);

                var result = Worker.GetBody(body, tmEvent);

                result.Should().Be($"Dummy {tmAddr}");
            }
Ejemplo n.º 7
0
            public void ReturnsStringWithSubstitutedUsername(string username)
            {
                var body    = "Dummy {username}";
                var tmEvent = TmEventUtil.CreateRandomValidTmEvent(dto => dto.UserName = username);

                var result = Worker.GetBody(body, tmEvent);

                result.Should().Be($"Dummy {username}");
            }
Ejemplo n.º 8
0
            public void ReturnsStringWithSubstitutedType(string type)
            {
                var body    = "Dummy {type}";
                var tmEvent = TmEventUtil.CreateRandomValidTmEvent(dto => dto.RecTypeName = type);

                var result = Worker.GetBody(body, tmEvent);

                result.Should().Be($"Dummy {type}");
            }
Ejemplo n.º 9
0
            public void ReturnsStringWithSubstitutedState(string state)
            {
                var body    = "Dummy {state}";
                var tmEvent = TmEventUtil.CreateRandomValidTmEvent(dto => dto.RecStateText = state);

                var result = Worker.GetBody(body, tmEvent);

                result.Should().Be($"Dummy {state}");
            }
Ejemplo n.º 10
0
            public void ReturnsStringWithSubstitutedImportance(short importanceId, string importance)
            {
                var body    = "Dummy {importance}";
                var tmEvent = TmEventUtil.CreateRandomValidTmEvent(dto => dto.Importance = importanceId);

                var result = Worker.GetBody(body, tmEvent);

                result.Should().Be($"Dummy {importance}");
            }
Ejemplo n.º 11
0
            public void ReturnsSameStringWhenNoSubstitutes()
            {
                var body    = "Dummy no substitutes";
                var tmEvent = TmEventUtil.CreateRandomValidTmEvent();

                var result = Worker.GetBody(body, tmEvent);

                result.Should().Be(body);
            }
Ejemplo n.º 12
0
            public void ReturnsStringWithSubstitutedTime(DateTime time)
            {
                var body    = "Dummy {time}";
                var tmEvent = TmEventUtil.CreateRandomValidTmEvent(dto => dto.UpdateTime = time);

                var result = Worker.GetBodyOrDefault(body, tmEvent);

                result.Should().Be($"Dummy {time}");
            }
Ejemplo n.º 13
0
            public void ReturnsStringWithSubstitutedTimeFormat(string format, string expected)
            {
                var body    = "Dummy {time:" + format + "}";
                var time    = new DateTime(2020, 04, 12, 09, 07, 00);
                var tmEvent = TmEventUtil.CreateRandomValidTmEvent(dto => dto.UpdateTime = time);

                var result = Worker.GetBody(body, tmEvent);

                result.Should().Be($"Dummy {expected}");
            }
            public void ReturnsCorrectValueWithImportancesFilter(int importance, bool expected)
            {
                var importances = new List <int> {
                    1, 2
                };
                var filter = new WorkerFilter(new WorkerFilterConfig {
                    Importances = importances
                });
                var tmEvent = TmEventUtil.CreateRandomValidTmEvent(dto => dto.Importance = (short)importance);

                var result = filter.IsEventSuitable(tmEvent);

                result.Should().Be(expected);
            }
            public void ReturnsCorrectValueWithTypesFilter(TmEventTypes tmEventType, bool expected)
            {
                var types = new List <TmEventTypes> {
                    TmEventTypes.StatusChange, TmEventTypes.Alarm
                };
                var filter = new WorkerFilter(new WorkerFilterConfig {
                    Types = types
                });
                var tmEvent = TmEventUtil.CreateRandomValidTmEvent(dto => dto.RecType = (short)tmEventType);

                var result = filter.IsEventSuitable(tmEvent);

                result.Should().Be(expected);
            }
Ejemplo n.º 16
0
            public void ReturnsStringWithSubstitutedMultipleFields(DateTime time, string name, string state)
            {
                var body    = "Dummy {time} {name} {state} {name}";
                var tmEvent = TmEventUtil.CreateRandomValidTmEvent(dto =>
                {
                    dto.UpdateTime   = time;
                    dto.Name         = name;
                    dto.RecStateText = state;
                });

                var result = Worker.GetBody(body, tmEvent);

                result.Should().Be($"Dummy {time} {name} {state} {name}");
            }
            public void ReturnsTrueWhenEmptyFilter()
            {
                var filter   = new WorkerFilter(null);
                var tmEvents = new List <TmEvent>();

                for (var i = 0; i < 100; i++)
                {
                    tmEvents.Add(TmEventUtil.CreateRandomValidTmEvent());
                }

                foreach (var tmEvent in tmEvents)
                {
                    filter.IsEventSuitable(tmEvent)
                    .Should()
                    .BeTrue();
                }
            }
            public void ReturnsCorrectValueWithAnalogsFilter(int ch, int rtu, int point, bool expected)
            {
                var analogs = new List <string> {
                    "20:3:2..4", "20:3:6"
                };
                var filter = new WorkerFilter(new WorkerFilterConfig {
                    Analogs = analogs
                });
                var analogType = TmNativeDefs.TmDataTypes.Analog;
                var tmEvent    = TmEventUtil.CreateRandomValidTmEvent(dto =>
                {
                    dto.TmType = (short)analogType;
                    dto.Tma    = (int)TmAddr.EncodeComplexInteger(ch, rtu, point);
                });

                var result = filter.IsEventSuitable(tmEvent);

                result.Should().Be(expected);
            }
            public void ReturnsFalseWithStatusesAnalogsFilterAndZeroAddr()
            {
                var statuses = new List <string> {
                    "10:1:2..4", "10:1:6"
                };
                var analogs = new List <string> {
                    "20:3:2..4", "20:3:6"
                };
                var filter = new WorkerFilter(new WorkerFilterConfig {
                    Statuses = statuses, Analogs = analogs
                });
                var tmEvent = TmEventUtil.CreateRandomValidTmEvent(dto =>
                {
                    dto.TmType = 0;
                    dto.Tma    = 0;
                });

                var result = filter.IsEventSuitable(tmEvent);

                result.Should().BeFalse();
            }
            public void ReturnsFalseWithStatusesAnalogsFilterAndOverlap()
            {
                var statuses = new List <string> {
                    "10:1:2..4", "10:1:6"
                };
                var analogs = new List <string> {
                    "20:3:2..4", "20:3:6"
                };
                var filter = new WorkerFilter(new WorkerFilterConfig {
                    Statuses = statuses, Analogs = analogs
                });
                var statusType         = TmNativeDefs.TmDataTypes.Status;
                var analogType         = TmNativeDefs.TmDataTypes.Analog;
                var tmEventStatusFalse = TmEventUtil.CreateRandomValidTmEvent(dto =>
                {
                    dto.TmType = (short)statusType;
                    dto.Tma    = (int)TmAddr.EncodeComplexInteger(20, 3, 6);
                });
                var tmEventStatusTrue = TmEventUtil.CreateRandomValidTmEvent(dto =>
                {
                    dto.TmType = (short)statusType;
                    dto.Tma    = (int)TmAddr.EncodeComplexInteger(10, 1, 6);
                });
                var tmEventAnalogFalse = TmEventUtil.CreateRandomValidTmEvent(dto =>
                {
                    dto.TmType = (short)analogType;
                    dto.Tma    = (int)TmAddr.EncodeComplexInteger(10, 1, 6);
                });
                var tmEventAnalogTrue = TmEventUtil.CreateRandomValidTmEvent(dto =>
                {
                    dto.TmType = (short)analogType;
                    dto.Tma    = (int)TmAddr.EncodeComplexInteger(20, 3, 6);
                });

                filter.IsEventSuitable(tmEventStatusFalse).Should().BeFalse();
                filter.IsEventSuitable(tmEventStatusTrue).Should().BeTrue();
                filter.IsEventSuitable(tmEventAnalogFalse).Should().BeFalse();
                filter.IsEventSuitable(tmEventAnalogTrue).Should().BeTrue();
            }