Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 16 additions & 12 deletions src/Radical.Tests/ChangeArgsTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,25 +26,29 @@ public void changeArgs_generic_ctor_normal_should_correctly_set_values()
}

[TestMethod]
[ExpectedException(typeof(ArgumentNullException))]
public void changeArgs_ctor_using_null_reference_entity_should_raise_ArgumentNullException()
{
object entity = null;
var cachedValue = new GenericParameterHelper();
var iChange = A.Dummy<IChange>();

var target = new ChangeEventArgs<GenericParameterHelper>(entity, cachedValue, iChange);
Assert.ThrowsExactly<ArgumentNullException>(() =>
{
object entity = null;
var cachedValue = new GenericParameterHelper();
var iChange = A.Dummy<IChange>();

var target = new ChangeEventArgs<GenericParameterHelper>(entity, cachedValue, iChange);
});
}

[TestMethod]
[ExpectedException(typeof(ArgumentNullException))]
public void changeArgs_ctor_using_null_reference_iChange_should_raise_ArgumentNullException()
{
var entity = new object();
var cachedValue = new GenericParameterHelper();
IChange iChange = null;

var target = new ChangeEventArgs<GenericParameterHelper>(entity, cachedValue, iChange);
Assert.ThrowsExactly<ArgumentNullException>(() =>
{
var entity = new object();
var cachedValue = new GenericParameterHelper();
IChange iChange = null;

var target = new ChangeEventArgs<GenericParameterHelper>(entity, cachedValue, iChange);
});
}
}
}
18 changes: 12 additions & 6 deletions src/Radical.Tests/ChangeTracking/AdvisedActionTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,27 +23,33 @@ public void advisedAction_ctor()
}

[TestMethod]
[ExpectedException(typeof(ArgumentNullException))]
[TestCategory("ChangeTracking")]
public void advisedAction_ctor_null_reference_target()
{
AdvisedAction actual = new AdvisedAction(null, ProposedActions.Delete);
Assert.ThrowsExactly<ArgumentNullException>(() =>
{
AdvisedAction actual = new AdvisedAction(null, ProposedActions.Delete);
});
}

[TestMethod]
[ExpectedException(typeof(NotSupportedException))]
[TestCategory("ChangeTracking")]
public void advisedAction_ctor_not_supported_proposed_action()
{
AdvisedAction actual = new AdvisedAction(new object(), ProposedActions.None);
Assert.ThrowsExactly<NotSupportedException>(() =>
{
AdvisedAction actual = new AdvisedAction(new object(), ProposedActions.None);
});
}

[TestMethod]
[ExpectedException(typeof(EnumValueOutOfRangeException))]
[TestCategory("ChangeTracking")]
public void advisedAction_ctor_invalid_proposed_action()
{
AdvisedAction actual = new AdvisedAction(new object(), (ProposedActions)1000);
Assert.ThrowsExactly<EnumValueOutOfRangeException>(() =>
{
AdvisedAction actual = new AdvisedAction(new object(), (ProposedActions)1000);
});
}
}
}
48 changes: 28 additions & 20 deletions src/Radical.Tests/ChangeTracking/AdvisoryBuilderTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,29 +19,35 @@ public void advisoryBuilder_ctor()
}

[TestMethod]
[ExpectedException(typeof(ArgumentNullException))]
[TestCategory("ChangeTracking")]
public void advisoryBuilder_ctor_null_visitor()
{
var actual = new AdvisoryBuilder(null);
Assert.ThrowsExactly<ArgumentNullException>(() =>
{
var actual = new AdvisoryBuilder(null);
});
}

[TestMethod]
[ExpectedException(typeof(ArgumentNullException))]
[TestCategory("ChangeTracking")]
public void advisoryBuilder_generateAdvisory_null_service_reference()
{
var actual = new AdvisoryBuilder(new ChangeSetDistinctVisitor());
actual.GenerateAdvisory(null, null);
Assert.ThrowsExactly<ArgumentNullException>(() =>
{
var actual = new AdvisoryBuilder(new ChangeSetDistinctVisitor());
actual.GenerateAdvisory(null, null);
});
}

[TestMethod]
[ExpectedException(typeof(ArgumentNullException))]
[TestCategory("ChangeTracking")]
public void advisoryBuilder_generateAdvisory_null_changeSet_reference()
{
var actual = new AdvisoryBuilder(new ChangeSetDistinctVisitor());
actual.GenerateAdvisory(new ChangeTrackingService(), null);
Assert.ThrowsExactly<ArgumentNullException>(() =>
{
var actual = new AdvisoryBuilder(new ChangeSetDistinctVisitor());
actual.GenerateAdvisory(new ChangeTrackingService(), null);
});
}

