diff --git a/README.md b/README.md
index ddd2bd249..4cd32c9f6 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@
|-------------------------------------------------------------------------------|-----------------------------------------------------------------------------|
|![v](https://img.shields.io/badge/version-6.4.0-blue.svg?cacheSeconds=3600) |[Qowaiv](https://www.nuget.org/packages/Qowaiv/) |
|![v](https://img.shields.io/badge/version-6.4.0-blue.svg?cacheSeconds=3600) |[Qowaiv.Data.SqlCient](https://www.nuget.org/packages/Qowaiv.Data.SqlClient/)|
-|![v](https://img.shields.io/badge/version-6.4.0-darkblue.svg?cacheSeconds=3600)|[Qowaiv.TestTools](https://www.nuget.org/packages/Qowaiv.TestTools/) |
+|![v](https://img.shields.io/badge/version-6.4.1-darkblue.svg?cacheSeconds=3600)|[Qowaiv.TestTools](https://www.nuget.org/packages/Qowaiv.TestTools/) |
# Qowaiv
diff --git a/specs/Qowaiv.Specs/Extensions/Type_specs.cs b/specs/Qowaiv.Specs/Extensions/Type_specs.cs
index ac5d80aa2..da791777a 100644
--- a/specs/Qowaiv.Specs/Extensions/Type_specs.cs
+++ b/specs/Qowaiv.Specs/Extensions/Type_specs.cs
@@ -60,6 +60,7 @@ public void Supports_generic_arguments()
public void With_namespaces_if_specified(Type type, string csharpString)
=> type.ToCSharpString(withNamespace: true).Should().Be(csharpString);
+ [EmptyTestClass]
internal class NestedType { }
internal static class GenericOf
diff --git a/specs/Qowaiv.Specs/TestTools/Have_debugger_display_specs.cs b/specs/Qowaiv.Specs/TestTools/Have_debugger_display_specs.cs
index cdf42c5ab..5b55fa872 100644
--- a/specs/Qowaiv.Specs/TestTools/Have_debugger_display_specs.cs
+++ b/specs/Qowaiv.Specs/TestTools/Have_debugger_display_specs.cs
@@ -43,4 +43,5 @@ internal class SimpleClass
private string DebuggerDisplay => $"{GetType().Name} display";
}
+[EmptyTestClass]
internal sealed class ChildClass : SimpleClass { }
diff --git a/specs/Qowaiv.Specs/TestTools/Svo.cs b/specs/Qowaiv.Specs/TestTools/Svo.cs
index ad44fb73b..2bf7464ae 100644
--- a/specs/Qowaiv.Specs/TestTools/Svo.cs
+++ b/specs/Qowaiv.Specs/TestTools/Svo.cs
@@ -139,6 +139,11 @@ public override bool TryParse(string str, out object id)
private static bool IsValid(long number) => (number & 1) == 1;
}
+[EmptyTestClass]
public class ForString : StringIdBehavior { }
+
+[EmptyTestClass]
public class ForGuid : GuidBehavior { }
+
+[EmptyTestClass]
public class ForUuid : UuidBehavior { }
diff --git a/specs/Qowaiv.Specs/UnitTests.OldStyle/Identifiers/IdForGuidTest.cs b/specs/Qowaiv.Specs/UnitTests.OldStyle/Identifiers/IdForGuidTest.cs
index 983862592..a6369fadf 100644
--- a/specs/Qowaiv.Specs/UnitTests.OldStyle/Identifiers/IdForGuidTest.cs
+++ b/specs/Qowaiv.Specs/UnitTests.OldStyle/Identifiers/IdForGuidTest.cs
@@ -1,487 +1,475 @@
-using FluentAssertions;
-using NUnit.Framework;
-using Qowaiv.Identifiers;
-using Qowaiv.TestTools;
-using Qowaiv.TestTools.Globalization;
-using System;
-using System.Collections.Generic;
-using System.Globalization;
-using System.Linq;
-using System.Runtime.Serialization;
-using System.Xml.Serialization;
-
-namespace Qowaiv.UnitTests.Identifiers
-{
- public sealed class ForGuid : GuidBehavior { }
-
- /// Tests the identifier SVO.
- public class IdForGuidTest
- {
- /// The test instance for most tests.
- public static readonly Id TestStruct = Id.Parse("0F5AB5AB-12CB-4629-878D-B18B88B9A504");
+namespace Qowaiv.UnitTests.Identifiers;
- /// Id.Empty should be equal to the default of identifier.
- [Test]
- public void Empty_None_EqualsDefault()
- {
- Assert.AreEqual(default(Id), Id.Empty);
- }
-
- /// Id.IsEmpty() should be true for the default of identifier.
- [Test]
- public void IsEmpty_Default_IsTrue()
- {
- Assert.IsTrue(default(Id).IsEmpty());
- }
+[EmptyTestClass]
+public sealed class ForGuid : GuidBehavior { }
- /// Id.IsEmpty() should be false for the TestStruct.
- [Test]
- public void IsEmpty_TestStruct_IsFalse()
- {
- Assert.IsFalse(TestStruct.IsEmpty());
- }
+/// Tests the identifier SVO.
+public class IdForGuidTest
+{
+ /// The test instance for most tests.
+ public static readonly Id TestStruct = Id.Parse("0F5AB5AB-12CB-4629-878D-B18B88B9A504");
- [Test]
- public void FromBytes_Null_IsEmpty()
- {
- var fromBytes = Id.FromBytes(null);
- Assert.AreEqual(Id.Empty, fromBytes);
- }
+ /// Id.Empty should be equal to the default of identifier.
+ [Test]
+ public void Empty_None_EqualsDefault()
+ {
+ Assert.AreEqual(default(Id), Id.Empty);
+ }
- [Test]
- public void FromBytes_Bytes_IsTestStruct()
- {
- var fromBytes = Id.FromBytes(new byte[] { 171, 181, 90, 15, 203, 18, 41, 70, 135, 141, 177, 139, 136, 185, 165, 4 });
- Assert.AreEqual(TestStruct, fromBytes);
- }
+ /// Id.IsEmpty() should be true for the default of identifier.
+ [Test]
+ public void IsEmpty_Default_IsTrue()
+ {
+ Assert.IsTrue(default(Id).IsEmpty());
+ }
- [Test]
- public void ToByteArray_Empty_EmptyArray()
- {
- var bytes = Id.Empty.ToByteArray();
- Assert.AreEqual(Array.Empty(), bytes);
- }
+ /// Id.IsEmpty() should be false for the TestStruct.
+ [Test]
+ public void IsEmpty_TestStruct_IsFalse()
+ {
+ Assert.IsFalse(TestStruct.IsEmpty());
+ }
- [Test]
- public void ToByteArray_TestStruct_FilledArray()
- {
- var bytes = TestStruct.ToByteArray();
- var exepected = new byte[] { 171, 181, 90, 15, 203, 18, 41, 70, 135, 141, 177, 139, 136, 185, 165, 4 };
- Assert.AreEqual(exepected, bytes);
- }
+ [Test]
+ public void FromBytes_Null_IsEmpty()
+ {
+ var fromBytes = Id.FromBytes(null);
+ Assert.AreEqual(Id.Empty, fromBytes);
+ }
- /// TryParse null should be valid.
- [Test]
- public void TryParse_Null_IsValid()
- {
- Assert.IsTrue(Id.TryParse(null, out var val));
- Assert.AreEqual(default(Id), val);
- }
+ [Test]
+ public void FromBytes_Bytes_IsTestStruct()
+ {
+ var fromBytes = Id.FromBytes(new byte[] { 171, 181, 90, 15, 203, 18, 41, 70, 135, 141, 177, 139, 136, 185, 165, 4 });
+ Assert.AreEqual(TestStruct, fromBytes);
+ }
- /// TryParse string.Empty should be valid.
- [Test]
- public void TryParse_StringEmpty_IsValid()
- {
- Assert.IsTrue(Id.TryParse(string.Empty, out var val));
- Assert.AreEqual(default(Id), val);
- }
+ [Test]
+ public void ToByteArray_Empty_EmptyArray()
+ {
+ var bytes = Id.Empty.ToByteArray();
+ Assert.AreEqual(Array.Empty(), bytes);
+ }
- /// TryParse with specified string value should be valid.
- [Test]
- public void TryParse_StringValue_IsValid()
- {
- string str = "0f5ab5ab-12cb-4629-878d-b18b88b9a504";
- Assert.IsTrue(Id.TryParse(str, out var val));
- Assert.AreEqual(str, val.ToString());
- }
+ [Test]
+ public void ToByteArray_TestStruct_FilledArray()
+ {
+ var bytes = TestStruct.ToByteArray();
+ var exepected = new byte[] { 171, 181, 90, 15, 203, 18, 41, 70, 135, 141, 177, 139, 136, 185, 165, 4 };
+ Assert.AreEqual(exepected, bytes);
+ }
- /// TryParse with specified string value should be invalid.
- [Test]
- public void TryParse_StringValue_IsNotValid()
- {
- string str = "0F5AB5AB-12CB-4629-878D";
- Assert.IsFalse(Id.TryParse(str, out var val));
- Assert.AreEqual(default(Id), val);
- }
+ /// TryParse null should be valid.
+ [Test]
+ public void TryParse_Null_IsValid()
+ {
+ Assert.IsTrue(Id.TryParse(null, out var val));
+ Assert.AreEqual(default(Id), val);
+ }
- [Test]
- public void Parse_InvalidInput_ThrowsFormatException()
- {
- using (TestCultures.En_GB.Scoped())
- {
- Assert.Catch(() =>
- {
- Id.Parse("InvalidInput");
- }
+ /// TryParse string.Empty should be valid.
+ [Test]
+ public void TryParse_StringEmpty_IsValid()
+ {
+ Assert.IsTrue(Id.TryParse(string.Empty, out var val));
+ Assert.AreEqual(default(Id), val);
+ }
- , "Not a valid identifier");
- }
- }
+ /// TryParse with specified string value should be valid.
+ [Test]
+ public void TryParse_StringValue_IsValid()
+ {
+ string str = "0f5ab5ab-12cb-4629-878d-b18b88b9a504";
+ Assert.IsTrue(Id.TryParse(str, out var val));
+ Assert.AreEqual(str, val.ToString());
+ }
- [Test]
- public void TryParse_TestStructInput_AreEqual()
- {
- using (TestCultures.En_GB.Scoped())
- {
- var exp = TestStruct;
- var act = Id.TryParse(exp.ToString());
- Assert.AreEqual(exp, act);
- }
- }
+ /// TryParse with specified string value should be invalid.
+ [Test]
+ public void TryParse_StringValue_IsNotValid()
+ {
+ string str = "0F5AB5AB-12CB-4629-878D";
+ Assert.IsFalse(Id.TryParse(str, out var val));
+ Assert.AreEqual(default(Id), val);
+ }
- [Test]
- public void TryParse_InvalidInput_DefaultValue()
+ [Test]
+ public void Parse_InvalidInput_ThrowsFormatException()
+ {
+ using (TestCultures.En_GB.Scoped())
{
- using (TestCultures.En_GB.Scoped())
+ Assert.Catch(() =>
{
- var exp = default(Id);
- var act = Id.TryParse("InvalidInput");
- Assert.AreEqual(exp, act);
+ Id.Parse("InvalidInput");
}
- }
-
- [Test]
- public void TryCreate_Int_NotSuccessful()
- {
- Assert.IsFalse(Id.TryCreate(17L, out _));
- }
- [Test]
- public void TryCreate_Guid_Successful()
- {
- Assert.IsTrue(Id.TryCreate(Guid.Parse("0F5AB5AB-12CB-4629-878D-B18B88B9A504"), out var id));
- Assert.AreEqual(Id.Parse("0F5AB5AB-12CB-4629-878D-B18B88B9A504"), id);
- }
-
- [Test]
- public void GetObjectData_NulSerializationInfo_Throws()
- {
- ISerializable obj = TestStruct;
- Assert.Catch(() => obj.GetObjectData(null, default));
- }
-
- [Test]
- public void GetObjectData_SerializationInfo_AreEqual()
- {
- ISerializable obj = TestStruct;
- var info = new SerializationInfo(typeof(Id), new FormatterConverter());
- obj.GetObjectData(info, default);
- Assert.AreEqual(Guid.Parse("0F5AB5AB-12CB-4629-878D-B18B88B9A504"), info.GetValue("Value", typeof(Guid)));
+ , "Not a valid identifier");
}
+ }
- [Test]
- [Obsolete("Usage of the binary formatter is considered harmful.")]
- public void SerializeDeserialize_TestStruct_AreEqual()
+ [Test]
+ public void TryParse_TestStructInput_AreEqual()
+ {
+ using (TestCultures.En_GB.Scoped())
{
- var input = TestStruct;
var exp = TestStruct;
- var act = SerializeDeserialize.Binary(input);
+ var act = Id.TryParse(exp.ToString());
Assert.AreEqual(exp, act);
}
+ }
- [Test]
- public void DataContractSerializeDeserialize_TestStruct_AreEqual()
+ [Test]
+ public void TryParse_InvalidInput_DefaultValue()
+ {
+ using (TestCultures.En_GB.Scoped())
{
- var input = TestStruct;
- var exp = TestStruct;
- var act = SerializeDeserialize.DataContract(input);
+ var exp = default(Id);
+ var act = Id.TryParse("InvalidInput");
Assert.AreEqual(exp, act);
}
+ }
- [Test]
- public void XmlSerialize_TestStruct_AreEqual()
- {
- var act = Serialize.Xml(TestStruct);
- var exp = "0f5ab5ab-12cb-4629-878d-b18b88b9a504";
- Assert.AreEqual(exp, act);
- }
+ [Test]
+ public void TryCreate_Int_NotSuccessful()
+ {
+ Assert.IsFalse(Id.TryCreate(17L, out _));
+ }
- [Test]
- public void XmlDeserialize_XmlString_AreEqual()
- {
- var act =Deserialize.Xml>("0F5AB5AB-12CB-4629-878D-B18B88B9A504");
- Assert.AreEqual(TestStruct, act);
- }
+ [Test]
+ public void TryCreate_Guid_Successful()
+ {
+ Assert.IsTrue(Id.TryCreate(Guid.Parse("0F5AB5AB-12CB-4629-878D-B18B88B9A504"), out var id));
+ Assert.AreEqual(Id.Parse("0F5AB5AB-12CB-4629-878D-B18B88B9A504"), id);
+ }
- [Test]
- [Obsolete("Usage of the binary formatter is considered harmful.")]
- public void SerializeDeserialize_IdForGuidSerializeObject_AreEqual()
- {
- var input = new IdForGuidSerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
+ [Test]
+ public void GetObjectData_NulSerializationInfo_Throws()
+ {
+ ISerializable obj = TestStruct;
+ Assert.Catch(() => obj.GetObjectData(null, default));
+ }
- ;
- var exp = new IdForGuidSerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
+ [Test]
+ public void GetObjectData_SerializationInfo_AreEqual()
+ {
+ ISerializable obj = TestStruct;
+ var info = new SerializationInfo(typeof(Id), new FormatterConverter());
+ obj.GetObjectData(info, default);
+ Assert.AreEqual(Guid.Parse("0F5AB5AB-12CB-4629-878D-B18B88B9A504"), info.GetValue("Value", typeof(Guid)));
+ }
- ;
- var act = SerializeDeserialize.Binary(input);
- Assert.AreEqual(exp.Id, act.Id, "Id");
- Assert.AreEqual(exp.Obj, act.Obj, "Obj");
- Assert.AreEqual(exp.Date, act.Date, "Date");
- }
+ [Test]
+ [Obsolete("Usage of the binary formatter is considered harmful.")]
+ public void SerializeDeserialize_TestStruct_AreEqual()
+ {
+ var input = TestStruct;
+ var exp = TestStruct;
+ var act = SerializeDeserialize.Binary(input);
+ Assert.AreEqual(exp, act);
+ }
- [Test]
- public void XmlSerializeDeserialize_IdForGuidSerializeObject_AreEqual()
- {
- var input = new IdForGuidSerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
+ [Test]
+ public void DataContractSerializeDeserialize_TestStruct_AreEqual()
+ {
+ var input = TestStruct;
+ var exp = TestStruct;
+ var act = SerializeDeserialize.DataContract(input);
+ Assert.AreEqual(exp, act);
+ }
- ;
- var exp = new IdForGuidSerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
+ [Test]
+ public void XmlSerialize_TestStruct_AreEqual()
+ {
+ var act = Serialize.Xml(TestStruct);
+ var exp = "0f5ab5ab-12cb-4629-878d-b18b88b9a504";
+ Assert.AreEqual(exp, act);
+ }
- ;
- var act = SerializeDeserialize.Xml(input);
- Assert.AreEqual(exp.Id, act.Id, "Id");
- Assert.AreEqual(exp.Obj, act.Obj, "Obj");
- Assert.AreEqual(exp.Date, act.Date, "Date");
- }
+ [Test]
+ public void XmlDeserialize_XmlString_AreEqual()
+ {
+ var act =Deserialize.Xml>("0F5AB5AB-12CB-4629-878D-B18B88B9A504");
+ Assert.AreEqual(TestStruct, act);
+ }
- [Test]
- public void DataContractSerializeDeserialize_IdForGuidSerializeObject_AreEqual()
+ [Test]
+ [Obsolete("Usage of the binary formatter is considered harmful.")]
+ public void SerializeDeserialize_IdForGuidSerializeObject_AreEqual()
+ {
+ var input = new IdForGuidSerializeObject
{
- var input = new IdForGuidSerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var exp = new IdForGuidSerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var act = SerializeDeserialize.DataContract(input);
- Assert.AreEqual(exp.Id, act.Id, "Id");
- Assert.AreEqual(exp.Obj, act.Obj, "Obj");
- Assert.AreEqual(exp.Date, act.Date, "Date");
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- [Obsolete("Usage of the binary formatter is considered harmful.")]
- public void SerializeDeserialize_Default_AreEqual()
+ ;
+ var exp = new IdForGuidSerializeObject
{
- var input = new IdForGuidSerializeObject
- {
- Id = 17,
- Obj = default,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var exp = new IdForGuidSerializeObject
- {
- Id = 17,
- Obj = default,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var act = SerializeDeserialize.Binary(input);
- Assert.AreEqual(exp.Id, act.Id, "Id");
- Assert.AreEqual(exp.Obj, act.Obj, "Obj");
- Assert.AreEqual(exp.Date, act.Date, "Date");
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void XmlSerializeDeserialize_Default_AreEqual()
- {
- var input = new IdForGuidSerializeObject
- {
- Id = 17,
- Obj = default,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var exp = new IdForGuidSerializeObject
- {
- Id = 17,
- Obj = default,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var act = SerializeDeserialize.Xml(input);
- Assert.AreEqual(exp.Id, act.Id, "Id");
- Assert.AreEqual(exp.Obj, act.Obj, "Obj");
- Assert.AreEqual(exp.Date, act.Date, "Date");
- }
+ ;
+ var act = SerializeDeserialize.Binary(input);
+ Assert.AreEqual(exp.Id, act.Id, "Id");
+ Assert.AreEqual(exp.Obj, act.Obj, "Obj");
+ Assert.AreEqual(exp.Date, act.Date, "Date");
+ }
- [Test]
- public void GetSchema_None_IsNull()
+ [Test]
+ public void XmlSerializeDeserialize_IdForGuidSerializeObject_AreEqual()
+ {
+ var input = new IdForGuidSerializeObject
{
- IXmlSerializable obj = TestStruct;
- Assert.IsNull(obj.GetSchema());
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- [TestCase("2017-06-11")]
- public void FromJson_Invalid_Throws(object json)
+ ;
+ var exp = new IdForGuidSerializeObject
{
- Assert.Catch(() => JsonTester.Read>(json));
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- [TestCase("0F5AB5AB-12CB-4629-878D-B18B88B9A504", "0F5AB5AB-12CB-4629-878D-B18B88B9A504")]
- [TestCase("", "")]
- public void FromJson(Id expected, object json)
- {
- var actual = JsonTester.Read>(json);
- Assert.AreEqual(expected, actual);
- }
+ ;
+ var act = SerializeDeserialize.Xml(input);
+ Assert.AreEqual(exp.Id, act.Id, "Id");
+ Assert.AreEqual(exp.Obj, act.Obj, "Obj");
+ Assert.AreEqual(exp.Date, act.Date, "Date");
+ }
- [Test]
- public void ToJson_TestStruct_StringValue()
+ [Test]
+ public void DataContractSerializeDeserialize_IdForGuidSerializeObject_AreEqual()
+ {
+ var input = new IdForGuidSerializeObject
{
- var json = TestStruct.ToJson();
- Assert.AreEqual("0f5ab5ab-12cb-4629-878d-b18b88b9a504", json);
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void ToString_Empty_StringEmpty()
+ ;
+ var exp = new IdForGuidSerializeObject
{
- var act = Id.Empty.ToString();
- var exp = "";
- Assert.AreEqual(exp, act);
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void ToString_CustomFormatter_SupportsCustomFormatting()
- {
- var act = TestStruct.ToString("S", FormatProvider.CustomFormatter);
- var exp = "Unit Test Formatter, value: 'q7VaD8sSKUaHjbGLiLmlBA', format: 'S'";
- Assert.AreEqual(exp, act);
- }
+ ;
+ var act = SerializeDeserialize.DataContract(input);
+ Assert.AreEqual(exp.Id, act.Id, "Id");
+ Assert.AreEqual(exp.Obj, act.Obj, "Obj");
+ Assert.AreEqual(exp.Date, act.Date, "Date");
+ }
- /// GetHash should not fail for Id.Empty.
- [Test]
- public void GetHash_Empty_Hash()
+ [Test]
+ [Obsolete("Usage of the binary formatter is considered harmful.")]
+ public void SerializeDeserialize_Default_AreEqual()
+ {
+ var input = new IdForGuidSerializeObject
{
- Assert.AreEqual(0, Id.Empty.GetHashCode());
+ Id = 17,
+ Obj = default,
+ Date = new DateTime(1970, 02, 14),
}
- /// GetHash should not fail for the test struct.
- [Test]
- public void GetHash_TestStruct_Hash()
+ ;
+ var exp = new IdForGuidSerializeObject
{
- Assert.AreNotEqual(0, TestStruct.GetHashCode());
+ Id = 17,
+ Obj = default,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void Equals_EmptyEmpty_IsTrue()
- {
- Assert.IsTrue(Id.Empty.Equals(Id.Empty));
- }
+ ;
+ var act = SerializeDeserialize.Binary(input);
+ Assert.AreEqual(exp.Id, act.Id, "Id");
+ Assert.AreEqual(exp.Obj, act.Obj, "Obj");
+ Assert.AreEqual(exp.Date, act.Date, "Date");
+ }
- [Test]
- public void Equals_FormattedAndUnformatted_IsTrue()
+ [Test]
+ public void XmlSerializeDeserialize_Default_AreEqual()
+ {
+ var input = new IdForGuidSerializeObject
{
- var l = Id.Parse("Qowaiv_SVOLibrary_GUIA");
- var r = Id.Parse("8a1a8c42-d2ff-e254-e26e-b6abcbf19420");
- Assert.IsTrue(l.Equals(r));
+ Id = 17,
+ Obj = default,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void Equals_TestStructTestStruct_IsTrue()
+ ;
+ var exp = new IdForGuidSerializeObject
{
- Assert.IsTrue(TestStruct.Equals(TestStruct));
+ Id = 17,
+ Obj = default,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void Equals_TestStructEmpty_IsFalse()
- {
- Assert.IsFalse(TestStruct.Equals(Id.Empty));
- }
+ ;
+ var act = SerializeDeserialize.Xml(input);
+ Assert.AreEqual(exp.Id, act.Id, "Id");
+ Assert.AreEqual(exp.Obj, act.Obj, "Obj");
+ Assert.AreEqual(exp.Date, act.Date, "Date");
+ }
- [Test]
- public void Equals_EmptyTestStruct_IsFalse()
- {
- Assert.IsFalse(Id.Empty.Equals(TestStruct));
- }
+ [Test]
+ public void GetSchema_None_IsNull()
+ {
+ IXmlSerializable obj = TestStruct;
+ Assert.IsNull(obj.GetSchema());
+ }
- [Test]
- public void Equals_TestStructObjectTestStruct_IsTrue()
- {
- Assert.IsTrue(TestStruct.Equals((object)TestStruct));
- }
+ [TestCase("2017-06-11")]
+ public void FromJson_Invalid_Throws(object json)
+ {
+ Assert.Catch(() => JsonTester.Read>(json));
+ }
- [Test]
- public void Equals_TestStructNull_IsFalse()
- {
- Assert.IsFalse(TestStruct.Equals(null));
- }
+ [TestCase("0F5AB5AB-12CB-4629-878D-B18B88B9A504", "0F5AB5AB-12CB-4629-878D-B18B88B9A504")]
+ [TestCase("", "")]
+ public void FromJson(Id expected, object json)
+ {
+ var actual = JsonTester.Read>(json);
+ Assert.AreEqual(expected, actual);
+ }
- [Test]
- public void Equals_TestStructObject_IsFalse()
- {
- Assert.IsFalse(TestStruct.Equals(new object()));
- }
+ [Test]
+ public void ToJson_TestStruct_StringValue()
+ {
+ var json = TestStruct.ToJson();
+ Assert.AreEqual("0f5ab5ab-12cb-4629-878d-b18b88b9a504", json);
+ }
- [Test]
- public void OperatorIs_TestStructTestStruct_IsTrue()
- {
- var l = TestStruct;
- var r = TestStruct;
- Assert.IsTrue(l == r);
- }
+ [Test]
+ public void ToString_Empty_StringEmpty()
+ {
+ var act = Id.Empty.ToString();
+ var exp = "";
+ Assert.AreEqual(exp, act);
+ }
- [Test]
- public void OperatorIsNot_TestStructTestStruct_IsFalse()
- {
- var l = TestStruct;
- var r = TestStruct;
- Assert.IsFalse(l != r);
- }
+ [Test]
+ public void ToString_CustomFormatter_SupportsCustomFormatting()
+ {
+ var act = TestStruct.ToString("S", FormatProvider.CustomFormatter);
+ var exp = "Unit Test Formatter, value: 'q7VaD8sSKUaHjbGLiLmlBA', format: 'S'";
+ Assert.AreEqual(exp, act);
+ }
- [Test]
- public void Next_100Items_AllUnique()
- {
- var nexts = Enumerable.Range(0, 100).Select(i => Id.Next()).ToArray();
- CollectionAssert.AllItemsAreUnique(nexts);
- }
+ /// GetHash should not fail for Id.Empty.
+ [Test]
+ public void GetHash_Empty_Hash()
+ {
+ Assert.AreEqual(0, Id.Empty.GetHashCode());
+ }
- [TestCase(null)]
- [TestCase("")]
- [TestCase("Complex")]
- public void IsInvalid_String(string str)
- {
- Assert.IsFalse(Id.IsValid(str));
- }
+ /// GetHash should not fail for the test struct.
+ [Test]
+ public void GetHash_TestStruct_Hash()
+ {
+ Assert.AreNotEqual(0, TestStruct.GetHashCode());
+ }
- [TestCase("0F5AB5AB-12CB-4629-878D-B18B88B9A504")]
- [TestCase("Qowaiv_SVOLibrary_GUIA")]
- public void IsValid_String(string str)
- {
- Assert.IsTrue(Id.IsValid(str));
- }
+ [Test]
+ public void Equals_EmptyEmpty_IsTrue()
+ {
+ Assert.IsTrue(Id.Empty.Equals(Id.Empty));
+ }
+
+ [Test]
+ public void Equals_FormattedAndUnformatted_IsTrue()
+ {
+ var l = Id.Parse("Qowaiv_SVOLibrary_GUIA");
+ var r = Id.Parse("8a1a8c42-d2ff-e254-e26e-b6abcbf19420");
+ Assert.IsTrue(l.Equals(r));
+ }
+
+ [Test]
+ public void Equals_TestStructTestStruct_IsTrue()
+ {
+ Assert.IsTrue(TestStruct.Equals(TestStruct));
+ }
+
+ [Test]
+ public void Equals_TestStructEmpty_IsFalse()
+ {
+ Assert.IsFalse(TestStruct.Equals(Id.Empty));
}
- [Serializable]
- public class IdForGuidSerializeObject
+ [Test]
+ public void Equals_EmptyTestStruct_IsFalse()
{
- public int Id { get; set; }
- public Id Obj { get; set; }
- public DateTime Date { get; set; }
+ Assert.IsFalse(Id.Empty.Equals(TestStruct));
}
+
+ [Test]
+ public void Equals_TestStructObjectTestStruct_IsTrue()
+ {
+ Assert.IsTrue(TestStruct.Equals((object)TestStruct));
+ }
+
+ [Test]
+ public void Equals_TestStructNull_IsFalse()
+ {
+ Assert.IsFalse(TestStruct.Equals(null));
+ }
+
+ [Test]
+ public void Equals_TestStructObject_IsFalse()
+ {
+ Assert.IsFalse(TestStruct.Equals(new object()));
+ }
+
+ [Test]
+ public void OperatorIs_TestStructTestStruct_IsTrue()
+ {
+ var l = TestStruct;
+ var r = TestStruct;
+ Assert.IsTrue(l == r);
+ }
+
+ [Test]
+ public void OperatorIsNot_TestStructTestStruct_IsFalse()
+ {
+ var l = TestStruct;
+ var r = TestStruct;
+ Assert.IsFalse(l != r);
+ }
+
+ [Test]
+ public void Next_100Items_AllUnique()
+ {
+ var nexts = Enumerable.Range(0, 100).Select(i => Id.Next()).ToArray();
+ CollectionAssert.AllItemsAreUnique(nexts);
+ }
+
+ [TestCase(null)]
+ [TestCase("")]
+ [TestCase("Complex")]
+ public void IsInvalid_String(string str)
+ {
+ Assert.IsFalse(Id.IsValid(str));
+ }
+
+ [TestCase("0F5AB5AB-12CB-4629-878D-B18B88B9A504")]
+ [TestCase("Qowaiv_SVOLibrary_GUIA")]
+ public void IsValid_String(string str)
+ {
+ Assert.IsTrue(Id.IsValid(str));
+ }
+}
+
+[Serializable]
+public class IdForGuidSerializeObject
+{
+ public int Id { get; set; }
+ public Id Obj { get; set; }
+ public DateTime Date { get; set; }
}
diff --git a/specs/Qowaiv.Specs/UnitTests.OldStyle/Identifiers/IdForInt32Test.cs b/specs/Qowaiv.Specs/UnitTests.OldStyle/Identifiers/IdForInt32Test.cs
index 0d5c5e11a..30e497dff 100644
--- a/specs/Qowaiv.Specs/UnitTests.OldStyle/Identifiers/IdForInt32Test.cs
+++ b/specs/Qowaiv.Specs/UnitTests.OldStyle/Identifiers/IdForInt32Test.cs
@@ -1,485 +1,472 @@
-using FluentAssertions;
-using NUnit.Framework;
-using Qowaiv.Globalization;
-using Qowaiv.Identifiers;
-using Qowaiv.TestTools;
-using Qowaiv.TestTools.Globalization;
-using System;
-using System.Collections.Generic;
-using System.Globalization;
-using System.Linq;
-using System.Runtime.Serialization;
-using System.Xml.Serialization;
-
-namespace Qowaiv.UnitTests.Identifiers
-{
- public sealed class ForInt32 : Int32IdBehavior { }
-
- /// Tests the identifier SVO.
- public class IdForInt32Test
- {
- /// The test instance for most tests.
- public static readonly Id TestStruct = Id.Parse("123456789");
+namespace Qowaiv.UnitTests.Identifiers;
- /// Id.Empty should be equal to the default of identifier.
- [Test]
- public void Empty_None_EqualsDefault()
- {
- Assert.AreEqual(default(Id), Id.Empty);
- }
-
- /// Id.IsEmpty() should be true for the default of identifier.
- [Test]
- public void IsEmpty_Default_IsTrue()
- {
- Assert.IsTrue(default(Id).IsEmpty());
- }
+[EmptyTestClass]
+public sealed class ForInt32 : Int32IdBehavior { }
- /// Id.IsEmpty() should be false for the TestStruct.
- [Test]
- public void IsEmpty_TestStruct_IsFalse()
- {
- Assert.IsFalse(TestStruct.IsEmpty());
- }
+/// Tests the identifier SVO.
+public class IdForInt32Test
+{
+ /// The test instance for most tests.
+ public static readonly Id TestStruct = Id.Parse("123456789");
- [Test]
- public void FromBytes_Null_IsEmpty()
- {
- var fromBytes = Id.FromBytes(null);
- Assert.AreEqual(Id.Empty, fromBytes);
- }
+ /// Id.Empty should be equal to the default of identifier.
+ [Test]
+ public void Empty_None_EqualsDefault()
+ {
+ Assert.AreEqual(default(Id), Id.Empty);
+ }
- [Test]
- public void FromBytes_Bytes_IsTestStruct()
- {
- var fromBytes = Id.FromBytes(new byte[] { 21, 205, 91, 7 });
- Assert.AreEqual(TestStruct, fromBytes);
- }
+ /// Id.IsEmpty() should be true for the default of identifier.
+ [Test]
+ public void IsEmpty_Default_IsTrue()
+ {
+ Assert.IsTrue(default(Id).IsEmpty());
+ }
- [Test]
- public void ToByteArray_Empty_EmptyArray()
- {
- var bytes = Id.Empty.ToByteArray();
- Assert.AreEqual(Array.Empty(), bytes);
- }
+ /// Id.IsEmpty() should be false for the TestStruct.
+ [Test]
+ public void IsEmpty_TestStruct_IsFalse()
+ {
+ Assert.IsFalse(TestStruct.IsEmpty());
+ }
- [Test]
- public void ToByteArray_TestStruct_FilledArray()
- {
- var bytes = TestStruct.ToByteArray();
- var exepected = new byte[] { 21, 205, 91, 7 };
- Assert.AreEqual(exepected, bytes);
- }
+ [Test]
+ public void FromBytes_Null_IsEmpty()
+ {
+ var fromBytes = Id.FromBytes(null);
+ Assert.AreEqual(Id.Empty, fromBytes);
+ }
- /// TryParse null should be valid.
- [Test]
- public void TryParse_Null_IsValid()
- {
- Assert.IsTrue(Id.TryParse(null, out var val));
- Assert.AreEqual(default(Id), val);
- }
+ [Test]
+ public void FromBytes_Bytes_IsTestStruct()
+ {
+ var fromBytes = Id.FromBytes(new byte[] { 21, 205, 91, 7 });
+ Assert.AreEqual(TestStruct, fromBytes);
+ }
- /// TryParse string.Empty should be valid.
- [Test]
- public void TryParse_StringEmpty_IsValid()
- {
- Assert.IsTrue(Id.TryParse(string.Empty, out var val));
- Assert.AreEqual(default(Id), val);
- }
+ [Test]
+ public void ToByteArray_Empty_EmptyArray()
+ {
+ var bytes = Id.Empty.ToByteArray();
+ Assert.AreEqual(Array.Empty(), bytes);
+ }
- /// TryParse with specified string value should be valid.
- [Test]
- public void TryParse_StringValue_IsValid()
- {
- string str = "123456789";
- Assert.IsTrue(Id.TryParse(str, out var val));
- Assert.AreEqual(str, val.ToString());
- }
+ [Test]
+ public void ToByteArray_TestStruct_FilledArray()
+ {
+ var bytes = TestStruct.ToByteArray();
+ var exepected = new byte[] { 21, 205, 91, 7 };
+ Assert.AreEqual(exepected, bytes);
+ }
- /// TryParse with specified string value should be invalid.
- [Test]
- public void TryParse_StringValue_IsNotValid()
- {
- string str = "ABC";
- Assert.IsFalse(Id.TryParse(str, out var val));
- Assert.AreEqual(default(Id), val);
- }
+ /// TryParse null should be valid.
+ [Test]
+ public void TryParse_Null_IsValid()
+ {
+ Assert.IsTrue(Id.TryParse(null, out var val));
+ Assert.AreEqual(default(Id), val);
+ }
- [Test]
- public void Parse_InvalidInput_ThrowsFormatException()
- {
- using (TestCultures.En_GB.Scoped())
- {
- Assert.Catch(() =>
- {
- Id.Parse("InvalidInput");
- }
+ /// TryParse string.Empty should be valid.
+ [Test]
+ public void TryParse_StringEmpty_IsValid()
+ {
+ Assert.IsTrue(Id.TryParse(string.Empty, out var val));
+ Assert.AreEqual(default(Id), val);
+ }
- , "Not a valid identifier");
- }
- }
+ /// TryParse with specified string value should be valid.
+ [Test]
+ public void TryParse_StringValue_IsValid()
+ {
+ string str = "123456789";
+ Assert.IsTrue(Id.TryParse(str, out var val));
+ Assert.AreEqual(str, val.ToString());
+ }
- [Test]
- public void TryParse_TestStructInput_AreEqual()
- {
- using (TestCultures.En_GB.Scoped())
- {
- var exp = TestStruct;
- var act = Id.TryParse(exp.ToString());
- Assert.AreEqual(exp, act);
- }
- }
+ /// TryParse with specified string value should be invalid.
+ [Test]
+ public void TryParse_StringValue_IsNotValid()
+ {
+ string str = "ABC";
+ Assert.IsFalse(Id.TryParse(str, out var val));
+ Assert.AreEqual(default(Id), val);
+ }
- [Test]
- public void TryParse_InvalidInput_DefaultValue()
+ [Test]
+ public void Parse_InvalidInput_ThrowsFormatException()
+ {
+ using (TestCultures.En_GB.Scoped())
{
- using (TestCultures.En_GB.Scoped())
+ Assert.Catch(() =>
{
- var exp = default(Id);
- var act = Id.TryParse("InvalidInput");
- Assert.AreEqual(exp, act);
+ Id.Parse("InvalidInput");
}
- }
-
- [Test]
- public void TryCreate_Int_Successful()
- {
- Assert.IsTrue(Id.TryCreate(13, out var id));
- Assert.AreEqual(Id.Parse("13"), id);
- }
- [Test]
- public void GetObjectData_NulSerializationInfo_Throws()
- {
- ISerializable obj = TestStruct;
- Assert.Catch(() => obj.GetObjectData(null, default));
- }
-
- [Test]
- public void GetObjectData_SerializationInfo_AreEqual()
- {
- ISerializable obj = TestStruct;
- var info = new SerializationInfo(typeof(Id), new FormatterConverter());
- obj.GetObjectData(info, default);
- Assert.AreEqual(123456789L, info.GetValue("Value", typeof(long)));
- }
-
- [Test]
- [Obsolete("Usage of the binary formatter is considered harmful.")]
- public void SerializeDeserialize_TestStruct_AreEqual()
- {
- var input = TestStruct;
- var exp = TestStruct;
- var act = SerializeDeserialize.Binary(input);
- Assert.AreEqual(exp, act);
+ , "Not a valid identifier");
}
+ }
- [Test]
- public void DataContractSerializeDeserialize_TestStruct_AreEqual()
+ [Test]
+ public void TryParse_TestStructInput_AreEqual()
+ {
+ using (TestCultures.En_GB.Scoped())
{
- var input = TestStruct;
var exp = TestStruct;
- var act = SerializeDeserialize.DataContract(input);
+ var act = Id.TryParse(exp.ToString());
Assert.AreEqual(exp, act);
}
+ }
- [Test]
- public void XmlSerialize_TestStruct_AreEqual()
+ [Test]
+ public void TryParse_InvalidInput_DefaultValue()
+ {
+ using (TestCultures.En_GB.Scoped())
{
- var act = Serialize.Xml(TestStruct);
- var exp = "123456789";
+ var exp = default(Id);
+ var act = Id.TryParse("InvalidInput");
Assert.AreEqual(exp, act);
}
+ }
- [Test]
- public void XmlDeserialize_XmlString_AreEqual()
- {
- var act =Deserialize.Xml>("123456789");
- Assert.AreEqual(TestStruct, act);
- }
+ [Test]
+ public void TryCreate_Int_Successful()
+ {
+ Assert.IsTrue(Id.TryCreate(13, out var id));
+ Assert.AreEqual(Id.Parse("13"), id);
+ }
- [Test]
- [Obsolete("Usage of the binary formatter is considered harmful.")]
- public void SerializeDeserialize_IdForInt32SerializeObject_AreEqual()
- {
- var input = new IdForInt32SerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
+ [Test]
+ public void GetObjectData_NulSerializationInfo_Throws()
+ {
+ ISerializable obj = TestStruct;
+ Assert.Catch(() => obj.GetObjectData(null, default));
+ }
- ;
- var exp = new IdForInt32SerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
+ [Test]
+ public void GetObjectData_SerializationInfo_AreEqual()
+ {
+ ISerializable obj = TestStruct;
+ var info = new SerializationInfo(typeof(Id), new FormatterConverter());
+ obj.GetObjectData(info, default);
+ Assert.AreEqual(123456789L, info.GetValue("Value", typeof(long)));
+ }
- ;
- var act = SerializeDeserialize.Binary(input);
- Assert.AreEqual(exp.Id, act.Id, "Id");
- Assert.AreEqual(exp.Obj, act.Obj, "Obj");
- Assert.AreEqual(exp.Date, act.Date, "Date");
- }
+ [Test]
+ [Obsolete("Usage of the binary formatter is considered harmful.")]
+ public void SerializeDeserialize_TestStruct_AreEqual()
+ {
+ var input = TestStruct;
+ var exp = TestStruct;
+ var act = SerializeDeserialize.Binary(input);
+ Assert.AreEqual(exp, act);
+ }
- [Test]
- public void XmlSerializeDeserialize_IdForInt32SerializeObject_AreEqual()
- {
- var input = new IdForInt32SerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
+ [Test]
+ public void DataContractSerializeDeserialize_TestStruct_AreEqual()
+ {
+ var input = TestStruct;
+ var exp = TestStruct;
+ var act = SerializeDeserialize.DataContract(input);
+ Assert.AreEqual(exp, act);
+ }
- ;
- var exp = new IdForInt32SerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
+ [Test]
+ public void XmlSerialize_TestStruct_AreEqual()
+ {
+ var act = Serialize.Xml(TestStruct);
+ var exp = "123456789";
+ Assert.AreEqual(exp, act);
+ }
- ;
- var act = SerializeDeserialize.Xml(input);
- Assert.AreEqual(exp.Id, act.Id, "Id");
- Assert.AreEqual(exp.Obj, act.Obj, "Obj");
- Assert.AreEqual(exp.Date, act.Date, "Date");
- }
+ [Test]
+ public void XmlDeserialize_XmlString_AreEqual()
+ {
+ var act =Deserialize.Xml>("123456789");
+ Assert.AreEqual(TestStruct, act);
+ }
- [Test]
- public void DataContractSerializeDeserialize_IdForInt32SerializeObject_AreEqual()
+ [Test]
+ [Obsolete("Usage of the binary formatter is considered harmful.")]
+ public void SerializeDeserialize_IdForInt32SerializeObject_AreEqual()
+ {
+ var input = new IdForInt32SerializeObject
{
- var input = new IdForInt32SerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var exp = new IdForInt32SerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var act = SerializeDeserialize.DataContract(input);
- Assert.AreEqual(exp.Id, act.Id, "Id");
- Assert.AreEqual(exp.Obj, act.Obj, "Obj");
- Assert.AreEqual(exp.Date, act.Date, "Date");
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- [Obsolete("Usage of the binary formatter is considered harmful.")]
- public void SerializeDeserialize_Default_AreEqual()
+ ;
+ var exp = new IdForInt32SerializeObject
{
- var input = new IdForInt32SerializeObject
- {
- Id = 17,
- Obj = default,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var exp = new IdForInt32SerializeObject
- {
- Id = 17,
- Obj = default,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var act = SerializeDeserialize.Binary(input);
- Assert.AreEqual(exp.Id, act.Id, "Id");
- Assert.AreEqual(exp.Obj, act.Obj, "Obj");
- Assert.AreEqual(exp.Date, act.Date, "Date");
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void XmlSerializeDeserialize_Default_AreEqual()
- {
- var input = new IdForInt32SerializeObject
- {
- Id = 17,
- Obj = default,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var exp = new IdForInt32SerializeObject
- {
- Id = 17,
- Obj = default,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var act = SerializeDeserialize.Xml(input);
- Assert.AreEqual(exp.Id, act.Id, "Id");
- Assert.AreEqual(exp.Obj, act.Obj, "Obj");
- Assert.AreEqual(exp.Date, act.Date, "Date");
- }
+ ;
+ var act = SerializeDeserialize.Binary(input);
+ Assert.AreEqual(exp.Id, act.Id, "Id");
+ Assert.AreEqual(exp.Obj, act.Obj, "Obj");
+ Assert.AreEqual(exp.Date, act.Date, "Date");
+ }
- [Test]
- public void GetSchema_None_IsNull()
+ [Test]
+ public void XmlSerializeDeserialize_IdForInt32SerializeObject_AreEqual()
+ {
+ var input = new IdForInt32SerializeObject
{
- IXmlSerializable obj = TestStruct;
- Assert.IsNull(obj.GetSchema());
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- [TestCase("2017-06-11")]
- public void FromJson_Invalid_Throws(object json)
+ ;
+ var exp = new IdForInt32SerializeObject
{
- Assert.Catch(() => JsonTester.Read>(json));
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- [TestCase("123456789", "123456789")]
- [TestCase("12345678", 12345678L)]
- [TestCase("", "")]
- [TestCase("", 0L)]
- public void FromJson(Id expected, object json)
- {
- var actual = JsonTester.Read>(json);
- Assert.AreEqual(expected, actual);
- }
+ ;
+ var act = SerializeDeserialize.Xml(input);
+ Assert.AreEqual(exp.Id, act.Id, "Id");
+ Assert.AreEqual(exp.Obj, act.Obj, "Obj");
+ Assert.AreEqual(exp.Date, act.Date, "Date");
+ }
- [Test]
- public void ToJson_TestStruct_LongValue()
+ [Test]
+ public void DataContractSerializeDeserialize_IdForInt32SerializeObject_AreEqual()
+ {
+ var input = new IdForInt32SerializeObject
{
- var json = TestStruct.ToJson();
- Assert.AreEqual(123456789L, json);
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void ToString_Empty_StringEmpty()
+ ;
+ var exp = new IdForInt32SerializeObject
{
- var act = Id.Empty.ToString(CultureInfo.InvariantCulture);
- var exp = "";
- Assert.AreEqual(exp, act);
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void ToString_CustomFormatter_SupportsCustomFormatting()
- {
- var act = TestStruct.ToString("#,##0.0", FormatProvider.CustomFormatter);
- var exp = "Unit Test Formatter, value: '123,456,789.0', format: '#,##0.0'";
- Assert.AreEqual(exp, act);
- }
+ ;
+ var act = SerializeDeserialize.DataContract(input);
+ Assert.AreEqual(exp.Id, act.Id, "Id");
+ Assert.AreEqual(exp.Obj, act.Obj, "Obj");
+ Assert.AreEqual(exp.Date, act.Date, "Date");
+ }
- /// GetHash should not fail for Id.Empty.
- [Test]
- public void GetHash_Empty_Hash()
+ [Test]
+ [Obsolete("Usage of the binary formatter is considered harmful.")]
+ public void SerializeDeserialize_Default_AreEqual()
+ {
+ var input = new IdForInt32SerializeObject
{
- Assert.AreEqual(0, Id.Empty.GetHashCode());
+ Id = 17,
+ Obj = default,
+ Date = new DateTime(1970, 02, 14),
}
- /// GetHash should not fail for the test struct.
- [Test]
- public void GetHash_TestStruct_Hash()
+ ;
+ var exp = new IdForInt32SerializeObject
{
- Assert.AreNotEqual(0, TestStruct.GetHashCode());
+ Id = 17,
+ Obj = default,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void Equals_EmptyEmpty_IsTrue()
- {
- Assert.IsTrue(Id.Empty.Equals(Id.Empty));
- }
+ ;
+ var act = SerializeDeserialize.Binary(input);
+ Assert.AreEqual(exp.Id, act.Id, "Id");
+ Assert.AreEqual(exp.Obj, act.Obj, "Obj");
+ Assert.AreEqual(exp.Date, act.Date, "Date");
+ }
- [Test]
- public void Equals_FormattedAndUnformatted_IsTrue()
+ [Test]
+ public void XmlSerializeDeserialize_Default_AreEqual()
+ {
+ var input = new IdForInt32SerializeObject
{
- var l = Id.Parse("123456");
- var r = Id.Parse("+0000123456");
- Assert.IsTrue(l.Equals(r));
+ Id = 17,
+ Obj = default,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void Equals_TestStructTestStruct_IsTrue()
+ ;
+ var exp = new IdForInt32SerializeObject
{
- Assert.IsTrue(TestStruct.Equals(TestStruct));
+ Id = 17,
+ Obj = default,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void Equals_TestStructEmpty_IsFalse()
- {
- Assert.IsFalse(TestStruct.Equals(Id.Empty));
- }
+ ;
+ var act = SerializeDeserialize.Xml(input);
+ Assert.AreEqual(exp.Id, act.Id, "Id");
+ Assert.AreEqual(exp.Obj, act.Obj, "Obj");
+ Assert.AreEqual(exp.Date, act.Date, "Date");
+ }
- [Test]
- public void Equals_EmptyTestStruct_IsFalse()
- {
- Assert.IsFalse(Id.Empty.Equals(TestStruct));
- }
+ [Test]
+ public void GetSchema_None_IsNull()
+ {
+ IXmlSerializable obj = TestStruct;
+ Assert.IsNull(obj.GetSchema());
+ }
- [Test]
- public void Equals_TestStructObjectTestStruct_IsTrue()
- {
- Assert.IsTrue(TestStruct.Equals((object)TestStruct));
- }
+ [TestCase("2017-06-11")]
+ public void FromJson_Invalid_Throws(object json)
+ {
+ Assert.Catch(() => JsonTester.Read>(json));
+ }
- [Test]
- public void Equals_TestStructNull_IsFalse()
- {
- Assert.IsFalse(TestStruct.Equals(null));
- }
+ [TestCase("123456789", "123456789")]
+ [TestCase("12345678", 12345678L)]
+ [TestCase("", "")]
+ [TestCase("", 0L)]
+ public void FromJson(Id expected, object json)
+ {
+ var actual = JsonTester.Read>(json);
+ Assert.AreEqual(expected, actual);
+ }
- [Test]
- public void Equals_TestStructObject_IsFalse()
- {
- Assert.IsFalse(TestStruct.Equals(new object()));
- }
+ [Test]
+ public void ToJson_TestStruct_LongValue()
+ {
+ var json = TestStruct.ToJson();
+ Assert.AreEqual(123456789L, json);
+ }
- [Test]
- public void OperatorIs_TestStructTestStruct_IsTrue()
- {
- var l = TestStruct;
- var r = TestStruct;
- Assert.IsTrue(l == r);
- }
+ [Test]
+ public void ToString_Empty_StringEmpty()
+ {
+ var act = Id.Empty.ToString(CultureInfo.InvariantCulture);
+ var exp = "";
+ Assert.AreEqual(exp, act);
+ }
- [Test]
- public void OperatorIsNot_TestStructTestStruct_IsFalse()
- {
- var l = TestStruct;
- var r = TestStruct;
- Assert.IsFalse(l != r);
- }
+ [Test]
+ public void ToString_CustomFormatter_SupportsCustomFormatting()
+ {
+ var act = TestStruct.ToString("#,##0.0", FormatProvider.CustomFormatter);
+ var exp = "Unit Test Formatter, value: '123,456,789.0', format: '#,##0.0'";
+ Assert.AreEqual(exp, act);
+ }
- [Test]
- public void Next_NotSupported()
- {
- Assert.Throws(() => Id.Next());
- }
+ /// GetHash should not fail for Id.Empty.
+ [Test]
+ public void GetHash_Empty_Hash()
+ {
+ Assert.AreEqual(0, Id.Empty.GetHashCode());
+ }
- [TestCase(null)]
- [TestCase("")]
- [TestCase("ABC")]
- [TestCase("-1")]
- public void IsInvalid_String(string str)
- {
- Assert.IsFalse(Id.IsValid(str));
- }
+ /// GetHash should not fail for the test struct.
+ [Test]
+ public void GetHash_TestStruct_Hash()
+ {
+ Assert.AreNotEqual(0, TestStruct.GetHashCode());
+ }
- [TestCase("0")]
- [TestCase("1234")]
- [TestCase("+123456")]
- public void IsValid_String(string str)
- {
- Assert.IsTrue(Id.IsValid(str));
- }
+ [Test]
+ public void Equals_EmptyEmpty_IsTrue()
+ {
+ Assert.IsTrue(Id.Empty.Equals(Id.Empty));
}
- [Serializable]
- public class IdForInt32SerializeObject
+ [Test]
+ public void Equals_FormattedAndUnformatted_IsTrue()
{
- public int Id { get; set; }
- public Id Obj { get; set; }
- public DateTime Date { get; set; }
+ var l = Id.Parse("123456");
+ var r = Id.Parse("+0000123456");
+ Assert.IsTrue(l.Equals(r));
}
+
+ [Test]
+ public void Equals_TestStructTestStruct_IsTrue()
+ {
+ Assert.IsTrue(TestStruct.Equals(TestStruct));
+ }
+
+ [Test]
+ public void Equals_TestStructEmpty_IsFalse()
+ {
+ Assert.IsFalse(TestStruct.Equals(Id.Empty));
+ }
+
+ [Test]
+ public void Equals_EmptyTestStruct_IsFalse()
+ {
+ Assert.IsFalse(Id.Empty.Equals(TestStruct));
+ }
+
+ [Test]
+ public void Equals_TestStructObjectTestStruct_IsTrue()
+ {
+ Assert.IsTrue(TestStruct.Equals((object)TestStruct));
+ }
+
+ [Test]
+ public void Equals_TestStructNull_IsFalse()
+ {
+ Assert.IsFalse(TestStruct.Equals(null));
+ }
+
+ [Test]
+ public void Equals_TestStructObject_IsFalse()
+ {
+ Assert.IsFalse(TestStruct.Equals(new object()));
+ }
+
+ [Test]
+ public void OperatorIs_TestStructTestStruct_IsTrue()
+ {
+ var l = TestStruct;
+ var r = TestStruct;
+ Assert.IsTrue(l == r);
+ }
+
+ [Test]
+ public void OperatorIsNot_TestStructTestStruct_IsFalse()
+ {
+ var l = TestStruct;
+ var r = TestStruct;
+ Assert.IsFalse(l != r);
+ }
+
+ [Test]
+ public void Next_NotSupported()
+ {
+ Assert.Throws(() => Id.Next());
+ }
+
+ [TestCase(null)]
+ [TestCase("")]
+ [TestCase("ABC")]
+ [TestCase("-1")]
+ public void IsInvalid_String(string str)
+ {
+ Assert.IsFalse(Id.IsValid(str));
+ }
+
+ [TestCase("0")]
+ [TestCase("1234")]
+ [TestCase("+123456")]
+ public void IsValid_String(string str)
+ {
+ Assert.IsTrue(Id.IsValid(str));
+ }
+}
+
+[Serializable]
+public class IdForInt32SerializeObject
+{
+ public int Id { get; set; }
+ public Id Obj { get; set; }
+ public DateTime Date { get; set; }
}
diff --git a/specs/Qowaiv.Specs/UnitTests.OldStyle/Identifiers/IdForInt64Test.cs b/specs/Qowaiv.Specs/UnitTests.OldStyle/Identifiers/IdForInt64Test.cs
index 7195a2563..8b58ee4ee 100644
--- a/specs/Qowaiv.Specs/UnitTests.OldStyle/Identifiers/IdForInt64Test.cs
+++ b/specs/Qowaiv.Specs/UnitTests.OldStyle/Identifiers/IdForInt64Test.cs
@@ -1,468 +1,455 @@
-using FluentAssertions;
-using NUnit.Framework;
-using Qowaiv.Globalization;
-using Qowaiv.Identifiers;
-using Qowaiv.TestTools;
-using Qowaiv.TestTools.Globalization;
-using System;
-using System.Collections.Generic;
-using System.Globalization;
-using System.Linq;
-using System.Runtime.Serialization;
-using System.Xml.Serialization;
-
-namespace Qowaiv.UnitTests.Identifiers
-{
- public sealed class ForInt64 : Int64IdBehavior { }
+namespace Qowaiv.UnitTests.Identifiers;
- /// Tests the identifier SVO.
- public class IdForInt64Test
- {
- /// The test instance for most tests.
- public static readonly Id TestStruct = Id.Parse("123456789");
+[EmptyTestClass]
+public sealed class ForInt64 : Int64IdBehavior { }
- /// Id.Empty should be equal to the default of identifier.
- [Test]
- public void Empty_None_EqualsDefault()
- {
- Assert.AreEqual(default(Id), Id.Empty);
- }
-
- /// Id.IsEmpty() should be true for the default of identifier.
- [Test]
- public void IsEmpty_Default_IsTrue()
- {
- Assert.IsTrue(default(Id).IsEmpty());
- }
-
- /// Id.IsEmpty() should be false for the TestStruct.
- [Test]
- public void IsEmpty_TestStruct_IsFalse()
- {
- Assert.IsFalse(TestStruct.IsEmpty());
- }
+/// Tests the identifier SVO.
+public class IdForInt64Test
+{
+ /// The test instance for most tests.
+ public static readonly Id TestStruct = Id.Parse("123456789");
- [Test]
- public void FromBytes_Null_IsEmpty()
- {
- var fromBytes = Id.FromBytes(null);
- Assert.AreEqual(Id.Empty, fromBytes);
- }
+ /// Id.Empty should be equal to the default of identifier.
+ [Test]
+ public void Empty_None_EqualsDefault()
+ {
+ Assert.AreEqual(default(Id), Id.Empty);
+ }
- [Test]
- public void FromBytes_Bytes_IsTestStruct()
- {
- var fromBytes = Id.FromBytes(new byte[] { 21, 205, 91, 7, 0, 0, 0, 0 });
- Assert.AreEqual(TestStruct, fromBytes);
- }
+ /// Id.IsEmpty() should be true for the default of identifier.
+ [Test]
+ public void IsEmpty_Default_IsTrue()
+ {
+ Assert.IsTrue(default(Id).IsEmpty());
+ }
- [Test]
- public void ToByteArray_Empty_EmptyArray()
- {
- var bytes = Id.Empty.ToByteArray();
- Assert.AreEqual(Array.Empty(), bytes);
- }
+ /// Id.IsEmpty() should be false for the TestStruct.
+ [Test]
+ public void IsEmpty_TestStruct_IsFalse()
+ {
+ Assert.IsFalse(TestStruct.IsEmpty());
+ }
- [Test]
- public void ToByteArray_TestStruct_FilledArray()
- {
- var bytes = TestStruct.ToByteArray();
- var exepected = new byte[] { 21, 205, 91, 7, 0, 0, 0, 0 };
- Assert.AreEqual(exepected, bytes);
- }
+ [Test]
+ public void FromBytes_Null_IsEmpty()
+ {
+ var fromBytes = Id.FromBytes(null);
+ Assert.AreEqual(Id.Empty, fromBytes);
+ }
- /// TryParse null should be valid.
- [Test]
- public void TryParse_Null_IsValid()
- {
- Assert.IsTrue(Id.TryParse(null, out var val));
- Assert.AreEqual(default(Id), val);
- }
+ [Test]
+ public void FromBytes_Bytes_IsTestStruct()
+ {
+ var fromBytes = Id.FromBytes(new byte[] { 21, 205, 91, 7, 0, 0, 0, 0 });
+ Assert.AreEqual(TestStruct, fromBytes);
+ }
- /// TryParse string.Empty should be valid.
- [Test]
- public void TryParse_StringEmpty_IsValid()
- {
- Assert.IsTrue(Id.TryParse(string.Empty, out var val));
- Assert.AreEqual(default(Id), val);
- }
+ [Test]
+ public void ToByteArray_Empty_EmptyArray()
+ {
+ var bytes = Id.Empty.ToByteArray();
+ Assert.AreEqual(Array.Empty(), bytes);
+ }
- /// TryParse with specified string value should be valid.
- [Test]
- public void TryParse_StringValue_IsValid()
- {
- string str = "123456789";
- Assert.IsTrue(Id.TryParse(str, out var val));
- Assert.AreEqual(str, val.ToString());
- }
+ [Test]
+ public void ToByteArray_TestStruct_FilledArray()
+ {
+ var bytes = TestStruct.ToByteArray();
+ var exepected = new byte[] { 21, 205, 91, 7, 0, 0, 0, 0 };
+ Assert.AreEqual(exepected, bytes);
+ }
- /// TryParse with specified string value should be invalid.
- [Test]
- public void TryParse_StringValue_IsNotValid()
- {
- string str = "ABC";
- Assert.IsFalse(Id.TryParse(str, out var val));
- Assert.AreEqual(default(Id), val);
- }
+ /// TryParse null should be valid.
+ [Test]
+ public void TryParse_Null_IsValid()
+ {
+ Assert.IsTrue(Id.TryParse(null, out var val));
+ Assert.AreEqual(default(Id), val);
+ }
- [Test]
- public void TryCreate_Int_Successful()
- {
- Assert.IsTrue(Id.TryCreate(13L, out var id));
- Assert.AreEqual(Id.Parse("13"), id);
- }
+ /// TryParse string.Empty should be valid.
+ [Test]
+ public void TryParse_StringEmpty_IsValid()
+ {
+ Assert.IsTrue(Id.TryParse(string.Empty, out var val));
+ Assert.AreEqual(default(Id), val);
+ }
- [Test]
- public void Parse_InvalidInput_ThrowsFormatException()
- {
- using (TestCultures.En_GB.Scoped())
- {
- Assert.Catch(() =>
- {
- Id.Parse("InvalidInput");
- }
+ /// TryParse with specified string value should be valid.
+ [Test]
+ public void TryParse_StringValue_IsValid()
+ {
+ string str = "123456789";
+ Assert.IsTrue(Id.TryParse(str, out var val));
+ Assert.AreEqual(str, val.ToString());
+ }
- , "Not a valid identifier");
- }
- }
+ /// TryParse with specified string value should be invalid.
+ [Test]
+ public void TryParse_StringValue_IsNotValid()
+ {
+ string str = "ABC";
+ Assert.IsFalse(Id.TryParse(str, out var val));
+ Assert.AreEqual(default(Id), val);
+ }
- [Test]
- public void TryParse_TestStructInput_AreEqual()
- {
- using (TestCultures.En_GB.Scoped())
- {
- var exp = TestStruct;
- var act = Id.TryParse(exp.ToString());
- Assert.AreEqual(exp, act);
- }
- }
+ [Test]
+ public void TryCreate_Int_Successful()
+ {
+ Assert.IsTrue(Id.TryCreate(13L, out var id));
+ Assert.AreEqual(Id.Parse("13"), id);
+ }
- [Test]
- public void TryParse_InvalidInput_DefaultValue()
+ [Test]
+ public void Parse_InvalidInput_ThrowsFormatException()
+ {
+ using (TestCultures.En_GB.Scoped())
{
- using (TestCultures.En_GB.Scoped())
+ Assert.Catch(() =>
{
- var exp = default(Id);
- var act = Id.TryParse("InvalidInput");
- Assert.AreEqual(exp, act);
+ Id.Parse("InvalidInput");
}
- }
-
- [Test]
- public void GetObjectData_NulSerializationInfo_Throws()
- {
- ISerializable obj = TestStruct;
- Assert.Catch(() => obj.GetObjectData(null, default));
- }
-
- [Test]
- public void GetObjectData_SerializationInfo_AreEqual()
- {
- ISerializable obj = TestStruct;
- var info = new SerializationInfo(typeof(Id), new FormatterConverter());
- obj.GetObjectData(info, default);
- Assert.AreEqual(123456789L, info.GetValue("Value", typeof(long)));
- }
- [Test]
- [Obsolete("Usage of the binary formatter is considered harmful.")]
- public void SerializeDeserialize_TestStruct_AreEqual()
- {
- var input = TestStruct;
- var exp = TestStruct;
- var act = SerializeDeserialize.Binary(input);
- Assert.AreEqual(exp, act);
+ , "Not a valid identifier");
}
+ }
- [Test]
- public void DataContractSerializeDeserialize_TestStruct_AreEqual()
+ [Test]
+ public void TryParse_TestStructInput_AreEqual()
+ {
+ using (TestCultures.En_GB.Scoped())
{
- var input = TestStruct;
var exp = TestStruct;
- var act = SerializeDeserialize.DataContract(input);
+ var act = Id.TryParse(exp.ToString());
Assert.AreEqual(exp, act);
}
+ }
- [Test]
- public void XmlSerialize_TestStruct_AreEqual()
+ [Test]
+ public void TryParse_InvalidInput_DefaultValue()
+ {
+ using (TestCultures.En_GB.Scoped())
{
- var act = Serialize.Xml(TestStruct);
- var exp = "123456789";
+ var exp = default(Id);
+ var act = Id.TryParse("InvalidInput");
Assert.AreEqual(exp, act);
}
+ }
- [Test]
- public void XmlDeserialize_XmlString_AreEqual()
- {
- var act =Deserialize.Xml>("123456789");
- Assert.AreEqual(TestStruct, act);
- }
-
- [Test]
- [Obsolete("Usage of the binary formatter is considered harmful.")]
- public void SerializeDeserialize_IdForInt64SerializeObject_AreEqual()
- {
- var input = new IdForInt64SerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
+ [Test]
+ public void GetObjectData_NulSerializationInfo_Throws()
+ {
+ ISerializable obj = TestStruct;
+ Assert.Catch(() => obj.GetObjectData(null, default));
+ }
- ;
- var exp = new IdForInt64SerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
+ [Test]
+ public void GetObjectData_SerializationInfo_AreEqual()
+ {
+ ISerializable obj = TestStruct;
+ var info = new SerializationInfo(typeof(Id), new FormatterConverter());
+ obj.GetObjectData(info, default);
+ Assert.AreEqual(123456789L, info.GetValue("Value", typeof(long)));
+ }
- ;
- var act = SerializeDeserialize.Binary(input);
- Assert.AreEqual(exp.Id, act.Id, "Id");
- Assert.AreEqual(exp.Obj, act.Obj, "Obj");
- Assert.AreEqual(exp.Date, act.Date, "Date");
- }
+ [Test]
+ [Obsolete("Usage of the binary formatter is considered harmful.")]
+ public void SerializeDeserialize_TestStruct_AreEqual()
+ {
+ var input = TestStruct;
+ var exp = TestStruct;
+ var act = SerializeDeserialize.Binary(input);
+ Assert.AreEqual(exp, act);
+ }
- [Test]
- public void XmlSerializeDeserialize_IdForInt64SerializeObject_AreEqual()
- {
- var input = new IdForInt64SerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
+ [Test]
+ public void DataContractSerializeDeserialize_TestStruct_AreEqual()
+ {
+ var input = TestStruct;
+ var exp = TestStruct;
+ var act = SerializeDeserialize.DataContract(input);
+ Assert.AreEqual(exp, act);
+ }
- ;
- var exp = new IdForInt64SerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
+ [Test]
+ public void XmlSerialize_TestStruct_AreEqual()
+ {
+ var act = Serialize.Xml(TestStruct);
+ var exp = "123456789";
+ Assert.AreEqual(exp, act);
+ }
- ;
- var act = SerializeDeserialize.Xml(input);
- Assert.AreEqual(exp.Id, act.Id, "Id");
- Assert.AreEqual(exp.Obj, act.Obj, "Obj");
- Assert.AreEqual(exp.Date, act.Date, "Date");
- }
+ [Test]
+ public void XmlDeserialize_XmlString_AreEqual()
+ {
+ var act =Deserialize.Xml>("123456789");
+ Assert.AreEqual(TestStruct, act);
+ }
- [Test]
- public void DataContractSerializeDeserialize_IdForInt64SerializeObject_AreEqual()
+ [Test]
+ [Obsolete("Usage of the binary formatter is considered harmful.")]
+ public void SerializeDeserialize_IdForInt64SerializeObject_AreEqual()
+ {
+ var input = new IdForInt64SerializeObject
{
- var input = new IdForInt64SerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var exp = new IdForInt64SerializeObject
- {
- Id = 17,
- Obj = TestStruct,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var act = SerializeDeserialize.DataContract(input);
- Assert.AreEqual(exp.Id, act.Id, "Id");
- Assert.AreEqual(exp.Obj, act.Obj, "Obj");
- Assert.AreEqual(exp.Date, act.Date, "Date");
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- [Obsolete("Usage of the binary formatter is considered harmful.")]
- public void SerializeDeserialize_Default_AreEqual()
+ ;
+ var exp = new IdForInt64SerializeObject
{
- var input = new IdForInt64SerializeObject
- {
- Id = 17,
- Obj = default,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var exp = new IdForInt64SerializeObject
- {
- Id = 17,
- Obj = default,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var act = SerializeDeserialize.Binary(input);
- Assert.AreEqual(exp.Id, act.Id, "Id");
- Assert.AreEqual(exp.Obj, act.Obj, "Obj");
- Assert.AreEqual(exp.Date, act.Date, "Date");
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void XmlSerializeDeserialize_Default_AreEqual()
- {
- var input = new IdForInt64SerializeObject
- {
- Id = 17,
- Obj = default,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var exp = new IdForInt64SerializeObject
- {
- Id = 17,
- Obj = default,
- Date = new DateTime(1970, 02, 14),
- }
-
- ;
- var act = SerializeDeserialize.Xml(input);
- Assert.AreEqual(exp.Id, act.Id, "Id");
- Assert.AreEqual(exp.Obj, act.Obj, "Obj");
- Assert.AreEqual(exp.Date, act.Date, "Date");
- }
+ ;
+ var act = SerializeDeserialize.Binary(input);
+ Assert.AreEqual(exp.Id, act.Id, "Id");
+ Assert.AreEqual(exp.Obj, act.Obj, "Obj");
+ Assert.AreEqual(exp.Date, act.Date, "Date");
+ }
- [Test]
- public void GetSchema_None_IsNull()
+ [Test]
+ public void XmlSerializeDeserialize_IdForInt64SerializeObject_AreEqual()
+ {
+ var input = new IdForInt64SerializeObject
{
- IXmlSerializable obj = TestStruct;
- Assert.IsNull(obj.GetSchema());
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- [TestCase("2017-06-11")]
- public void FromJson_Invalid_Throws(object json)
+ ;
+ var exp = new IdForInt64SerializeObject
{
- Assert.Catch(() => JsonTester.Read>(json));
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void ToString_Empty_StringEmpty()
- {
- var act = Id.Empty.ToString(CultureInfo.InvariantCulture);
- var exp = "";
- Assert.AreEqual(exp, act);
- }
+ ;
+ var act = SerializeDeserialize.Xml(input);
+ Assert.AreEqual(exp.Id, act.Id, "Id");
+ Assert.AreEqual(exp.Obj, act.Obj, "Obj");
+ Assert.AreEqual(exp.Date, act.Date, "Date");
+ }
- [Test]
- public void ToString_CustomFormatter_SupportsCustomFormatting()
+ [Test]
+ public void DataContractSerializeDeserialize_IdForInt64SerializeObject_AreEqual()
+ {
+ var input = new IdForInt64SerializeObject
{
- var act = TestStruct.ToString("#,##0.0", FormatProvider.CustomFormatter);
- var exp = "Unit Test Formatter, value: '123,456,789.0', format: '#,##0.0'";
- Assert.AreEqual(exp, act);
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- /// GetHash should not fail for Id.Empty.
- [Test]
- public void GetHash_Empty_Hash()
+ ;
+ var exp = new IdForInt64SerializeObject
{
- Assert.AreEqual(0, Id.Empty.GetHashCode());
+ Id = 17,
+ Obj = TestStruct,
+ Date = new DateTime(1970, 02, 14),
}
- /// GetHash should not fail for the test struct.
- [Test]
- public void GetHash_TestStruct_Hash()
- {
- Assert.AreNotEqual(0, TestStruct.GetHashCode());
- }
+ ;
+ var act = SerializeDeserialize.DataContract(input);
+ Assert.AreEqual(exp.Id, act.Id, "Id");
+ Assert.AreEqual(exp.Obj, act.Obj, "Obj");
+ Assert.AreEqual(exp.Date, act.Date, "Date");
+ }
- [Test]
- public void Equals_EmptyEmpty_IsTrue()
+ [Test]
+ [Obsolete("Usage of the binary formatter is considered harmful.")]
+ public void SerializeDeserialize_Default_AreEqual()
+ {
+ var input = new IdForInt64SerializeObject
{
- Assert.IsTrue(Id.Empty.Equals(Id.Empty));
+ Id = 17,
+ Obj = default,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void Equals_FormattedAndUnformatted_IsTrue()
+ ;
+ var exp = new IdForInt64SerializeObject
{
- var l = Id.Parse("123456");
- var r = Id.Parse("+0000123456");
- Assert.IsTrue(l.Equals(r));
+ Id = 17,
+ Obj = default,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void Equals_TestStructTestStruct_IsTrue()
- {
- Assert.IsTrue(TestStruct.Equals(TestStruct));
- }
+ ;
+ var act = SerializeDeserialize.Binary(input);
+ Assert.AreEqual(exp.Id, act.Id, "Id");
+ Assert.AreEqual(exp.Obj, act.Obj, "Obj");
+ Assert.AreEqual(exp.Date, act.Date, "Date");
+ }
- [Test]
- public void Equals_TestStructEmpty_IsFalse()
+ [Test]
+ public void XmlSerializeDeserialize_Default_AreEqual()
+ {
+ var input = new IdForInt64SerializeObject
{
- Assert.IsFalse(TestStruct.Equals(Id.Empty));
+ Id = 17,
+ Obj = default,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void Equals_EmptyTestStruct_IsFalse()
+ ;
+ var exp = new IdForInt64SerializeObject
{
- Assert.IsFalse(Id.Empty.Equals(TestStruct));
+ Id = 17,
+ Obj = default,
+ Date = new DateTime(1970, 02, 14),
}
- [Test]
- public void Equals_TestStructObjectTestStruct_IsTrue()
- {
- Assert.IsTrue(TestStruct.Equals((object)TestStruct));
- }
+ ;
+ var act = SerializeDeserialize.Xml(input);
+ Assert.AreEqual(exp.Id, act.Id, "Id");
+ Assert.AreEqual(exp.Obj, act.Obj, "Obj");
+ Assert.AreEqual(exp.Date, act.Date, "Date");
+ }
- [Test]
- public void Equals_TestStructNull_IsFalse()
- {
- Assert.IsFalse(TestStruct.Equals(null));
- }
+ [Test]
+ public void GetSchema_None_IsNull()
+ {
+ IXmlSerializable obj = TestStruct;
+ Assert.IsNull(obj.GetSchema());
+ }
- [Test]
- public void Equals_TestStructObject_IsFalse()
- {
- Assert.IsFalse(TestStruct.Equals(new object()));
- }
+ [TestCase("2017-06-11")]
+ public void FromJson_Invalid_Throws(object json)
+ {
+ Assert.Catch(() => JsonTester.Read>(json));
+ }
- [Test]
- public void OperatorIs_TestStructTestStruct_IsTrue()
- {
- var l = TestStruct;
- var r = TestStruct;
- Assert.IsTrue(l == r);
- }
+ [Test]
+ public void ToString_Empty_StringEmpty()
+ {
+ var act = Id.Empty.ToString(CultureInfo.InvariantCulture);
+ var exp = "";
+ Assert.AreEqual(exp, act);
+ }
- [Test]
- public void OperatorIsNot_TestStructTestStruct_IsFalse()
- {
- var l = TestStruct;
- var r = TestStruct;
- Assert.IsFalse(l != r);
- }
+ [Test]
+ public void ToString_CustomFormatter_SupportsCustomFormatting()
+ {
+ var act = TestStruct.ToString("#,##0.0", FormatProvider.CustomFormatter);
+ var exp = "Unit Test Formatter, value: '123,456,789.0', format: '#,##0.0'";
+ Assert.AreEqual(exp, act);
+ }
- [Test]
- public void Next_NotSupported()
- {
- Assert.Throws(() => Id.Next());
- }
+ /// GetHash should not fail for Id.Empty.
+ [Test]
+ public void GetHash_Empty_Hash()
+ {
+ Assert.AreEqual(0, Id.Empty.GetHashCode());
+ }
- [TestCase(null)]
- [TestCase("")]
- [TestCase("ABC")]
- [TestCase("-1")]
- public void IsInvalid_String(string str)
- {
- Assert.IsFalse(Id.IsValid(str));
- }
+ /// GetHash should not fail for the test struct.
+ [Test]
+ public void GetHash_TestStruct_Hash()
+ {
+ Assert.AreNotEqual(0, TestStruct.GetHashCode());
+ }
- [TestCase("0")]
- [TestCase("1234")]
- [TestCase("+123456")]
- public void IsValid_String(string str)
- {
- Assert.IsTrue(Id.IsValid(str));
- }
+ [Test]
+ public void Equals_EmptyEmpty_IsTrue()
+ {
+ Assert.IsTrue(Id.Empty.Equals(Id.Empty));
}
- [Serializable]
- public class IdForInt64SerializeObject
+ [Test]
+ public void Equals_FormattedAndUnformatted_IsTrue()
{
- public int Id { get; set; }
- public Id Obj { get; set; }
- public DateTime Date { get; set; }
+ var l = Id.Parse("123456");
+ var r = Id.Parse("+0000123456");
+ Assert.IsTrue(l.Equals(r));
}
+
+ [Test]
+ public void Equals_TestStructTestStruct_IsTrue()
+ {
+ Assert.IsTrue(TestStruct.Equals(TestStruct));
+ }
+
+ [Test]
+ public void Equals_TestStructEmpty_IsFalse()
+ {
+ Assert.IsFalse(TestStruct.Equals(Id.Empty));
+ }
+
+ [Test]
+ public void Equals_EmptyTestStruct_IsFalse()
+ {
+ Assert.IsFalse(Id