Ejemplo n.º 1
0
        public void ReplyWithMedia_Returns_Status()
        {
            Status tweet = StatusExtensions.ReplyWithMedia(
                twitterCtx.Object, inReplyToStatusID, status, possiblySensitive,
                latitude, longitude, placeID, displayCoordinates, mediaItems, null);

            Assert.True(tweet.Text.StartsWith("RT @scottgu: I just blogged about"));
        }
Ejemplo n.º 2
0
        public void ReplyWithMedia_Without_Location_Params_Returns_Status()
        {
            Status tweet = StatusExtensions.ReplyWithMedia(
                this.twitterCtx.Object, this.inReplyToStatusID,
                this.status, this.possiblySensitive, this.mediaItems);

            Assert.True(tweet.Text.StartsWith("RT @scottgu: I just blogged about"));
        }
Ejemplo n.º 3
0
        public void ReplyWithMedia_Sets_Callback()
        {
            twitterExecute.SetupSet(exec => exec.AsyncCallback = It.IsAny <Delegate>());

            StatusExtensions.ReplyWithMedia(
                twitterCtx.Object, inReplyToStatusID, status, possiblySensitive,
                latitude, longitude, placeID, displayCoordinates,
                mediaItems, null);

            twitterExecute.VerifySet(exec => exec.AsyncCallback = It.IsAny <Delegate>());
        }
Ejemplo n.º 4
0
        public void ReplyWithMedia_Requires_At_Least_One_Media()
        {
            mediaItems = new List <Media>();

            var ex =
                Assert.Throws <ArgumentException>(() =>
                                                  StatusExtensions.ReplyWithMedia(
                                                      twitterCtx.Object, inReplyToStatusID, status, possiblySensitive,
                                                      latitude, longitude, placeID, displayCoordinates, mediaItems, null));

            Assert.Equal("mediaItems", ex.ParamName);
        }
Ejemplo n.º 5
0
        public void ReplyWithMedia_Without_Location_Params_Requires_At_Least_One_Media()
        {
            this.mediaItems = new List <Media>();

            ArgumentException ex =
                Assert.Throws <ArgumentException>(() =>
                                                  StatusExtensions.ReplyWithMedia(
                                                      this.twitterCtx.Object, this.inReplyToStatusID,
                                                      this.status, this.possiblySensitive, this.mediaItems));

            Assert.Equal("mediaItems", ex.ParamName);
        }
Ejemplo n.º 6
0
        public void ReplyWithMedia_Without_Location_Params_Throws_On_Null_Status()
        {
            this.status = null;

            ArgumentNullException ex =
                Assert.Throws <ArgumentNullException>(() =>
            {
                StatusExtensions.ReplyWithMedia(
                    this.twitterCtx.Object, this.inReplyToStatusID,
                    this.status, this.possiblySensitive, this.mediaItems);
            });

            Assert.Equal("status", ex.ParamName);
        }
Ejemplo n.º 7
0
        public void ReplyWithMedia_Throws_On_Null_Status()
        {
            status = null;

            var ex =
                Assert.Throws <ArgumentNullException>(() =>
            {
                StatusExtensions.ReplyWithMedia(
                    twitterCtx.Object, inReplyToStatusID, status, possiblySensitive,
                    latitude, longitude, placeID, displayCoordinates, mediaItems, null);
            });

            Assert.Equal("status", ex.ParamName);
        }
Ejemplo n.º 8
0
        public void ReplyWithMedia_Without_Location_Params_DoesNot_Pass_DisplayCoordinates_Via_Parameter_Dictionary_To_PostMedia()
        {
            StatusExtensions.ReplyWithMedia(
                this.twitterCtx.Object, this.inReplyToStatusID,
                this.status, this.possiblySensitive, this.mediaItems);

            this.twitterExecute.Verify(exec =>
                                       exec.PostMedia(
                                           It.IsAny <string>(),
                                           It.Is <IDictionary <string, string> >(parms => parms["display_coordinates"] == null),
                                           It.IsAny <List <Media> >(),
                                           It.IsAny <IRequestProcessor <Status> >()),
                                       Times.Once(),
                                       "ReplyWithMedia shouldn't pass displayCoordinates parameter.");
        }
Ejemplo n.º 9
0
        public void ReplyWithMedia_Without_Location_Params_Passes_Media_To_PostMedia()
        {
            StatusExtensions.ReplyWithMedia(
                this.twitterCtx.Object, this.inReplyToStatusID,
                this.status, this.possiblySensitive, this.mediaItems);

            this.twitterExecute.Verify(exec =>
                                       exec.PostMedia(
                                           It.IsAny <string>(),
                                           It.IsAny <IDictionary <string, string> >(),
                                           It.Is <List <Media> >(media => object.ReferenceEquals(media, this.mediaItems)),
                                           It.IsAny <IRequestProcessor <Status> >()),
                                       Times.Once(),
                                       "ReplyWithMedia didn't pass mediaItems properly.");
        }
