Browse files

-Fixed attributes on nullable structs not being used

-Fixed deserializing nullable enums
-Fixed JsonConstructorAttribute incorrectly being allowed on properties
-Added new NUnit
  • Loading branch information...
1 parent c5f1074 commit 6ce847411a78b61cbf3597a0299b7b4006bcc9c7 @JamesNK JamesNK committed Feb 3, 2012
Showing with 11,050 additions and 17 deletions.
  1. +24 −0 Src/Newtonsoft.Json.Tests/Bson/BsonReaderTests.cs
  2. +1 −1 Src/Newtonsoft.Json.Tests/Properties/AssemblyInfo.cs
  3. +164 −4 Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs
  4. +2 −2 Src/Newtonsoft.Json/JsonConstructorAttribute.cs
  5. +1 −1 Src/Newtonsoft.Json/Properties/AssemblyInfo.cs
  6. +5 −5 Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs
  7. +4 −4 Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs
  8. BIN Tools/NUnit/framework/nunit.framework.dll
  9. +10,407 −0 Tools/NUnit/framework/nunit.framework.xml
  10. BIN Tools/NUnit/framework/nunit.mocks.dll
  11. BIN Tools/NUnit/lib/failure.png
  12. BIN Tools/NUnit/lib/ignored.png
  13. BIN Tools/NUnit/lib/inconclusive.png
  14. BIN Tools/NUnit/lib/nunit-console-runner.dll
  15. BIN Tools/NUnit/lib/nunit-gui-runner.dll
  16. BIN Tools/NUnit/lib/nunit.core.dll
  17. BIN Tools/NUnit/lib/nunit.core.interfaces.dll
  18. BIN Tools/NUnit/lib/nunit.uiexception.dll
  19. BIN Tools/NUnit/lib/nunit.uikit.dll
  20. BIN Tools/NUnit/lib/nunit.util.dll
  21. BIN Tools/NUnit/lib/skipped.png
  22. BIN Tools/NUnit/lib/success.png
  23. BIN Tools/NUnit/nunit-agent-x86.exe
  24. +69 −0 Tools/NUnit/nunit-agent-x86.exe.config
  25. BIN Tools/NUnit/nunit-agent.exe
  26. +69 −0 Tools/NUnit/nunit-agent.exe.config
  27. BIN Tools/NUnit/nunit-console-x86.exe
  28. +69 −0 Tools/NUnit/nunit-console-x86.exe.config
  29. BIN Tools/NUnit/nunit-console.exe
  30. +69 −0 Tools/NUnit/nunit-console.exe.config
  31. BIN Tools/NUnit/nunit-x86.exe
  32. +83 −0 Tools/NUnit/nunit-x86.exe.config
  33. BIN Tools/NUnit/nunit.exe
  34. +83 −0 Tools/NUnit/nunit.exe.config
