convert nulls for bool and int in JSOn reader; update stress tests

This commit is contained in:
2013-11-03 18:27:35 +01:00
parent 088f6a4e0e
commit 396cf69a40
6 changed files with 10043 additions and 1000005 deletions
@@ -75,6 +75,7 @@
<Compile Include="GetTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ReadTests.cs" />
<Compile Include="StressTests.cs" />
<Compile Include="TestsBase.cs" />
</ItemGroup>
<ItemGroup>
@@ -86,6 +87,8 @@
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
<None Include="url-10000.csv" />
<None Include="url-100000.csv" />
</ItemGroup>
<Choose>
<When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
+12 -3
View File
@@ -3,24 +3,33 @@ using System.Threading.Tasks;
using System.Collections.Generic;
using Xunit;
using PocketSharp.Models;
using System.IO;
using System.Linq;
using System.Diagnostics;
namespace PocketSharp.Tests
{
public class StressTests : TestsBase
{
private static IEnumerable<string> urls;
private static string[] tags = new string[]{ "css", "js", "csharp", "windows", "microsoft" };
public StressTests() : base()
{
// !! please don't misuse this account !!
client = new PocketClient(
consumerKey: "15396-f6f92101d72c8e270a6c9bb3",
consumerKey: "20000-786d0bc8c39294e9829111d6",
callbackUri: "http://frontendplay.com",
accessCode: "80acf6c5-c198-03c0-b94c-e74402"
accessCode: "9b8ecb6b-7801-1a5c-7b39-2ba05b"
);
urls = File.ReadAllLines("../../url-10000.csv").Select(item => item.Split(',')[1]);
}
[Fact]
public void Are100ItemsRetrievedProperly()
public async Task Are100ItemsRetrievedProperly()
{
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+2 -1
View File
@@ -168,7 +168,8 @@ namespace PocketSharp
Converters =
{
new BoolConverter(),
new UnixDateTimeConverter()
new UnixDateTimeConverter(),
new NullableIntConverter()
}
}
);
+26 -1
View File
@@ -14,7 +14,7 @@ namespace PocketSharp
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
return reader.Value.ToString() == "1";
return reader.Value == null ? false : (reader.Value.ToString() == "1");
}
public override bool CanConvert(Type objectType)
@@ -45,4 +45,29 @@ namespace PocketSharp
return new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Convert.ToDouble(reader.Value)).ToLocalTime();
}
}
public class NullableIntConverter : JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
writer.WriteValue(value);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
int result = 0;
if (reader.Value != null)
{
result = Convert.ToInt32(reader.Value);
}
return result;
}
public override bool CanConvert(Type objectType)
{
return objectType == typeof(int);
}
}
}