Skip to content

Commit

Permalink
Introduce WeakEventManager.RaiseEvent API
Browse files Browse the repository at this point in the history
  • Loading branch information
TheCodeTraveler committed Jul 13, 2020
1 parent 3157c46 commit 8290ad3
Show file tree
Hide file tree
Showing 20 changed files with 153 additions and 94 deletions.
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ public event EventHandler CanExecuteChanged
remove => _canExecuteChangedEventManager.RemoveEventHandler(value);
}

void OnCanExecuteChanged() => _canExecuteChangedEventManager.HandleEvent(this, EventArgs.Empty, nameof(CanExecuteChanged));
void OnCanExecuteChanged() => _canExecuteChangedEventManager.RaiseEvent(this, EventArgs.Empty, nameof(CanExecuteChanged));
```

#### Using `Delegate`
Expand All @@ -270,7 +270,7 @@ public event PropertyChangedEventHandler PropertyChanged
remove => _propertyChangedEventManager.RemoveEventHandler(value);
}

void OnPropertyChanged([CallerMemberName]string propertyName = "") => _propertyChangedEventManager.HandleEvent(this, new PropertyChangedEventArgs(propertyName), nameof(PropertyChanged));
void OnPropertyChanged([CallerMemberName]string propertyName = "") => _propertyChangedEventManager.RaiseEvent(this, new PropertyChangedEventArgs(propertyName), nameof(PropertyChanged));
```

#### Using `Action`
Expand All @@ -284,7 +284,7 @@ public event Action ActionEvent
remove => _weakActionEventManager.RemoveEventHandler(value);
}

void OnActionEvent(string message) => _weakActionEventManager.HandleEvent(message, nameof(ActionEvent));
void OnActionEvent(string message) => _weakActionEventManager.RaiseEvent(message, nameof(ActionEvent));
```

### `WeakEventManager<T>`
Expand All @@ -303,7 +303,7 @@ public event EventHandler<string> ErrorOcurred
remove => _errorOcurredEventManager.RemoveEventHandler(value);
}

void OnErrorOcurred(string message) => _errorOcurredEventManager.HandleEvent(this, message, nameof(ErrorOcurred));
void OnErrorOcurred(string message) => _errorOcurredEventManager.RaiseEvent(this, message, nameof(ErrorOcurred));
```

#### Using `Action<T>`
Expand All @@ -317,7 +317,7 @@ public event Action<string> ActionEvent
remove => _weakActionEventManager.RemoveEventHandler(value);
}

