public async Task Test_EpisodeWatchedProgressObjectJsonWriter_WriteObject_StringWriter_Exceptions() { var traktJsonWriter = new EpisodeWatchedProgressObjectJsonWriter(); ITraktEpisodeWatchedProgress traktEpisodeWatchedProgress = new TraktEpisodeWatchedProgress(); Func <Task <string> > action = () => traktJsonWriter.WriteObjectAsync(default(StringWriter), traktEpisodeWatchedProgress); await action.Should().ThrowAsync <ArgumentNullException>(); }
public void Test_EpisodeWatchedProgressObjectJsonWriter_WriteObject_JsonWriter_Exceptions() { var traktJsonWriter = new EpisodeWatchedProgressObjectJsonWriter(); ITraktEpisodeWatchedProgress traktEpisodeWatchedProgress = new TraktEpisodeWatchedProgress(); Func <Task> action = () => traktJsonWriter.WriteObjectAsync(default(JsonTextWriter), traktEpisodeWatchedProgress); action.Should().Throw <ArgumentNullException>(); }
public void Test_TraktEpisodeWatchedProgress_Default_Constructor() { var episodeWatchedProgress = new TraktEpisodeWatchedProgress(); episodeWatchedProgress.Number.Should().NotHaveValue(); episodeWatchedProgress.Completed.Should().NotHaveValue(); episodeWatchedProgress.LastWatchedAt.Should().NotHaveValue(); }
public async Task Test_EpisodeWatchedProgressObjectJsonWriter_WriteObject_Object_Only_LastWatchedAt_Property() { ITraktEpisodeWatchedProgress traktEpisodeWatchedProgress = new TraktEpisodeWatchedProgress { LastWatchedAt = LAST_WATCHED_AT }; var traktJsonWriter = new EpisodeWatchedProgressObjectJsonWriter(); string json = await traktJsonWriter.WriteObjectAsync(traktEpisodeWatchedProgress); json.Should().Be($"{{\"last_watched_at\":\"{LAST_WATCHED_AT.ToTraktLongDateTimeString()}\"}}"); }
public async Task Test_EpisodeWatchedProgressObjectJsonWriter_WriteObject_Object_Only_Completed_Property() { ITraktEpisodeWatchedProgress traktEpisodeWatchedProgress = new TraktEpisodeWatchedProgress { Completed = true }; var traktJsonWriter = new EpisodeWatchedProgressObjectJsonWriter(); string json = await traktJsonWriter.WriteObjectAsync(traktEpisodeWatchedProgress); json.Should().Be(@"{""completed"":true}"); }
public async Task Test_EpisodeWatchedProgressObjectJsonWriter_WriteObject_Object_Only_Number_Property() { ITraktEpisodeWatchedProgress traktEpisodeWatchedProgress = new TraktEpisodeWatchedProgress { Number = 1 }; var traktJsonWriter = new EpisodeWatchedProgressObjectJsonWriter(); string json = await traktJsonWriter.WriteObjectAsync(traktEpisodeWatchedProgress); json.Should().Be(@"{""number"":1}"); }
public override async Task <ITraktEpisodeWatchedProgress> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(ITraktEpisodeWatchedProgress))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { ITraktEpisodeWatchedProgress traktEpisodeWatchedProgress = new TraktEpisodeWatchedProgress(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.EPISODE_WATCHED_PROGRESS_PROPERTY_NAME_NUMBER: traktEpisodeWatchedProgress.Number = await jsonReader.ReadAsInt32Async(cancellationToken); break; case JsonProperties.EPISODE_WATCHED_PROGRESS_PROPERTY_NAME_COMPLETED: traktEpisodeWatchedProgress.Completed = await jsonReader.ReadAsBooleanAsync(cancellationToken); break; case JsonProperties.EPISODE_WATCHED_PROGRESS_PROPERTY_NAME_LAST_WATCHED_AT: { var value = await JsonReaderHelper.ReadDateTimeValueAsync(jsonReader, cancellationToken); if (value.First) { traktEpisodeWatchedProgress.LastWatchedAt = value.Second; } break; } default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(traktEpisodeWatchedProgress); } return(await Task.FromResult(default(ITraktEpisodeWatchedProgress))); }
public async Task Test_EpisodeWatchedProgressObjectJsonWriter_WriteObject_Object_Complete() { ITraktEpisodeWatchedProgress traktEpisodeWatchedProgress = new TraktEpisodeWatchedProgress { Number = 1, Completed = true, LastWatchedAt = LAST_WATCHED_AT }; var traktJsonWriter = new EpisodeWatchedProgressObjectJsonWriter(); string json = await traktJsonWriter.WriteObjectAsync(traktEpisodeWatchedProgress); json.Should().Be(@"{""number"":1,""completed"":true," + $"\"last_watched_at\":\"{LAST_WATCHED_AT.ToTraktLongDateTimeString()}\"}}"); }
public async Task Test_EpisodeWatchedProgressObjectJsonWriter_WriteObject_JsonWriter_Only_LastWatchedAt_Property() { ITraktEpisodeWatchedProgress traktEpisodeWatchedProgress = new TraktEpisodeWatchedProgress { LastWatchedAt = LAST_WATCHED_AT }; using (var stringWriter = new StringWriter()) using (var jsonWriter = new JsonTextWriter(stringWriter)) { var traktJsonWriter = new EpisodeWatchedProgressObjectJsonWriter(); await traktJsonWriter.WriteObjectAsync(jsonWriter, traktEpisodeWatchedProgress); stringWriter.ToString().Should().Be($"{{\"last_watched_at\":\"{LAST_WATCHED_AT.ToTraktLongDateTimeString()}\"}}"); } }
public async Task Test_EpisodeWatchedProgressObjectJsonWriter_WriteObject_JsonWriter_Only_Completed_Property() { ITraktEpisodeWatchedProgress traktEpisodeWatchedProgress = new TraktEpisodeWatchedProgress { Completed = true }; using (var stringWriter = new StringWriter()) using (var jsonWriter = new JsonTextWriter(stringWriter)) { var traktJsonWriter = new EpisodeWatchedProgressObjectJsonWriter(); await traktJsonWriter.WriteObjectAsync(jsonWriter, traktEpisodeWatchedProgress); stringWriter.ToString().Should().Be(@"{""completed"":true}"); } }
public async Task Test_EpisodeWatchedProgressObjectJsonWriter_WriteObject_JsonWriter_Complete() { ITraktEpisodeWatchedProgress traktEpisodeWatchedProgress = new TraktEpisodeWatchedProgress { Number = 1, Completed = true, LastWatchedAt = LAST_WATCHED_AT }; using (var stringWriter = new StringWriter()) using (var jsonWriter = new JsonTextWriter(stringWriter)) { var traktJsonWriter = new EpisodeWatchedProgressObjectJsonWriter(); await traktJsonWriter.WriteObjectAsync(jsonWriter, traktEpisodeWatchedProgress); stringWriter.ToString().Should().Be(@"{""number"":1,""completed"":true," + $"\"last_watched_at\":\"{LAST_WATCHED_AT.ToTraktLongDateTimeString()}\"}}"); } }