View
24 Src/Newtonsoft.Json.Tests/Bson/BsonReaderTests.cs
@@ -264,6 +264,30 @@ public void ReadArrayBsonFromSite()
}
[Test]
+ [ExpectedException(typeof(JsonReaderException), ExpectedMessage = "Could not convert string to integer: a.")]
+ public void ReadAsInt32BadString()
+ {
+ byte[] data = MiscellaneousUtils.HexToBytes("20-00-00-00-02-30-00-02-00-00-00-61-00-02-31-00-02-00-00-00-62-00-02-32-00-02-00-00-00-63-00-00");
+
+ MemoryStream ms = new MemoryStream(data);
+ BsonReader reader = new BsonReader(ms);
+
+ Assert.AreEqual(false, reader.ReadRootValueAsArray);
+ Assert.AreEqual(DateTimeKind.Local, reader.DateTimeKindHandling);
+
+ reader.ReadRootValueAsArray = true;
+ reader.DateTimeKindHandling = DateTimeKind.Utc;
+
+ Assert.AreEqual(true, reader.ReadRootValueAsArray);
+ Assert.AreEqual(DateTimeKind.Utc, reader.DateTimeKindHandling);
+
+ Assert.IsTrue(reader.Read());
+ Assert.AreEqual(JsonToken.StartArray, reader.TokenType);
+
+ reader.ReadAsInt32();
+ }
+
+ [Test]
public void ReadBytes()
{
byte[] data = MiscellaneousUtils.HexToBytes("2B-00-00-00-02-30-00-02-00-00-00-61-00-02-31-00-02-00-00-00-62-00-05-32-00-0C-00-00-00-02-48-65-6C-6C-6F-20-77-6F-72-6C-64-21-00");
View
2 Src/Newtonsoft.Json.Tests/Properties/AssemblyInfo.cs
@@ -66,5 +66,5 @@
// by using the '*' as shown below:
[assembly: AssemblyVersion("4.0.7.0")]
#if !PocketPC
-[assembly: AssemblyFileVersion("4.0.7.14524")]
+[assembly: AssemblyFileVersion("4.0.7.14603")]
#endif
View
168 Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs
@@ -5162,13 +5162,13 @@ public void DeserializeNullableWidgetStruct()
Widget w = JsonConvert.DeserializeObject<Widget>(json);
- Assert.AreEqual(new WidgetId { Value = "id" }, w.Id);
- Assert.AreEqual(new WidgetId { Value = "id" }, w.Id.Value);
+ Assert.AreEqual(new WidgetId {Value = "id"}, w.Id);
+ Assert.AreEqual(new WidgetId {Value = "id"}, w.Id.Value);
Assert.AreEqual("id", w.Id.Value.Value);
}
[Test]
- [ExpectedException(typeof(JsonReaderException), ExpectedMessage = "Unexpected token when reading integer: Boolean. Line 2, position 22.")]
+ [ExpectedException(typeof (JsonReaderException), ExpectedMessage = "Unexpected token when reading integer: Boolean. Line 2, position 22.")]
public void DeserializeBoolInt()
{
string json = @"{
@@ -5180,14 +5180,174 @@ public void DeserializeBoolInt()
}
[Test]
- [ExpectedException(typeof(JsonReaderException), ExpectedMessage = "Unexpected end when reading integer. Line 2, position 18.")]
+ [ExpectedException(typeof (JsonReaderException), ExpectedMessage = "Unexpected end when reading integer. Line 2, position 18.")]
public void DeserializeUnexpectedEndInt()
{
string json = @"{
""PreProperty"": ";
JsonConvert.DeserializeObject<TestObjects.MyClass>(json);
}
+
+ [Test]
+ public void DeserializeNullableGuid()
+ {
+ string json = @"{""Id"":null}";
+ var c = JsonConvert.DeserializeObject<NullableGuid>(json);
+
+ Assert.AreEqual(null, c.Id);
+
+ json = @"{""Id"":""d8220a4b-75b1-4b7a-8112-b7bdae956a45""}";
+ c = JsonConvert.DeserializeObject<NullableGuid>(json);
+
+ Assert.AreEqual(new Guid("d8220a4b-75b1-4b7a-8112-b7bdae956a45"), c.Id);
+ }
+
+ [Test]
+ public void DeserializeGuid()
+ {
+ Item expected = new Item()
+ {
+ SourceTypeID = new Guid("d8220a4b-75b1-4b7a-8112-b7bdae956a45"),
+ BrokerID = new Guid("951663c4-924e-4c86-a57a-7ed737501dbd"),
+ Latitude = 33.657145,
+ Longitude = -117.766684,
+ TimeStamp = new DateTime(2000, 3, 1, 23, 59, 59, DateTimeKind.Utc),
+ Payload = new byte[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
+ };
+
+ string jsonString = JsonConvert.SerializeObject(expected, Formatting.Indented);
+
+ Assert.AreEqual(@"{
+ ""SourceTypeID"": ""d8220a4b-75b1-4b7a-8112-b7bdae956a45"",
+ ""BrokerID"": ""951663c4-924e-4c86-a57a-7ed737501dbd"",
+ ""Latitude"": 33.657145,
+ ""Longitude"": -117.766684,
+ ""TimeStamp"": ""\/Date(951955199000)\/"",
+ ""Payload"": {
+ ""$type"": ""System.Byte[], mscorlib"",
+ ""$value"": ""AAECAwQFBgcICQ==""
+ }
+}", jsonString);
+
+ Item actual = JsonConvert.DeserializeObject<Item>(jsonString);
+
+ Assert.AreEqual(new Guid("d8220a4b-75b1-4b7a-8112-b7bdae956a45"), actual.SourceTypeID);
+ Assert.AreEqual(new Guid("951663c4-924e-4c86-a57a-7ed737501dbd"), actual.BrokerID);
+ Assert.AreEqual(new byte[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, actual.Payload);
+ }
+
+ [Test]
+ public void DeserializeObjectDictionary()
+ {
+ var serializer = JsonSerializer.Create(new JsonSerializerSettings());
+ var dict = serializer.Deserialize<Dictionary<string, string>>(new JsonTextReader(new StringReader("{'k1':'','k2':'v2'}")));
+
+ Assert.AreEqual("", dict["k1"]);
+ Assert.AreEqual("v2", dict["k2"]);
+ }
+
+ [Test]
+ public void DeserializeNullableEnum()
+ {
+ string json = JsonConvert.SerializeObject(new WithEnums
+ {
+ Id = 7,
+ NullableEnum = null
+ });
+
+ Assert.AreEqual(@"{""Id"":7,""NullableEnum"":null}", json);
+
+ WithEnums e = JsonConvert.DeserializeObject<WithEnums>(json);
+
+ Assert.AreEqual(null, e.NullableEnum);
+
+ json = JsonConvert.SerializeObject(new WithEnums
+ {
+ Id = 7,
+ NullableEnum = MyEnum.Value2
+ });
+
+ Assert.AreEqual(@"{""Id"":7,""NullableEnum"":1}", json);
+
+ e = JsonConvert.DeserializeObject<WithEnums>(json);
+
+ Assert.AreEqual(MyEnum.Value2, e.NullableEnum);
+ }
+
+ [Test]
+ public void NullableStructWithConverter()
+ {
+ string json = JsonConvert.SerializeObject(new Widget1 { Id = new WidgetId1 { Value = 1234 } });
+
+ Assert.AreEqual(@"{""Id"":""1234""}", json);
+
+ Widget1 w = JsonConvert.DeserializeObject<Widget1>(@"{""Id"":""1234""}");
+
+ Assert.AreEqual(new WidgetId1 { Value = 1234 }, w.Id);
+ }
+ }
+
+ public class Widget1
+ {
+ public WidgetId1? Id { get; set; }
+ }
+
+ [JsonConverter(typeof(WidgetIdJsonConverter))]
+ public struct WidgetId1
+ {
+ public long Value { get; set; }
+ }
+
+ public class WidgetIdJsonConverter : JsonConverter
+ {
+ public override bool CanConvert(Type objectType)
+ {
+ return objectType == typeof(WidgetId1) || objectType == typeof(WidgetId1?);
+ }
+
+ public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
+ {
+ WidgetId1 id = (WidgetId1)value;
+ writer.WriteValue(id.Value.ToString());
+ }
+
+ public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
+ {
+ if (reader.TokenType == JsonToken.Null)
+ return null;
+ return new WidgetId1 { Value = int.Parse(reader.Value.ToString()) };
+ }
+ }
+
+
+ public enum MyEnum
+ {
+ Value1,
+ Value2,
+ Value3
+ }
+
+ public class WithEnums
+ {
+ public int Id { get; set; }
+ public MyEnum? NullableEnum { get; set; }
+ }
+
+ public class Item
+ {
+ public Guid SourceTypeID { get; set; }
+ public Guid BrokerID { get; set; }
+ public double Latitude { get; set; }
+ public double Longitude { get; set; }
+ public DateTime TimeStamp { get; set; }
+ [JsonProperty(TypeNameHandling = TypeNameHandling.All)]
+ public object Payload { get; set; }
+ }
+
+ public class NullableGuid
+ {
+ public Guid? Id { get; set; }
}
public class Widget
View
4 Src/Newtonsoft.Json/JsonConstructorAttribute.cs
@@ -6,9 +6,9 @@
namespace Newtonsoft.Json
{
/// <summary>
- /// Instructs the <see cref="JsonSerializer"/> not to serialize the public field or public read/write property value.
+ /// Instructs the <see cref="JsonSerializer"/> to use the specified constructor when deserializing that object.
/// </summary>
- [AttributeUsage(AttributeTargets.Constructor | AttributeTargets.Property, AllowMultiple = false)]
+ [AttributeUsage(AttributeTargets.Constructor, AllowMultiple = false)]
public sealed class JsonConstructorAttribute : Attribute
{
}
View
2 Src/Newtonsoft.Json/Properties/AssemblyInfo.cs
@@ -85,7 +85,7 @@
// by using the '*' as shown below:
[assembly: AssemblyVersion("4.0.7.0")]
#if !PocketPC
-[assembly: AssemblyFileVersion("4.0.7.14524")]
+[assembly: AssemblyFileVersion("4.0.7.14603")]
#endif
[assembly: CLSCompliant(true)]
View
10 Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs
@@ -419,25 +419,25 @@ private Func<object> GetDefaultCreator(Type createdType)
#endif
private void InitializeContract(JsonContract contract)
{
- JsonContainerAttribute containerAttribute = JsonTypeReflector.GetJsonContainerAttribute(contract.UnderlyingType);
+ JsonContainerAttribute containerAttribute = JsonTypeReflector.GetJsonContainerAttribute(contract.NonNullableUnderlyingType);
if (containerAttribute != null)
{
contract.IsReference = containerAttribute._isReference;
}
#if !PocketPC && !NET20
else
{
- DataContractAttribute dataContractAttribute = JsonTypeReflector.GetDataContractAttribute(contract.UnderlyingType);
+ DataContractAttribute dataContractAttribute = JsonTypeReflector.GetDataContractAttribute(contract.NonNullableUnderlyingType);
// doesn't have a null value
if (dataContractAttribute != null && dataContractAttribute.IsReference)
contract.IsReference = true;
}
#endif
- contract.Converter = ResolveContractConverter(contract.UnderlyingType);
+ contract.Converter = ResolveContractConverter(contract.NonNullableUnderlyingType);
// then see whether object is compadible with any of the built in converters
- contract.InternalConverter = JsonSerializer.GetMatchingConverter(BuiltInConverters, contract.UnderlyingType);
+ contract.InternalConverter = JsonSerializer.GetMatchingConverter(BuiltInConverters, contract.NonNullableUnderlyingType);
if (ReflectionUtils.HasDefaultConstructor(contract.CreatedType, true)
|| contract.CreatedType.IsValueType)
@@ -448,7 +448,7 @@ private void InitializeContract(JsonContract contract)
ReflectionUtils.GetDefaultConstructor(contract.CreatedType) == null);
}
- ResolveCallbackMethods(contract, contract.UnderlyingType);
+ ResolveCallbackMethods(contract, contract.NonNullableUnderlyingType);
}
private void ResolveCallbackMethods(JsonContract contract, Type t)
View
8 Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs
@@ -530,18 +530,18 @@ private object EnsureType(JsonReader reader, object value, CultureInfo culture,
if (contract.IsConvertable)
{
- if (targetType.IsEnum)
+ if (contract.NonNullableUnderlyingType.IsEnum)
{
if (value is string)
- return Enum.Parse(targetType, value.ToString(), true);
+ return Enum.Parse(contract.NonNullableUnderlyingType, value.ToString(), true);
else if (ConvertUtils.IsInteger(value))
- return Enum.ToObject(targetType, value);
+ return Enum.ToObject(contract.NonNullableUnderlyingType, value);
}
return Convert.ChangeType(value, contract.NonNullableUnderlyingType, culture);
}
- return ConvertUtils.ConvertOrCast(value, culture, targetType);
+ return ConvertUtils.ConvertOrCast(value, culture, contract.NonNullableUnderlyingType);
}
catch (Exception ex)
{
View
BIN Tools/NUnit/framework/nunit.framework.dll
Binary file not shown.
View
10,407 Tools/NUnit/framework/nunit.framework.xml
10,407 additions, 0 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
View
BIN Tools/NUnit/framework/nunit.mocks.dll
Binary file not shown.
View
BIN Tools/NUnit/lib/failure.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Tools/NUnit/lib/ignored.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Tools/NUnit/lib/inconclusive.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Tools/NUnit/lib/nunit-console-runner.dll
Binary file not shown.
View
BIN Tools/NUnit/lib/nunit-gui-runner.dll
Binary file not shown.
View
BIN Tools/NUnit/lib/nunit.core.dll
Binary file not shown.
View
BIN Tools/NUnit/lib/nunit.core.interfaces.dll
Binary file not shown.
View
BIN Tools/NUnit/lib/nunit.uiexception.dll
Binary file not shown.
View
BIN Tools/NUnit/lib/nunit.uikit.dll
Binary file not shown.
View
BIN Tools/NUnit/lib/nunit.util.dll
Binary file not shown.
View
BIN Tools/NUnit/lib/skipped.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Tools/NUnit/lib/success.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Tools/NUnit/nunit-agent-x86.exe
Binary file not shown.
View
69 Tools/NUnit/nunit-agent-x86.exe.config
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+
+ <runtime>
+ <!-- We need this so test exceptions don't crash NUnit -->
+ <legacyUnhandledExceptionPolicy enabled="1" />
+
+ <!-- Look for addins in the addins directory for now -->
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <probing privatePath="lib;addins"/>
+ </assemblyBinding>
+
+ <!--
+ The following <assemblyBinding> section allows running nunit under
+ .NET 1.0 by redirecting assemblies. The appliesTo attribute
+ causes the section to be ignored except under .NET 1.0
+ on a machine with only the .NET version 1.0 runtime installed.
+ If application and its tests were built for .NET 1.1 you will
+ also need to redirect system assemblies in the test config file,
+ which controls loading of the tests.
+ -->
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+ appliesTo="v1.0.3705">
+
+ <dependentAssembly>
+ <assemblyIdentity name="System"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Data"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Drawing"
+ publicKeyToken="b03f5f7f11d50a3a"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Windows.Forms"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ </assemblyBinding>
+
+ </runtime>
+
+</configuration>
View
BIN Tools/NUnit/nunit-agent.exe
Binary file not shown.
View
69 Tools/NUnit/nunit-agent.exe.config
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+
+ <runtime>
+ <!-- We need this so test exceptions don't crash NUnit -->
+ <legacyUnhandledExceptionPolicy enabled="1" />
+
+ <!-- Look for addins in the addins directory for now -->
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <probing privatePath="lib;addins"/>
+ </assemblyBinding>
+
+ <!--
+ The following <assemblyBinding> section allows running nunit under
+ .NET 1.0 by redirecting assemblies. The appliesTo attribute
+ causes the section to be ignored except under .NET 1.0
+ on a machine with only the .NET version 1.0 runtime installed.
+ If application and its tests were built for .NET 1.1 you will
+ also need to redirect system assemblies in the test config file,
+ which controls loading of the tests.
+ -->
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+ appliesTo="v1.0.3705">
+
+ <dependentAssembly>
+ <assemblyIdentity name="System"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Data"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Drawing"
+ publicKeyToken="b03f5f7f11d50a3a"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Windows.Forms"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ </assemblyBinding>
+
+ </runtime>
+
+</configuration>
View
BIN Tools/NUnit/nunit-console-x86.exe
Binary file not shown.
View
69 Tools/NUnit/nunit-console-x86.exe.config
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+
+ <runtime>
+ <!-- We need this so test exceptions don't crash NUnit -->
+ <legacyUnhandledExceptionPolicy enabled="1" />
+
+ <!-- Look for addins in the addins directory for now -->
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <probing privatePath="lib;addins"/>
+ </assemblyBinding>
+
+ <!--
+ The following <assemblyBinding> section allows running nunit under
+ .NET 1.0 by redirecting assemblies. The appliesTo attribute
+ causes the section to be ignored except under .NET 1.0
+ on a machine with only the .NET version 1.0 runtime installed.
+ If application and its tests were built for .NET 1.1 you will
+ also need to redirect system assemblies in the test config file,
+ which controls loading of the tests.
+ -->
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+ appliesTo="v1.0.3705">
+
+ <dependentAssembly>
+ <assemblyIdentity name="System"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Data"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Drawing"
+ publicKeyToken="b03f5f7f11d50a3a"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Windows.Forms"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ </assemblyBinding>
+
+ </runtime>
+
+</configuration>
View
BIN Tools/NUnit/nunit-console.exe
Binary file not shown.
View
69 Tools/NUnit/nunit-console.exe.config
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+
+ <runtime>
+ <!-- We need this so test exceptions don't crash NUnit -->
+ <legacyUnhandledExceptionPolicy enabled="1" />
+
+ <!-- Look for addins in the addins directory for now -->
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <probing privatePath="lib;addins"/>
+ </assemblyBinding>
+
+ <!--
+ The following <assemblyBinding> section allows running nunit under
+ .NET 1.0 by redirecting assemblies. The appliesTo attribute
+ causes the section to be ignored except under .NET 1.0
+ on a machine with only the .NET version 1.0 runtime installed.
+ If application and its tests were built for .NET 1.1 you will
+ also need to redirect system assemblies in the test config file,
+ which controls loading of the tests.
+ -->
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+ appliesTo="v1.0.3705">
+
+ <dependentAssembly>
+ <assemblyIdentity name="System"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Data"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Drawing"
+ publicKeyToken="b03f5f7f11d50a3a"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Windows.Forms"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ </assemblyBinding>
+
+ </runtime>
+
+</configuration>
View
BIN Tools/NUnit/nunit-x86.exe
Binary file not shown.
View
83 Tools/NUnit/nunit-x86.exe.config
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <!--
+ Application settings for NUnit-gui.exe. Do NOT put settings
+ for use by your tests here.
+ -->
+ <appSettings>
+ <!--
+ Uncomment to specify the url to be used for help. If not used, the
+ default value is something like
+ file://localhost/C:/Program Files/NUnit 2.2/doc/index.html
+ This setting is provided in case your default browser doesn't
+ support this format.
+ -->
+ <!-- <add key="helpUrl" value="http://www.nunit.org" /> -->
+ </appSettings>
+
+ <runtime>
+ <!-- We need this so test exceptions don't crash NUnit -->
+ <legacyUnhandledExceptionPolicy enabled="1" />
+
+ <!-- Look for addins in the addins directory for now -->
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <probing privatePath="lib;addins" />
+ </assemblyBinding>
+
+ <!--
+ The following <assemblyBinding> section allows running nunit under
+ .NET 1.0 by redirecting assemblies. The appliesTo attribute
+ causes the section to be ignored except under .NET 1.0
+ on a machine with only the .NET version 1.0 runtime installed.
+ If application and its tests were built for .NET 1.1 you will
+ also need to redirect system assemblies in the test config file,
+ which controls loading of the tests.
+ -->
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+ appliesTo="v1.0.3705">
+
+ <dependentAssembly>
+ <assemblyIdentity name="System"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Data"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Drawing"
+ publicKeyToken="b03f5f7f11d50a3a"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Windows.Forms"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ </assemblyBinding>
+
+ </runtime>
+
+</configuration>
View
BIN Tools/NUnit/nunit.exe
Binary file not shown.
View
83 Tools/NUnit/nunit.exe.config
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <!--
+ Application settings for NUnit-gui.exe. Do NOT put settings
+ for use by your tests here.
+ -->
+ <appSettings>
+ <!--
+ Uncomment to specify the url to be used for help. If not used, the
+ default value is something like
+ file://localhost/C:/Program Files/NUnit 2.2/doc/index.html
+ This setting is provided in case your default browser doesn't
+ support this format.
+ -->
+ <!-- <add key="helpUrl" value="http://www.nunit.org" /> -->
+ </appSettings>
+
+ <runtime>
+ <!-- We need this so test exceptions don't crash NUnit -->
+ <legacyUnhandledExceptionPolicy enabled="1" />
+
+ <!-- Look for addins in the addins directory for now -->
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <probing privatePath="lib;addins" />
+ </assemblyBinding>
+
+ <!--
+ The following <assemblyBinding> section allows running nunit under
+ .NET 1.0 by redirecting assemblies. The appliesTo attribute
+ causes the section to be ignored except under .NET 1.0
+ on a machine with only the .NET version 1.0 runtime installed.
+ If application and its tests were built for .NET 1.1 you will
+ also need to redirect system assemblies in the test config file,
+ which controls loading of the tests.
+ -->
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+ appliesTo="v1.0.3705">
+
+ <dependentAssembly>
+ <assemblyIdentity name="System"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Data"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Drawing"
+ publicKeyToken="b03f5f7f11d50a3a"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Windows.Forms"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml"
+ publicKeyToken="b77a5c561934e089"
+ culture="neutral"/>
+ <bindingRedirect oldVersion="1.0.5000.0"
+ newVersion="1.0.3300.0"/>
+ </dependentAssembly>
+
+ </assemblyBinding>
+
+ </runtime>
+
+</configuration>

0 comments on commit 6ce8474

Please sign in to comment.