[TestMethod]
Expand Down Expand Up @@ -213,25 +219,27 @@ public void advisoryBuilder_generateAdvisory_for_non_transient_and_deleted_entit
}

[TestMethod]
[ExpectedException(typeof(NotSupportedException))]
[TestCategory("ChangeTracking")]
public void advisoryBuilder_generateAdvisory_unsupported_proposedActions_value()
{
var entity = new object();
var entityState = EntityTrackingStates.HasBackwardChanges;
Assert.ThrowsExactly<NotSupportedException>(() =>
{
var entity = new object();
var entityState = EntityTrackingStates.HasBackwardChanges;

var c1 = A.Fake<IChange>();
A.CallTo(() => c1.GetChangedEntities()).Returns(new object[] { entity });
A.CallTo(() => c1.GetAdvisedAction(entity)).Returns(ProposedActions.None);
var c1 = A.Fake<IChange>();
A.CallTo(() => c1.GetChangedEntities()).Returns(new object[] { entity });
A.CallTo(() => c1.GetAdvisedAction(entity)).Returns(ProposedActions.None);

var cSet = new ChangeSet(new IChange[] { c1 });
var cSet = new ChangeSet(new IChange[] { c1 });

var svc = A.Fake<IChangeTrackingService>();
A.CallTo(() => svc.GetEntityState(entity)).Returns(entityState);
A.CallTo(() => svc.GetEntities(EntityTrackingStates.IsTransient, true)).Returns(new object[0]);
var svc = A.Fake<IChangeTrackingService>();
A.CallTo(() => svc.GetEntityState(entity)).Returns(entityState);
A.CallTo(() => svc.GetEntities(EntityTrackingStates.IsTransient, true)).Returns(new object[0]);

var actual = new AdvisoryBuilder(new ChangeSetDistinctVisitor());
IAdvisory advisory = actual.GenerateAdvisory(svc, cSet);
var actual = new AdvisoryBuilder(new ChangeSetDistinctVisitor());
IAdvisory advisory = actual.GenerateAdvisory(svc, cSet);
});
}
}
}
6 changes: 4 additions & 2 deletions src/Radical.Tests/ChangeTracking/AdvisoryTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,13 @@ public void advisory_ctor()
}

[TestMethod]
[ExpectedException(typeof(ArgumentNullException))]
[TestCategory("ChangeTracking")]
public void advisory_ctor_null_reference()
{
var actual = new Advisory(null);
Assert.ThrowsExactly<ArgumentNullException>(() =>
{
var actual = new Advisory(null);
});
}
}
}
6 changes: 4 additions & 2 deletions src/Radical.Tests/ChangeTracking/BookmarkTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,13 @@ public class BookmarkTests
//}

[TestMethod]
[ExpectedException(typeof(ArgumentNullException))]
[TestCategory("ChangeTracking")]
public void bookmark_null_owner__null_change_null_transientEntities_iChangeTrackingService_ctor_raise_argumentNullException_on_owner()
{
Bookmark bmk = new Bookmark((IChangeTrackingService)null, (IChange)null, (IEnumerable<object>)null);
Assert.ThrowsExactly<ArgumentNullException>(() =>
{
Bookmark bmk = new Bookmark((IChangeTrackingService)null, (IChange)null, (IEnumerable<object>)null);
});
}

//[TestMethod]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,14 @@ public void changeSetDistinctVisitor_visit()
}

[TestMethod()]
[ExpectedException(typeof(ArgumentNullException))]
[TestCategory("ChangeTracking")]
public void changeSetDistinctVisitor_visit_null_changeSet_reference()
{
ChangeSetDistinctVisitor target = new ChangeSetDistinctVisitor();
target.Visit(null);
Assert.ThrowsExactly<ArgumentNullException>(() =>
{
ChangeSetDistinctVisitor target = new ChangeSetDistinctVisitor();
target.Visit(null);
});
}
}
}
6 changes: 4 additions & 2 deletions src/Radical.Tests/ChangeTracking/ChangeSetTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,13 @@ public void changeSet_ctor()
}

[TestMethod]
[ExpectedException(typeof(ArgumentNullException))]
[TestCategory("ChangeTracking")]
public void changeSet_ctor_null_reference()
{
var actual = new ChangeSet(null);
Assert.ThrowsExactly<ArgumentNullException>(() =>
{
var actual = new ChangeSet(null);
});
}
}
}
100 changes: 56 additions & 44 deletions src/Radical.Tests/ChangeTracking/ChangeTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,13 @@ public void generic_iChange_null_commitCallback()
}

