convert nulls for bool and int in JSOn reader; update stress tests
This commit is contained in:
@@ -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'">
|
||||
|
||||
@@ -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
@@ -168,7 +168,8 @@ namespace PocketSharp
|
||||
Converters =
|
||||
{
|
||||
new BoolConverter(),
|
||||
new UnixDateTimeConverter()
|
||||
new UnixDateTimeConverter(),
|
||||
new NullableIntConverter()
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user