コード例 #1
0
ファイル: UnitTest1.cs プロジェクト: MelbourneDeveloper/Voom
        public void TestCanRaisePropertyChanged()
        {
            var notifyPropertyChanged = new MockNotifyPropertyChanged();

            notifyPropertyChanged.PropertyChanged += NotifyPropertyChanged_PropertyChanged;
            notifyPropertyChanged.RaisePropertyChanged(PropertyName);
            Assert.IsTrue(_propertyChangedWasRaised);
        }
コード例 #2
0
ファイル: UnitTest1.cs プロジェクト: MelbourneDeveloper/Voom
        public async Task SampleNotTestRxUI3()
        {
            var subject = new Subject <string>();

            var notifyPropertyChanged = new MockNotifyPropertyChanged();

            notifyPropertyChanged.PropertyChanged += (s, e) => subject.OnNext(notifyPropertyChanged.Id);
        }
コード例 #3
0
ファイル: UnitTest1.cs プロジェクト: MelbourneDeveloper/Voom
        public void TestNotEqualValueRaisePropertyChangedDoesFire()
        {
            var notifyPropertyChanged = new MockNotifyPropertyChanged();
            var notifyProperty        = notifyPropertyChanged.CreateNotifyProperty <string>(PropertyName);

            notifyPropertyChanged.PropertyChanged += NotifyPropertyChanged_PropertyChanged;
            notifyProperty.Value = "";
            Assert.IsTrue(_propertyChangedWasRaised);
        }
コード例 #4
0
ファイル: UnitTest1.cs プロジェクト: MelbourneDeveloper/Voom
        public void TestAlwaysConsiderValueEqual()
        {
            var notifyPropertyChanged = new MockNotifyPropertyChanged();
            var notifyProperty        = notifyPropertyChanged.CreateNotifyProperty <string>(PropertyName).ConsiderValueEqualWhen((o, n) => true);

            notifyPropertyChanged.PropertyChanged += NotifyPropertyChanged_PropertyChanged;
            notifyProperty.Value = null;
            Assert.IsFalse(_propertyChangedWasRaised);
        }
コード例 #5
0
ファイル: UnitTest1.cs プロジェクト: MelbourneDeveloper/Voom
        public void TestCallbackIsCalled()
        {
            var notifyPropertyChanged = new MockNotifyPropertyChanged();
            var notifyProperty        = notifyPropertyChanged.CreateNotifyProperty <string>(PropertyName).BeforePropertyChanged((a) => _callbackValue = true);

            notifyPropertyChanged.PropertyChanged += NotifyPropertyChanged_PropertyChanged;
            notifyProperty.Value = "test";
            Assert.IsTrue(_callbackValue);
        }
コード例 #6
0
ファイル: UnitTest1.cs プロジェクト: MelbourneDeveloper/Voom
        public void TestNotifyPropertyRaisesPropertyChanged()
        {
            var notifyPropertyChanged = new MockNotifyPropertyChanged();
            var notifyProperty        = notifyPropertyChanged.CreateNotifyProperty <string>(PropertyName);

            notifyPropertyChanged.PropertyChanged += NotifyPropertyChanged_PropertyChanged;
            notifyPropertyChanged.RaisePropertyChanged(PropertyName);
            Assert.IsTrue(_propertyChangedWasRaised);
        }
コード例 #7
0
ファイル: UnitTest1.cs プロジェクト: MelbourneDeveloper/Voom
        public async Task SampleNotTestRxUI1()
        {
            var notifyPropertyChanged = new MockNotifyPropertyChanged();

            var subject = new Subject <string>();

            subject.Subscribe((id) => notifyPropertyChanged.Id = id);

            subject.OnNext("123");
        }
コード例 #8
0
ファイル: UnitTest1.cs プロジェクト: MelbourneDeveloper/Voom
        public async Task SampleNotTestRxUI4()
        {
            var notifyPropertyChanged = new MockNotifyPropertyChanged();

            var observable = Observable.FromEventPattern(notifyPropertyChanged, nameof(MockNotifyPropertyChanged.PropertyChanged));

            observable.Where((a) =>
            {
                var eventArgs = (PropertyChangedEventArgs)a.EventArgs;
                return(eventArgs.PropertyName == nameof(MockNotifyPropertyChanged.Id) ? true : false);
            }).Subscribe((a) =>
            {
                var eventArgs = (PropertyChangedEventArgs)a.EventArgs;
                Console.WriteLine($"Property: { eventArgs.PropertyName} Value: {notifyPropertyChanged.Id}");
            });

            notifyPropertyChanged.Id = "test";
        }
コード例 #9
0
ファイル: UnitTest1.cs プロジェクト: MelbourneDeveloper/Voom
        public void TestCallChainingSetsValue()
        {
            var value         = 1;
            var expectedValue = 2;
            var callbackMade  = false;

            var notifyPropertyChanged = new MockNotifyPropertyChanged();
            var notifyProperty        =
                notifyPropertyChanged.CreateNotifyProperty <int>(PropertyName)
                .BeforePropertyChanged(a => callbackMade = true)
                .ConsiderValueEqualWhen((o, n) => o != n)
                .Get(() => value)
                .Set((v) => value = v);


            notifyProperty.Value = expectedValue;

            Assert.AreEqual(expectedValue, value);
            Assert.IsTrue(callbackMade);
        }
コード例 #10
0
ファイル: UnitTest1.cs プロジェクト: MelbourneDeveloper/Voom
        public void TestDoesntEventHandlerNotFound()
        {
            var notifyProperty = new MockNotifyPropertyChanged().CreateNotifyProperty <string>(PropertyName);

            notifyProperty.Value = "test";
        }