Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make an IChangeContext interface and depend on it from #23

Closed
hahn-kev opened this issue Jan 15, 2025 · 0 comments · Fixed by #26
Closed

make an IChangeContext interface and depend on it from #23

hahn-kev opened this issue Jan 15, 2025 · 0 comments · Fixed by #26
Assignees

Comments

@hahn-kev
Copy link
Collaborator

right now all our changes depend on ChangeContext, it would be great if that was instead an interface which would facilitate easy mocking for testing changes. This would be a breaking change as FwLite has it's own changes defined.

Most of the changes would be in IChange and related classes/interfaces. This new IChangeContext interface should be defined in the SIL.Harmony.Core project. In order to declare the interface in Core it will have to change what it depends on a bit. Some changes I would suggest:

  • change the Commit property type to CommitBase because Commit is defined in SIL.Harmony, not in core, but CommitBAse is in core.
  • the method Adapt may prove difficult, it's only used internally, it may be easiest to move IObjectBase into SIL.Harmony.Core as well, then Adapt can be declared there as well

the implementation should not be moved into Core.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants