コード例 #1
0
        public void TestMutatedClone()
        {
            MutableAVState state = new MutableAVState();

            IAVState mutated = state.MutatedClone(s => {
                s.Alert = "test";
            });

            Assert.AreEqual(null, state.Alert);
            Assert.AreEqual("test", mutated.Alert);
        }
コード例 #2
0
        public void TestEncodeEmpty()
        {
            MutableAVState state = new MutableAVState();

            Assert.Throws <InvalidOperationException>(() => AVPushEncoder.Instance.Encode(state));
            state.Alert = "alert";

            Assert.Throws <InvalidOperationException>(() => AVPushEncoder.Instance.Encode(state));
            state.Channels = new List <string> {
                { "channel" }
            };

            Assert.DoesNotThrow(() => AVPushEncoder.Instance.Encode(state));
        }
コード例 #3
0
        public void TestEquals()
        {
            MutableAVState state = new MutableAVState {
                Alert = "test"
            };

            MutableAVState otherState = new MutableAVState {
                Alert = "test"
            };

            Assert.AreNotEqual(null, state);
            Assert.AreNotEqual("test", state);

            Assert.AreEqual(state, otherState);
        }
コード例 #4
0
ファイル: PushTests.cs プロジェクト: longyunzhou/NFC
        public Task TestSendPush()
        {
            MutableAVState state = new MutableAVState {
                Query = AVInstallation.Query
            };

            AVPush thePush = new AVPush();

            AVPushPlugins.Instance = new AVPushPlugins {
                PushController = GetMockedPushController(state)
            };

            thePush.Alert = "Alert";
            state.Alert   = "Alert";

            return(thePush.SendAsync().ContinueWith(t => {
                Assert.True(t.IsCompleted);
                Assert.False(t.IsFaulted);

                thePush.Channels = new List <string> {
                    { "channel" }
                };
                state.Channels = new List <string> {
                    { "channel" }
                };

                return thePush.SendAsync();
            }).Unwrap().ContinueWith(t => {
                Assert.True(t.IsCompleted);
                Assert.False(t.IsFaulted);

                AVQuery <AVInstallation> query = new AVQuery <AVInstallation>("aClass");
                thePush.Query = query;
                state.Query = query;

                return thePush.SendAsync();
            }).Unwrap().ContinueWith(t => {
                Assert.True(t.IsCompleted);
                Assert.False(t.IsFaulted);
            }));
        }
コード例 #5
0
        public void TestEncode()
        {
            MutableAVState state = new MutableAVState {
                Data = new Dictionary <string, object> {
                    { "alert", "Some Alert" }
                },
                Channels = new List <string> {
                    { "channel" }
                }
            };

            IDictionary <string, object> expected = new Dictionary <string, object> {
                {
                    "data", new Dictionary <string, object> {
                        {
                            "alert", "Some Alert"
                        }
                    }
                },
                {
                    "where", new Dictionary <string, object> {
                        {
                            "channels", new Dictionary <string, object> {
                                {
                                    "$in", new List <string> {
                                        { "channel" }
                                    }
                                }
                            }
                        }
                    }
                }
            };

            Assert.AreEqual(expected, AVPushEncoder.Instance.Encode(state));
        }