-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWhenWithAttributesIsCalled.cs
41 lines (34 loc) · 1.08 KB
/
WhenWithAttributesIsCalled.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
namespace Fluentify.Console.Class.SelfDescriptor.OnIgnoredTests;
public sealed class WhenWithAttributesIsCalled
{
[Fact]
public void GivenNullSubjectThenArgumentNullExceptionIsThrown()
{
// Arrange
OnIgnored? subject = default;
// Act
Func<OnIgnored> act = () => subject!.WithAttributes(new object());
// Assert
_ = act.Should().Throw<ArgumentNullException>()
.WithParameterName(nameof(subject));
}
[Fact]
public void GivenAttributesThenTheValueIsApplied()
{
// Arrange
object[] attributes = [new()];
var original = new OnIgnored
{
Age = Random.Shared.Next(),
Attributes = [],
Name = "Avery Brooks",
};
// Act
OnIgnored actual = original.WithAttributes(attributes);
// Assert
_ = actual.Should().NotBeSameAs(original);
_ = actual.Age.Should().Be(original.Age);
_ = actual.Attributes.Should().BeEquivalentTo(attributes);
_ = actual.Name.Should().Be(original.Name);
}
}