Dev2.Core.Tests.DebugStateTreeViewItemViewModelTests.Verify_IsSelected_PublishesDebugSelectionChangedEventArgs C# (CSharp) Метод

Verify_IsSelected_PublishesDebugSelectionChangedEventArgs() статический приватный Метод

static private Verify_IsSelected_PublishesDebugSelectionChangedEventArgs ( ActivityType activityType, ActivitySelectionType expectedSelectionType, int expectedCount, bool setIsSelected = false ) : void
activityType ActivityType
expectedSelectionType ActivitySelectionType
expectedCount int
setIsSelected bool
Результат void
        static void Verify_IsSelected_PublishesDebugSelectionChangedEventArgs(ActivityType activityType, ActivitySelectionType expectedSelectionType, int expectedCount, bool setIsSelected = false)
        {
            var expected = new DebugState { DisplayName = "IsSelectedTest", ID = Guid.NewGuid(), ActivityType = activityType };

            var events = new List<DebugSelectionChangedEventArgs>();

            var selectionChangedEvents = EventPublishers.Studio.GetEvent<DebugSelectionChangedEventArgs>();
            selectionChangedEvents.Subscribe(events.Add);

            var envRep = CreateEnvironmentRepository();

            var vm = new DebugStateTreeViewItemViewModelMock(envRep.Object) { Content = expected };

            if(setIsSelected)
            {
                // clear constructor events
                events.Clear();

                // events are only triggered when property changes to true
                vm.IsSelected = false;

                vm.SelectionType = expectedSelectionType;
                vm.IsSelected = true;
            }
            else
            {
                vm.IsSelected = false;
                vm.SelectionType = expectedSelectionType;
            }

            EventPublishers.Studio.RemoveEvent<DebugSelectionChangedEventArgs>();

            Assert.AreEqual(expectedCount, events.Count);
            if(events.Count > 0)
            {
                var foundEvent = events.Find(args => args.SelectionType == expectedSelectionType);
                Assert.IsNotNull(foundEvent);
                Assert.AreSame(expected, foundEvent.DebugState);
            }
        }
DebugStateTreeViewItemViewModelTests