Skip to content

Commit 69bc830

Browse files
committed
reorganized unit tests
1 parent 025d271 commit 69bc830

File tree

7 files changed

+586
-2
lines changed

7 files changed

+586
-2
lines changed

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -286,5 +286,3 @@ __pycache__/
286286
*.btm.cs
287287
*.odx.cs
288288
*.xsd.cs
289-
290-
TestOmdbApiNet/

OMDb-API.sln

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,18 @@ Microsoft Visual Studio Solution File, Format Version 12.00
44
VisualStudioVersion = 12.0.0.0
55
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OMDbApiNet", "OMDbApiNet\OMDbApiNet.csproj", "{26D2DAE0-F120-4685-A1D9-DF8532FAF45B}"
66
EndProject
7+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OMDbApiNet.Test", "OMDbApiNet.Test\OMDbApiNet.Test.csproj", "{97A5E3E1-11E3-41A2-AC01-3CF0242D2A2E}"
8+
EndProject
79
Global
810
GlobalSection(ProjectConfigurationPlatforms) = postSolution
911
{26D2DAE0-F120-4685-A1D9-DF8532FAF45B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
1012
{26D2DAE0-F120-4685-A1D9-DF8532FAF45B}.Debug|Any CPU.Build.0 = Debug|Any CPU
1113
{26D2DAE0-F120-4685-A1D9-DF8532FAF45B}.Release|Any CPU.ActiveCfg = Release|Any CPU
1214
{26D2DAE0-F120-4685-A1D9-DF8532FAF45B}.Release|Any CPU.Build.0 = Release|Any CPU
15+
{97A5E3E1-11E3-41A2-AC01-3CF0242D2A2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
16+
{97A5E3E1-11E3-41A2-AC01-3CF0242D2A2E}.Debug|Any CPU.Build.0 = Debug|Any CPU
17+
{97A5E3E1-11E3-41A2-AC01-3CF0242D2A2E}.Release|Any CPU.ActiveCfg = Release|Any CPU
18+
{97A5E3E1-11E3-41A2-AC01-3CF0242D2A2E}.Release|Any CPU.Build.0 = Release|Any CPU
1319
EndGlobalSection
1420
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1521
Debug|Any CPU = Debug|Any CPU

OMDbApiNet.Test/EpisodeTest.cs

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
using System;
2+
using System.Net.Http;
3+
using Xunit;
4+
using OMDbApiNet;
5+
6+
namespace TestOmdbApiNet
7+
{
8+
/*
9+
* Data in these unit tests last checked on 02/09/2018 (American date format).
10+
*/
11+
public class EpisodeTest
12+
{
13+
// TODO: Insert your api key here. You can get one on http://www.omdbapi.com/
14+
private readonly string apikey = "";
15+
16+
[Fact]
17+
public void TestGetEpisodeBySeriesIdGood()
18+
{
19+
var omdb = new OmdbClient(apikey);
20+
var episode = omdb.GetEpisodeBySeriesId("tt2193021", 1, 1);
21+
22+
23+
var ratings = episode.Ratings.ToArray();
24+
Assert.Equal("Internet Movie Database", ratings[0].Source);
25+
Assert.Equal("8.5/10", ratings[0].Value);
26+
27+
Assert.Equal("Pilot", episode.Title);
28+
Assert.Equal("2012", episode.Year);
29+
Assert.Equal("TV-PG", episode.Rated);
30+
Assert.Equal("10 Oct 2012", episode.Released);
31+
Assert.Equal("1", episode.SeasonNumber);
32+
Assert.Equal("1", episode.EpisodeNumber);
33+
Assert.Equal("45 min", episode.Runtime);
34+
Assert.Equal("Action, Adventure, Crime", episode.Genre);
35+
Assert.Equal("David Nutter", episode.Director);
36+
Assert.Equal("Greg Berlanti (developed by), Marc Guggenheim (developed by), Andrew Kreisberg (developed by), Andrew Kreisberg (teleplay by), Marc Guggenheim (teleplay by), Greg Berlanti (story by), Marc Guggenheim (story by)", episode.Writer);
37+
Assert.Equal("Stephen Amell, Katie Cassidy, Colin Donnell, David Ramsey", episode.Actors);
38+
Assert.Equal("Billionaire playboy, Oliver Queen, has been considered dead for five years. Now, he has returned. But something, during those five years, has changed him into a mysterious green hooded archer.", episode.Plot);
39+
Assert.Equal("English", episode.Language);
40+
Assert.Equal("USA, Canada", episode.Country);
41+
Assert.Equal("N/A", episode.Awards);
42+
Assert.Equal("https://images-na.ssl-images-amazon.com/images/M/MV5BMjE2MjY4MDE4Nl5BMl5BanBnXkFtZTcwNDA2NTk0OA@@._V1_SX300.jpg", episode.Poster);
43+
Assert.Equal("N/A", episode.Metascore);
44+
Assert.Equal("8.5", episode.ImdbRating);
45+
Assert.Equal("6184", episode.ImdbVotes);
46+
Assert.Equal("tt2340185", episode.ImdbId);
47+
Assert.Equal("tt2193021", episode.SeriesId);
48+
Assert.Equal("episode", episode.Type);
49+
Assert.Equal("True", episode.Response);
50+
}
51+
52+
[Fact]
53+
public void TestGetEpisodeBySeriesIdBad()
54+
{
55+
var omdb = new OmdbClient(apikey);
56+
57+
Assert.Throws<ArgumentException>(() => omdb.GetEpisodeBySeriesId(null, 1, 1));
58+
Assert.Throws<ArgumentException>(() => omdb.GetEpisodeBySeriesId("", 1, 1));
59+
Assert.Throws<ArgumentException>(() => omdb.GetEpisodeBySeriesId(" ", 1, 1));
60+
61+
Assert.Throws<ArgumentOutOfRangeException>(() => omdb.GetEpisodeBySeriesId("tt2193021", 0, 1));
62+
Assert.Throws<ArgumentOutOfRangeException>(() => omdb.GetEpisodeBySeriesId("tt2193021", 1, 0));
63+
Assert.Throws<ArgumentOutOfRangeException>(() => omdb.GetEpisodeBySeriesId("tt2193021", 0, 0));
64+
65+
Assert.Throws<HttpRequestException>(() => omdb.GetEpisodeBySeriesId("asdf", 1, 1));
66+
Assert.Throws<HttpRequestException>(() => omdb.GetEpisodeBySeriesTitle("tt2193021", 100, 1));
67+
Assert.Throws<HttpRequestException>(() => omdb.GetEpisodeBySeriesTitle("tt2193021", 1, 100));
68+
}
69+
70+
[Fact]
71+
public void TestGetEpisodeBySeriesTitleGood()
72+
{
73+
var omdb = new OmdbClient(apikey);
74+
var episode = omdb.GetEpisodeBySeriesTitle("arrow", 1, 1);
75+
76+
77+
var ratings = episode.Ratings.ToArray();
78+
Assert.Equal("Internet Movie Database", ratings[0].Source);
79+
Assert.Equal("8.5/10", ratings[0].Value);
80+
81+
Assert.Equal("Pilot", episode.Title);
82+
Assert.Equal("2012", episode.Year);
83+
Assert.Equal("TV-PG", episode.Rated);
84+
Assert.Equal("10 Oct 2012", episode.Released);
85+
Assert.Equal("1", episode.SeasonNumber);
86+
Assert.Equal("1", episode.EpisodeNumber);
87+
Assert.Equal("45 min", episode.Runtime);
88+
Assert.Equal("Action, Adventure, Crime", episode.Genre);
89+
Assert.Equal("David Nutter", episode.Director);
90+
Assert.Equal("Greg Berlanti (developed by), Marc Guggenheim (developed by), Andrew Kreisberg (developed by), Andrew Kreisberg (teleplay by), Marc Guggenheim (teleplay by), Greg Berlanti (story by), Marc Guggenheim (story by)", episode.Writer);
91+
Assert.Equal("Stephen Amell, Katie Cassidy, Colin Donnell, David Ramsey", episode.Actors);
92+
Assert.Equal("Billionaire playboy, Oliver Queen, has been considered dead for five years. Now, he has returned. But something, during those five years, has changed him into a mysterious green hooded archer.", episode.Plot);
93+
Assert.Equal("English", episode.Language);
94+
Assert.Equal("USA, Canada", episode.Country);
95+
Assert.Equal("N/A", episode.Awards);
96+
Assert.Equal("https://images-na.ssl-images-amazon.com/images/M/MV5BMjE2MjY4MDE4Nl5BMl5BanBnXkFtZTcwNDA2NTk0OA@@._V1_SX300.jpg", episode.Poster);
97+
Assert.Equal("N/A", episode.Metascore);
98+
Assert.Equal("8.5", episode.ImdbRating);
99+
Assert.Equal("6184", episode.ImdbVotes);
100+
Assert.Equal("tt2340185", episode.ImdbId);
101+
Assert.Equal("tt2193021", episode.SeriesId);
102+
Assert.Equal("episode", episode.Type);
103+
Assert.Equal("True", episode.Response);
104+
}
105+
106+
[Fact]
107+
public void TestGetEpisodeBySeriesTitleBad()
108+
{
109+
var omdb = new OmdbClient(apikey);
110+
111+
Assert.Throws<ArgumentException>(() => omdb.GetEpisodeBySeriesTitle(null, 1, 1));
112+
Assert.Throws<ArgumentException>(() => omdb.GetEpisodeBySeriesTitle("", 1, 1));
113+
Assert.Throws<ArgumentException>(() => omdb.GetEpisodeBySeriesTitle(" ", 1, 1));
114+
115+
Assert.Throws<ArgumentOutOfRangeException>(() => omdb.GetEpisodeBySeriesTitle("arrow", 0, 1));
116+
Assert.Throws<ArgumentOutOfRangeException>(() => omdb.GetEpisodeBySeriesTitle("arrow", 1, 0));
117+
Assert.Throws<ArgumentOutOfRangeException>(() => omdb.GetEpisodeBySeriesTitle("arrow", 0, 0));
118+
119+
Assert.Throws<HttpRequestException>(() => omdb.GetEpisodeBySeriesTitle("asdf", 1, 1));
120+
Assert.Throws<HttpRequestException>(() => omdb.GetEpisodeBySeriesTitle("arrow", 100, 1));
121+
Assert.Throws<HttpRequestException>(() => omdb.GetEpisodeBySeriesTitle("arrow", 1, 100));
122+
}
123+
124+
[Fact]
125+
public void TestGetEpisodeByEpisodeIdGood()
126+
{
127+
var omdb = new OmdbClient(apikey);
128+
var episode = omdb.GetEpisodeByEpisodeId("tt2340185");
129+
130+
131+
var ratings = episode.Ratings.ToArray();
132+
Assert.Equal("Internet Movie Database", ratings[0].Source);
133+
Assert.Equal("8.5/10", ratings[0].Value);
134+
135+
Assert.Equal("Pilot", episode.Title);
136+
Assert.Equal("2012", episode.Year);
137+
Assert.Equal("TV-PG", episode.Rated);
138+
Assert.Equal("10 Oct 2012", episode.Released);
139+
Assert.Equal("1", episode.SeasonNumber);
140+
Assert.Equal("1", episode.EpisodeNumber);
141+
Assert.Equal("45 min", episode.Runtime);
142+
Assert.Equal("Action, Adventure, Crime", episode.Genre);
143+
Assert.Equal("David Nutter", episode.Director);
144+
Assert.Equal("Greg Berlanti (developed by), Marc Guggenheim (developed by), Andrew Kreisberg (developed by), Andrew Kreisberg (teleplay by), Marc Guggenheim (teleplay by), Greg Berlanti (story by), Marc Guggenheim (story by)", episode.Writer);
145+
Assert.Equal("Stephen Amell, Katie Cassidy, Colin Donnell, David Ramsey", episode.Actors);
146+
Assert.Equal("Billionaire playboy, Oliver Queen, has been considered dead for five years. Now, he has returned. But something, during those five years, has changed him into a mysterious green hooded archer.", episode.Plot);
147+
Assert.Equal("English", episode.Language);
148+
Assert.Equal("USA, Canada", episode.Country);
149+
Assert.Equal("N/A", episode.Awards);
150+
Assert.Equal("https://images-na.ssl-images-amazon.com/images/M/MV5BMjE2MjY4MDE4Nl5BMl5BanBnXkFtZTcwNDA2NTk0OA@@._V1_SX300.jpg", episode.Poster);
151+
Assert.Equal("N/A", episode.Metascore);
152+
Assert.Equal("8.5", episode.ImdbRating);
153+
Assert.Equal("6184", episode.ImdbVotes);
154+
Assert.Equal("tt2340185", episode.ImdbId);
155+
Assert.Equal("tt2193021", episode.SeriesId);
156+
Assert.Equal("episode", episode.Type);
157+
Assert.Equal("True", episode.Response);
158+
}
159+
160+
[Fact]
161+
public void TestGetEpisodeByEpisodeIdBad()
162+
{
163+
var omdb = new OmdbClient(apikey);
164+
165+
Assert.Throws<ArgumentException>(() => omdb.GetEpisodeByEpisodeId(null));
166+
Assert.Throws<ArgumentException>(() => omdb.GetEpisodeByEpisodeId(""));
167+
Assert.Throws<ArgumentException>(() => omdb.GetEpisodeByEpisodeId(" "));
168+
169+
Assert.Throws<HttpRequestException>(() => omdb.GetEpisodeByEpisodeId("asdf"));
170+
}
171+
172+
}
173+
}

0 commit comments

Comments
 (0)