void OnActionEvent(string message) => _weakActionEventManager.HandleEvent(message, nameof(ActionEvent));
void OnActionEvent(string message) => _weakActionEventManager.RaiseEvent(message, nameof(ActionEvent));
```

## AsyncAwaitBestPractices.MVVM
Expand Down
8 changes: 4 additions & 4 deletions Src/AsyncAwaitBestPractices.MVVM.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata minClientVersion="2.5">
<id>AsyncAwaitBestPractices.MVVM</id>
<version>4.1.1</version>
<version>4.2.0</version>
<title>Async Extensions for ICommand</title>
<authors>Brandon Minnick, John Thiriet</authors>
<owners>Brandon Minnick</owners>
Expand All @@ -24,13 +24,13 @@
</summary>
<tags>task, valuetask, fire and forget, threading, extensions, system.threading.tasks, async, await</tags>
<dependencies>
<dependency id="AsyncAwaitBestPractices" version="4.1.1" />
<dependency id="AsyncAwaitBestPractices" version="4.2.0" />
</dependencies>
<releaseNotes>
New In This Release:
- Add Extension Methods Without `in` Keyword (provides support for older versions of Visual Studio)
- Deprecate WeakEventManager.HandleEvent API, Replacing it with WeakEventManager.RaiseEvent
</releaseNotes>
<repository type="git" url="https://github.com/brminnick/AsyncAwaitBestPractices.git" branch="master" commit="03b93e2ac2dd9bc3d16c7cb73c8e0922d9b65ad7" />
<repository type="git" url="https://github.com/brminnick/AsyncAwaitBestPractices.git" />
<copyright>Copyright (c) 2020 Brandon Minnick</copyright>
</metadata>
<files>
Expand Down
4 changes: 2 additions & 2 deletions Src/AsyncAwaitBestPractices.MVVM/AsyncCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public event EventHandler CanExecuteChanged
/// <summary>
/// Raises the CanExecuteChanged event.
/// </summary>
public void RaiseCanExecuteChanged() => _weakEventManager.HandleEvent(this, EventArgs.Empty, nameof(CanExecuteChanged));
public void RaiseCanExecuteChanged() => _weakEventManager.RaiseEvent(this, EventArgs.Empty, nameof(CanExecuteChanged));

/// <summary>
/// Executes the Command as a Task
Expand Down Expand Up @@ -133,7 +133,7 @@ public event EventHandler CanExecuteChanged
/// <summary>
/// Raises the CanExecuteChanged event.
/// </summary>
public void RaiseCanExecuteChanged() => _weakEventManager.HandleEvent(this, EventArgs.Empty, nameof(CanExecuteChanged));
public void RaiseCanExecuteChanged() => _weakEventManager.RaiseEvent(this, EventArgs.Empty, nameof(CanExecuteChanged));

/// <summary>
/// Executes the Command as a Task
Expand Down
4 changes: 2 additions & 2 deletions Src/AsyncAwaitBestPractices.MVVM/AsyncValueCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public event EventHandler CanExecuteChanged
/// <summary>
/// Raises the CanExecuteChanged event.
/// </summary>
public void RaiseCanExecuteChanged() => _weakEventManager.HandleEvent(this, EventArgs.Empty, nameof(CanExecuteChanged));
public void RaiseCanExecuteChanged() => _weakEventManager.RaiseEvent(this, EventArgs.Empty, nameof(CanExecuteChanged));

/// <summary>
/// Executes the Command as a Task
Expand Down Expand Up @@ -132,7 +132,7 @@ public event EventHandler CanExecuteChanged
/// <summary>
/// Raises the CanExecuteChanged event.
/// </summary>
public void RaiseCanExecuteChanged() => _weakEventManager.HandleEvent(this, EventArgs.Empty, nameof(CanExecuteChanged));
public void RaiseCanExecuteChanged() => _weakEventManager.RaiseEvent(this, EventArgs.Empty, nameof(CanExecuteChanged));

/// <summary>
/// Executes the Command as a Task
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="nunit" Version="3.12.0" />
<PackageReference Include="NUnit3TestAdapter" Version="3.16.1"><IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0"><IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ void HandleDelegateTest()
}

//Act
_actionEventManager.HandleEvent(nameof(ActionEvent));
_actionEventManager.RaiseEvent(nameof(ActionEvent));

//Assert
Assert.IsTrue(didEventFire);
Expand All @@ -43,7 +43,7 @@ public void WeakEventManagerAction_HandleEvent_InvalidHandleEventEventName()
void HandleDelegateTest() => didEventFire = true;

//Act
_actionEventManager.HandleEvent(nameof(TestStringEvent));
_actionEventManager.RaiseEvent(nameof(TestStringEvent));

//Assert
Assert.False(didEventFire);
Expand All @@ -61,7 +61,7 @@ public void WeakEventManagerAction_UnassignedEvent()
void HandleDelegateTest() => didEventFire = true;

//Act
_actionEventManager.HandleEvent(nameof(ActionEvent));
_actionEventManager.RaiseEvent(nameof(ActionEvent));

//Assert
Assert.IsFalse(didEventFire);
Expand All @@ -78,7 +78,7 @@ public void WeakEventManagerAction_UnassignedEventManager()
void HandleDelegateTest() => didEventFire = true;

//Act
unassignedEventManager.HandleEvent(nameof(ActionEvent));
unassignedEventManager.RaiseEvent(nameof(ActionEvent));

//Assert
Assert.IsFalse(didEventFire);
Expand All @@ -97,7 +97,7 @@ public void WeakEventManagerAction_HandleEvent_InvalidHandleEvent()
//Act

//Assert
Assert.Throws<InvalidHandleEventException>(() => _actionEventManager.HandleEvent(this, EventArgs.Empty, nameof(ActionEvent)));
Assert.Throws<InvalidHandleEventException>(() => _actionEventManager.RaiseEvent(this, EventArgs.Empty, nameof(ActionEvent)));
Assert.IsFalse(didEventFire);
ActionEvent -= HandleDelegateTest;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ void HandleDelegateTest(string message)
}

//Act
_actionEventManager.HandleEvent("Test", nameof(ActionEvent));
_actionEventManager.RaiseEvent("Test", nameof(ActionEvent));

//Assert
Assert.IsTrue(didEventFire);
Expand All @@ -52,7 +52,7 @@ void HandleDelegateTest(string message)
}

//Act
_actionEventManager.HandleEvent("Test", nameof(TestEvent));
_actionEventManager.RaiseEvent("Test", nameof(TestEvent));

//Assert
Assert.False(didEventFire);
Expand All @@ -76,7 +76,7 @@ void HandleDelegateTest(string message)
}

//Act
_actionEventManager.HandleEvent("Test", nameof(ActionEvent));
_actionEventManager.RaiseEvent("Test", nameof(ActionEvent));

//Assert
Assert.IsFalse(didEventFire);
Expand All @@ -99,7 +99,7 @@ void HandleDelegateTest(string message)
}

//Act
unassignedEventManager.HandleEvent(nameof(ActionEvent));
unassignedEventManager.RaiseEvent(nameof(ActionEvent));

//Assert
Assert.IsFalse(didEventFire);
Expand All @@ -124,7 +124,7 @@ void HandleDelegateTest(string message)
//Act

//Assert
Assert.Throws<InvalidHandleEventException>(() => _actionEventManager.HandleEvent(this, "Test", nameof(ActionEvent)));
Assert.Throws<InvalidHandleEventException>(() => _actionEventManager.RaiseEvent(this, "Test", nameof(ActionEvent)));
Assert.IsFalse(didEventFire);
ActionEvent -= HandleDelegateTest;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ void HandleDelegateTest(object sender, PropertyChangedEventArgs e)
}

//Act
_propertyChangedWeakEventManager.HandleEvent(this, new PropertyChangedEventArgs("Test"), nameof(PropertyChanged));
_propertyChangedWeakEventManager.RaiseEvent(this, new PropertyChangedEventArgs("Test"), nameof(PropertyChanged));

//Assert
Assert.IsTrue(didEventFire);
Expand All @@ -56,7 +56,7 @@ void HandleDelegateTest(object sender, PropertyChangedEventArgs e)
}

//Act
_propertyChangedWeakEventManager.HandleEvent(null, new PropertyChangedEventArgs("Test"), nameof(PropertyChanged));
_propertyChangedWeakEventManager.RaiseEvent(null, new PropertyChangedEventArgs("Test"), nameof(PropertyChanged));

//Assert
Assert.IsTrue(didEventFire);
Expand All @@ -74,7 +74,7 @@ public void WeakEventManagerDelegate_HandleEvent_InvalidEventArgs()
//Act

//Assert
Assert.Throws<ArgumentException>(() => _propertyChangedWeakEventManager.HandleEvent(this, EventArgs.Empty, nameof(PropertyChanged)));
Assert.Throws<ArgumentException>(() => _propertyChangedWeakEventManager.RaiseEvent(this, EventArgs.Empty, nameof(PropertyChanged)));
Assert.IsFalse(didEventFire);
PropertyChanged -= HandleDelegateTest;
}
Expand All @@ -99,7 +99,7 @@ void HandleDelegateTest(object sender, PropertyChangedEventArgs e)

//Act
#pragma warning disable CS8625 //Cannot convert null literal to non-nullable reference type
_propertyChangedWeakEventManager.HandleEvent(this, null, nameof(PropertyChanged));
_propertyChangedWeakEventManager.RaiseEvent(this, null, nameof(PropertyChanged));
#pragma warning restore CS8625 //Cannot convert null literal to non-nullable reference type

//Assert
Expand All @@ -116,7 +116,7 @@ public void WeakEventManagerDelegate_HandleEvent_InvalidHandleEventEventName()
void HandleDelegateTest(object sender, PropertyChangedEventArgs e) => didEventFire = true;

//Act
_propertyChangedWeakEventManager.HandleEvent(this, new PropertyChangedEventArgs("Test"), nameof(TestStringEvent));
_propertyChangedWeakEventManager.RaiseEvent(this, new PropertyChangedEventArgs("Test"), nameof(TestStringEvent));

//Assert
Assert.False(didEventFire);
Expand All @@ -135,7 +135,7 @@ public void WeakEventManagerDelegate_UnassignedEvent()

//Act
#pragma warning disable CS8625 //Cannot convert null literal to non-nullable reference type
_propertyChangedWeakEventManager.HandleEvent(null, null, nameof(PropertyChanged));
_propertyChangedWeakEventManager.RaiseEvent(null, null, nameof(PropertyChanged));
#pragma warning restore CS8625 //Cannot convert null literal to non-nullable reference type

//Assert
Expand All @@ -153,7 +153,7 @@ public void WeakEventManagerDelegate_UnassignedEventManager()
void HandleDelegateTest(object sender, PropertyChangedEventArgs e) => didEventFire = true;

//Act
unassignedEventManager.HandleEvent(null, null, nameof(PropertyChanged));
unassignedEventManager.RaiseEvent(null, null, nameof(PropertyChanged));

//Assert
Assert.IsFalse(didEventFire);
Expand All @@ -172,7 +172,7 @@ public void WeakEventManagerDelegate_HandleEvent_InvalidHandleEvent()
//Act

//Assert
Assert.Throws<InvalidHandleEventException>(() => _propertyChangedWeakEventManager.HandleEvent(nameof(PropertyChanged)));
Assert.Throws<InvalidHandleEventException>(() => _propertyChangedWeakEventManager.RaiseEvent(nameof(PropertyChanged)));
Assert.IsFalse(didEventFire);
PropertyChanged -= HandleDelegateTest;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ void HandleTestEvent(object? sender, EventArgs e)
}

//Act
TestWeakEventManager.HandleEvent(this, new EventArgs(), nameof(TestEvent));
TestWeakEventManager.RaiseEvent(this, new EventArgs(), nameof(TestEvent));

//Assert
Assert.IsTrue(didEventFire);
Expand All @@ -50,7 +50,7 @@ void HandleTestEvent(object? sender, EventArgs e)
}

//Act
TestWeakEventManager.HandleEvent(null, new EventArgs(), nameof(TestEvent));
TestWeakEventManager.RaiseEvent(null, new EventArgs(), nameof(TestEvent));

//Assert
Assert.IsTrue(didEventFire);
Expand Down Expand Up @@ -79,7 +79,7 @@ void HandleTestEvent(object? sender, EventArgs e)
}

//Act
TestWeakEventManager.HandleEvent(this, EventArgs.Empty, nameof(TestEvent));
TestWeakEventManager.RaiseEvent(this, EventArgs.Empty, nameof(TestEvent));

//Assert
Assert.IsTrue(didEventFire);
Expand Down Expand Up @@ -108,7 +108,7 @@ void HandleTestEvent(object? sender, EventArgs e)

//Act
#pragma warning disable CS8625 //Cannot convert null literal to non-nullable reference type
TestWeakEventManager.HandleEvent(this, null, nameof(TestEvent));
TestWeakEventManager.RaiseEvent(this, null, nameof(TestEvent));
#pragma warning restore CS8625

//Assert
Expand All @@ -125,7 +125,7 @@ public void WeakEventManager_HandleEvent_InvalidHandleEventName()
void HandleTestEvent(object? sender, EventArgs e) => didEventFire = true;

//Act
TestWeakEventManager.HandleEvent(this, new EventArgs(), nameof(TestStringEvent));
TestWeakEventManager.RaiseEvent(this, new EventArgs(), nameof(TestStringEvent));

//Assert
Assert.False(didEventFire);
Expand All @@ -143,7 +143,7 @@ public void WeakEventManager_UnassignedEvent()
void HandleTestEvent(object? sender, EventArgs e) => didEventFire = true;

//Act
TestWeakEventManager.HandleEvent(null, null, nameof(TestEvent));
TestWeakEventManager.RaiseEvent(null, null, nameof(TestEvent));

//Assert
Assert.IsFalse(didEventFire);
Expand All @@ -160,7 +160,7 @@ public void WeakEventManager_UnassignedEventManager()
void HandleTestEvent(object? sender, EventArgs e) => didEventFire = true;

//Act
unassignedEventManager.HandleEvent(null, null, nameof(TestEvent));
unassignedEventManager.RaiseEvent(null, null, nameof(TestEvent));

//Assert
Assert.IsFalse(didEventFire);
Expand Down Expand Up @@ -283,7 +283,7 @@ public void WeakEventManager_HandleEvent_InvalidHandleEvent()
//Act

//Assert
Assert.Throws<InvalidHandleEventException>(() => TestWeakEventManager.HandleEvent(nameof(TestEvent)));
Assert.Throws<InvalidHandleEventException>(() => TestWeakEventManager.RaiseEvent(nameof(TestEvent)));
Assert.IsFalse(didEventFire);
TestEvent -= HandleTestEvent;
}
Expand Down
Loading

0 comments on commit 8290ad3

Please sign in to comment.