Пример #1
0
        static void Test_DocObj_Notifier()
        {
            DocObj <int> obj = new DocObj <int>();

            PropertyChangedTest pct = new PropertyChangedTest();

            obj.PropertyChanged += pct.PropertyChanged;

            obj.Value = 1;

            pct.TestWasCalledOnce();
        }
Пример #2
0
        public static void TestPlayerController_States()
        {
            State[] transitions =
            {
                new State(PlayerState.Stopped, Input.Stop,  PlayerState.Stopped, new Output[] {              }),
                new State(PlayerState.Stopped, Input.Pause, PlayerState.Stopped, new Output[] {              }),
                new State(PlayerState.Stopped, Input.Play,  PlayerState.Playing, new Output[] { Output.Load, Output.Play}),

                new State(PlayerState.Playing, Input.Stop,  PlayerState.Stopped, new Output[] { Output.Stop  }),
                new State(PlayerState.Playing, Input.Pause, PlayerState.Paused,  new Output[] { Output.Pause }),
                new State(PlayerState.Playing, Input.Play,  PlayerState.Paused,  new Output[] { Output.Pause }),

                new State(PlayerState.Paused,  Input.Stop,  PlayerState.Stopped, new Output[] { Output.Stop  }),
                new State(PlayerState.Paused,  Input.Pause, PlayerState.Playing, new Output[] { Output.Play  }),
                new State(PlayerState.Paused,  Input.Play,  PlayerState.Playing, new Output[] { Output.Play  }),
            };

            foreach (var item in transitions)
            {
                PlayerController playerController = new PlayerController(item.State0);

                PropertyChangedTest stateChangedTest = new PropertyChangedTest();
                playerController.StateChanged += stateChangedTest.PropertyChanged;

                List <Output> outputs = new List <Output>();
                playerController.PlayerLoad  += () => outputs.Add(Output.Load);
                playerController.PlayerStop  += () => outputs.Add(Output.Stop);
                playerController.PlayerPlay  += () => outputs.Add(Output.Play);
                playerController.PlayerPause += () => outputs.Add(Output.Pause);

                playerController.GetType().GetMethod(item.Input.ToString()
                                                     ).Invoke(playerController, new object[] { });

                UnitTest.Test(playerController.CurrentState == item.State1);

                if (item.State0 != item.State1)
                {
                    stateChangedTest.TestWasCalledOnce();
                }
                else
                {
                    stateChangedTest.TestWasCalled(0);
                }

                UnitTest.Test(outputs.SequenceEqual(item.Outputs));
            }
        }
        public void VerifyWithPropertyChangedRaisesPropertyChanged()
        {
            var fixture               = new Fixture();
            var sut                   = fixture.Create <SutAlias>();
            var testType              = typeof(PropertyChangedTest);
            var testHelper            = new PropertyChangedTest();
            var propertyChangedRaised = false;

            testHelper.PropertyChanged += (sender, e) =>
            {
                propertyChangedRaised = true;
            };
            fixture.Inject(testHelper);

            sut.Verify(testType.GetProperty(nameof(PropertyChangedTest.GuidProperty)));

            Assert.True(propertyChangedRaised);
        }