Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
Extend tests on appending.
  • Loading branch information
Corniel committed Feb 7, 2024
1 parent d6ce00f commit b2be5cf
Show file tree
Hide file tree
Showing 11 changed files with 775 additions and 517 deletions.
40 changes: 20 additions & 20 deletions specs/Qowaiv.Specs/Email_address_collection_specs.cs
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
#if NET8_0_OR_GREATER
#else
namespace Email_address_collection_specs;
//#if NET8_0_OR_GREATER
//#else
//namespace Email_address_collection_specs;

public class Supports_binary_serialization
{
[Test]
[Obsolete("Usage of the binary formatter is considered harmful.")]
public void using_BinaryFormatter()
{
var round_tripped = SerializeDeserialize.Binary(Svo.EmailAddressCollection);
round_tripped.Should().BeEquivalentTo(Svo.EmailAddressCollection);
}
[Test]
public void storing_string_in_SerializationInfo()
{
var info = Serialize.GetInfo(Svo.EmailAddressCollection);
info.GetString("Value").Should().Be("info@qowaiv.org,test@qowaiv.org");
}
}
#endif
//public class Supports_binary_serialization
//{
// [Test]
// [Obsolete("Usage of the binary formatter is considered harmful.")]
// public void using_BinaryFormatter()
// {
// var round_tripped = SerializeDeserialize.Binary(Svo.EmailAddressCollection);
// round_tripped.Should().BeEquivalentTo(Svo.EmailAddressCollection);
// }
// [Test]
// public void storing_string_in_SerializationInfo()
// {
// var info = Serialize.GetInfo(Svo.EmailAddressCollection);
// info.GetString("Value").Should().Be("info@qowaiv.org,test@qowaiv.org");
// }
//}
//#endif
34 changes: 34 additions & 0 deletions specs/Qowaiv.Specs/Email_address_set_specs.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
namespace Email_address_set_specs;

public class Appends
{
[Test]
public void new_email_address_in_ascending_order([Range(0, 25)] int index)
{
var emails = Enumerable.Range(0, 26).Select(i => EmailAddress.Parse($"{(char)('A' + i)}@qowaiv.org")).ToArray();
var collection = EmailAddressCollection.New(emails);

IReadOnlyCollection<EmailAddress> appended = collection.Append(EmailAddress.Parse($"{emails[index]}.com"));

appended.Should().HaveCount(collection.Count + 1);
appended.Should().BeInAscendingOrder();
}

[Test]
public void existing_email_address_changes_nothing([Range(0, 25)] int index)
{
var emails = Enumerable.Range(0, 26).Select(i => EmailAddress.Parse($"{(char)('A' + i)}@qowaiv.org")).ToArray();
var collection = EmailAddressCollection.New(emails);

object appended = collection.Append(emails[index]);
appended.Should().Be(collection);
}

[TestCase("")]
[TestCase("?")]
public void changes_nothing_for_empty_or_unknown(EmailAddress notKnown)
{
object appended = Svo.EmailAddressCollection.Append(notKnown);
appended.Should().Be(Svo.EmailAddressCollection);
}
}
2 changes: 1 addition & 1 deletion specs/Qowaiv.Specs/TestTools/Svo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public static class Svo
public static readonly EmailAddress EmailAddress = EmailAddress.Parse("info@qowaiv.org");

/// <summary>info@qowaiv.org,test@qowaiv.org"</summary>
public static EmailAddressCollection EmailAddressCollection => EmailAddressCollection.Parse("info@qowaiv.org,test@qowaiv.org");
public static EmailAddressCollection EmailAddressCollection => EmailAddressCollection.New(["info@qowaiv.org", "test@qowaiv.org"]);

/// <summary>1732.4</summary>
public static readonly Elo Elo = 1732.4;
Expand Down

0 comments on commit b2be5cf

Please sign in to comment.