[TestMethod]
[ExpectedException(typeof(ArgumentNullException))]
[TestCategory("ChangeTracking")]
public void generic_iChange_ctor_null_owner_argumentNullException()
{
var target = new ChangeMock<string>(null, "Foo", null, null, string.Empty);
Assert.ThrowsExactly<ArgumentNullException>(() =>
{
var target = new ChangeMock<string>(null, "Foo", null, null, string.Empty);
});
}

[TestMethod]
Expand Down Expand Up @@ -115,43 +117,49 @@ public void generic_iChange_rejectCallback_is_invoked_with_expected_values()
}

[TestMethod]
[ExpectedException(typeof(ArgumentException))]
[TestCategory("ChangeTracking")]
public void generic_iChange_reject_invoked_with_invalid_rejectReason()
{
var owner = new object();
var value = "Foo";
RejectCallback<string> rc = e => { };
CommitCallback<string> cc = null;
var description = string.Empty;
var reason = RejectReason.None;

var target = new ChangeMock<string>(owner, value, rc, cc, description);
target.Reject(reason);
Assert.ThrowsExactly<ArgumentException>(() =>
{
var owner = new object();
var value = "Foo";
RejectCallback<string> rc = e => { };
CommitCallback<string> cc = null;
var description = string.Empty;
var reason = RejectReason.None;

var target = new ChangeMock<string>(owner, value, rc, cc, description);
target.Reject(reason);
});
}

[TestMethod]
[ExpectedException(typeof(EnumValueOutOfRangeException))]
[TestCategory("ChangeTracking")]
public void generic_iChange_reject_invoked_with_outOfRange_rejectReason()
{
var owner = new object();
var value = "Foo";
RejectCallback<string> rc = e => { };
CommitCallback<string> cc = null;
var description = string.Empty;
var reason = (RejectReason)1000;

var target = new ChangeMock<string>(owner, value, rc, cc, description);
target.Reject(reason);
Assert.ThrowsExactly<EnumValueOutOfRangeException>(() =>
{
var owner = new object();
var value = "Foo";
RejectCallback<string> rc = e => { };
CommitCallback<string> cc = null;
var description = string.Empty;
var reason = (RejectReason)1000;

var target = new ChangeMock<string>(owner, value, rc, cc, description);
target.Reject(reason);
});
}

[TestMethod]
[ExpectedException(typeof(ArgumentNullException))]
[TestCategory("ChangeTracking")]
public void generic_iChange_ctor_null_rejectCallback_argumentNullException()
{
var target = new ChangeMock<string>(new object(), "Foo", null, null, string.Empty);
Assert.ThrowsExactly<ArgumentNullException>(() =>
{
var target = new ChangeMock<string>(new object(), "Foo", null, null, string.Empty);
});
}

[TestMethod]
Expand Down Expand Up @@ -197,35 +205,39 @@ public void generic_iChange_committed_fired()
}

[TestMethod]
[ExpectedException(typeof(ArgumentException))]
[TestCategory("ChangeTracking")]
public void generic_iChange_commit_invoked_with_invalid_rejectReason()
{
var owner = new object();
var value = "Foo";
RejectCallback<string> rc = e => { };
CommitCallback<string> cc = e => { };
var description = string.Empty;
var reason = CommitReason.None;

var target = new ChangeMock<string>(owner, value, rc, cc, description);
target.Commit(reason);
Assert.ThrowsExactly<ArgumentException>(() =>
{
var owner = new object();
var value = "Foo";
RejectCallback<string> rc = e => { };
CommitCallback<string> cc = e => { };
var description = string.Empty;
var reason = CommitReason.None;

var target = new ChangeMock<string>(owner, value, rc, cc, description);
target.Commit(reason);
});
}

[TestMethod]
[ExpectedException(typeof(EnumValueOutOfRangeException))]
[TestCategory("ChangeTracking")]
public void generic_iChange_commit_invoked_with_outOfRange_rejectReason()
{
var owner = new object();
var value = "Foo";
RejectCallback<string> rc = e => { };
CommitCallback<string> cc = e => { };
var description = string.Empty;
var reason = (CommitReason)1000;

var target = new ChangeMock<string>(owner, value, rc, cc, description);
target.Commit(reason);
Assert.ThrowsExactly<EnumValueOutOfRangeException>(() =>
{
var owner = new object();
var value = "Foo";
RejectCallback<string> rc = e => { };
CommitCallback<string> cc = e => { };
var description = string.Empty;
var reason = (CommitReason)1000;

var target = new ChangeMock<string>(owner, value, rc, cc, description);
target.Commit(reason);
});
}

[TestMethod]
Expand Down
Loading
Loading