Ejemplo n.º 10
0
        public void ReplyWithMedia_Without_Location_Params_Passes_InReplyToStatusID_Via_Parameter_Dictionary_To_PostMedia()
        {
            StatusExtensions.ReplyWithMedia(
                this.twitterCtx.Object, this.inReplyToStatusID,
                this.status, this.possiblySensitive, this.mediaItems);

            this.twitterExecute.Verify(exec =>
                                       exec.PostMedia(
                                           It.IsAny <string>(),
                                           It.Is <IDictionary <string, string> >(parms => parms["in_reply_to_status_id"] == inReplyToStatusID.ToString()),
                                           It.IsAny <List <Media> >(),
                                           It.IsAny <IRequestProcessor <Status> >()),
                                       Times.Once(),
                                       "ReplyWithMedia didn't pass inReplyToStatusID parameter properly.");
        }
Ejemplo n.º 11
0
        public void ReplyWithMedia_Without_Location_Params_Calls_PostMedia()
        {
            StatusExtensions.ReplyWithMedia(
                this.twitterCtx.Object, this.inReplyToStatusID,
                this.status, this.possiblySensitive, this.mediaItems);

            this.twitterExecute.Verify(exec =>
                                       exec.PostMedia(
                                           It.IsAny <string>(),
                                           It.IsAny <IDictionary <string, string> >(),
                                           It.IsAny <List <Media> >(),
                                           It.IsAny <IRequestProcessor <Status> >()),
                                       Times.Once(),
                                       "PostMedia was not called only one time.");
        }
Ejemplo n.º 12
0
        public void ReplyWithMedia_Without_Location_Params_Passes_Properly_Formatted_Url_To_PostMedia()
        {
            StatusExtensions.ReplyWithMedia(
                this.twitterCtx.Object, this.inReplyToStatusID,
                this.status, this.possiblySensitive, this.mediaItems);

            this.twitterExecute.Verify(exec =>
                                       exec.PostMedia(
                                           It.Is <string>(url => url == this.expectedUploadUrl),
                                           It.IsAny <IDictionary <string, string> >(),
                                           It.IsAny <List <Media> >(),
                                           It.IsAny <IRequestProcessor <Status> >()),
                                       Times.Once(),
                                       "ReplyWithMedia didn't pass properly formatted URL.");
        }
Ejemplo n.º 13
0
        public void ReplyWithMedia_Passes_Longitude_Via_Parameter_Dictionary_To_PostMedia()
        {
            StatusExtensions.ReplyWithMedia(
                twitterCtx.Object, inReplyToStatusID, status, possiblySensitive,
                latitude, longitude, placeID, displayCoordinates, mediaItems, null);

            twitterExecute.Verify(exec =>
                                  exec.PostMedia(
                                      It.IsAny <string>(),
                                      It.Is <IDictionary <string, string> >(parms => parms["long"] == longitude.ToString(CultureInfo.InvariantCulture)),
                                      It.IsAny <List <Media> >(),
                                      It.IsAny <IRequestProcessor <Status> >()),
                                  Times.Once(),
                                  "ReplyWithMedia didn't pass longitude parameter properly.");
        }
Ejemplo n.º 14
0
        public void ReplyWithMedia_Calls_PostMedia()
        {
            StatusExtensions.ReplyWithMedia(
                twitterCtx.Object, inReplyToStatusID, status, possiblySensitive,
                latitude, longitude, placeID, displayCoordinates, mediaItems, null);

            twitterExecute.Verify(exec =>
                                  exec.PostMedia(
                                      It.IsAny <string>(),
                                      It.IsAny <IDictionary <string, string> >(),
                                      It.IsAny <List <Media> >(),
                                      It.IsAny <IRequestProcessor <Status> >()),
                                  Times.Once(),
                                  "PostMedia was not called only one time.");
        }
Ejemplo n.º 15
0
        public void ReplyWithMedia_Passes_Properly_Formatted_Url_To_PostMedia()
        {
            StatusExtensions.ReplyWithMedia(
                twitterCtx.Object, inReplyToStatusID, status, possiblySensitive,
                latitude, longitude, placeID, displayCoordinates, mediaItems, null);

            twitterExecute.Verify(exec =>
                                  exec.PostMedia(
                                      It.Is <string>(url => url == ExpectedUploadUrl),
                                      It.IsAny <IDictionary <string, string> >(),
                                      It.IsAny <List <Media> >(),
                                      It.IsAny <IRequestProcessor <Status> >()),
                                  Times.Once(),
                                  "ReplyWithMedia didn't pass properly formatted URL.");
        }
