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")); }
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")); }
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>()); }
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); }
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); }
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); }
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); }
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."); }
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."); }
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."); }
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."); }
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."); }
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."); }
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."); }
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."); }
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."); }
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."); }
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."); }
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."); }
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."); }