static void Test_DocObj_Notifier() { DocObj <int> obj = new DocObj <int>(); PropertyChangedTest pct = new PropertyChangedTest(); obj.PropertyChanged += pct.PropertyChanged; obj.Value = 1; pct.TestWasCalledOnce(); }
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); }