Ejemplo n.º 16
0
        public void ReplyWithMedia_Passes_IRequestProcessor_To_PostMedia()
        {
            StatusExtensions.ReplyWithMedia(
                twitterCtx.Object, inReplyToStatusID, status, possiblySensitive,
                latitude, longitude, placeID, displayCoordinates, mediaItems, null);

            twitterExecute.Verify(exec =>
                                  exec.PostMedia(
                                      It.IsAny <string>(),
                                      It.IsAny <IDictionary <string, string> >(),
                                      It.IsAny <List <Media> >(),
                                      It.Is <IRequestProcessor <Status> >(reqProc => reqProc != null)),
                                  Times.Once(),
                                  "ReplyWithMedia didn't pass reqProc properly.");
        }
Ejemplo n.º 17
0
        public void ReplyWithMedia_DoesNot_Pass_NoReply_InReplyToStatusID_Via_Parameter_Dictionary_To_PostMedia()
        {
            inReplyToStatusID = StatusExtensions.NoReply;

            StatusExtensions.ReplyWithMedia(
                twitterCtx.Object, inReplyToStatusID, status, possiblySensitive,
                latitude, longitude, placeID, displayCoordinates, mediaItems, null);

            twitterExecute.Verify(exec =>
                                  exec.PostMedia(
                                      It.IsAny <string>(),
                                      It.Is <IDictionary <string, string> >(parms => parms["in_reply_to_status_id"] == null),
                                      It.IsAny <List <Media> >(),
                                      It.IsAny <IRequestProcessor <Status> >()),
                                  Times.Once(),
                                  "ReplyWithMedia shouldn't pass inReplyToStatusID parameter.");
        }
Ejemplo n.º 18
0
        public void ReplyWithMedia_Without_Location_Params_DoesNot_Pass_Lat_And_Long_To_PostMedia()
        {
            this.latitude = StatusExtensions.NoCoordinate;

            StatusExtensions.ReplyWithMedia(
                this.twitterCtx.Object, this.inReplyToStatusID,
                this.status, this.possiblySensitive, this.mediaItems);

            this.twitterExecute.Verify(exec =>
                                       exec.PostMedia(
                                           It.IsAny <string>(),
                                           It.Is <IDictionary <string, string> >(
                                               parms =>
                                               parms["lat"] == null &&
                                               parms["long"] == null),
                                           It.IsAny <List <Media> >(),
                                           It.IsAny <IRequestProcessor <Status> >()),
                                       Times.Once(),
                                       "Lat and long should be null.");
        }
Ejemplo n.º 19
0
        public void ReplyWithMedia_DoesNot_Pass_NoCoordinate_Lat_And_Long_To_PostMedia()
        {
            latitude  = StatusExtensions.NoCoordinate;
            longitude = StatusExtensions.NoCoordinate;

            StatusExtensions.ReplyWithMedia(
                twitterCtx.Object, inReplyToStatusID, status, possiblySensitive,
                latitude, longitude, placeID, displayCoordinates, mediaItems, null);

            twitterExecute.Verify(exec =>
                                  exec.PostMedia(
                                      It.IsAny <string>(),
                                      It.Is <IDictionary <string, string> >(
                                          parms =>
                                          parms["lat"] == null &&
                                          parms["long"] == null),
                                      It.IsAny <List <Media> >(),
                                      It.IsAny <IRequestProcessor <Status> >()),
                                  Times.Once(),
                                  "Lat and long should be null.");
        }
Ejemplo n.º 20
0
        public void ReplyWithMedia_Translates_Localized_Lat_And_Long()
        {
            string latString  = latitude.ToString(CultureInfo.InvariantCulture);
            string longString = longitude.ToString(CultureInfo.InvariantCulture);

            Thread.CurrentThread.CurrentUICulture = new CultureInfo(FrenchLocale);

            StatusExtensions.ReplyWithMedia(
                twitterCtx.Object, inReplyToStatusID, status, possiblySensitive,
                latitude, longitude, placeID, displayCoordinates, mediaItems, null);

            twitterExecute.Verify(exec =>
                                  exec.PostMedia(
                                      It.IsAny <string>(),
                                      It.Is <IDictionary <string, string> >(
                                          parms =>
                                          parms["lat"] == latString &&
                                          parms["long"] == longString),
                                      It.IsAny <List <Media> >(),
                                      It.IsAny <IRequestProcessor <Status> >()),
                                  Times.Once(),
                                  "Invariant culture not applied to Lat and/or long.");
        }