mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-08-31 19:08:29 +00:00
- Introduced `FakeCrestronEnvironment` and `FakeEthernetHelper` for testing purposes. - Implemented `InMemoryCrestronDataStore` to facilitate unit tests for data storage. - Created `DebugServiceTests` to validate the behavior of debug-related services. - Added project files for unit tests targeting .NET 9.0 with necessary dependencies. - Developed production adapters (`CrestronConsoleAdapter`, `CrestronDataStoreAdapter`, `CrestronEnvironmentAdapter`, `CrestronEthernetAdapter`) to interface with the Crestron SDK. - Updated `Debug` class to utilize injected service abstractions instead of direct SDK calls. - Enhanced `ControlSystem` initialization to register service adapters before usage.
31 lines
1.3 KiB
C#
31 lines
1.3 KiB
C#
namespace PepperDash.Core.Abstractions;
|
|
|
|
/// <summary>
|
|
/// Abstracts <c>Crestron.SimplSharp.CrestronDataStore.CrestronDataStoreStatic</c>
|
|
/// to allow unit testing without the Crestron SDK.
|
|
/// </summary>
|
|
public interface ICrestronDataStore
|
|
{
|
|
/// <summary>Initialises the data store. Must be called once before any other operation.</summary>
|
|
void InitStore();
|
|
|
|
/// <summary>Reads an integer value from the local (program-slot) store.</summary>
|
|
/// <returns><c>true</c> if the value was found and read successfully.</returns>
|
|
bool TryGetLocalInt(string key, out int value);
|
|
|
|
/// <summary>Writes an integer value to the local (program-slot) store.</summary>
|
|
/// <returns><c>true</c> on success.</returns>
|
|
bool SetLocalInt(string key, int value);
|
|
|
|
/// <summary>Writes an unsigned integer value to the local (program-slot) store.</summary>
|
|
/// <returns><c>true</c> on success.</returns>
|
|
bool SetLocalUint(string key, uint value);
|
|
|
|
/// <summary>Reads a boolean value from the local (program-slot) store.</summary>
|
|
/// <returns><c>true</c> if the value was found and read successfully.</returns>
|
|
bool TryGetLocalBool(string key, out bool value);
|
|
|
|
/// <summary>Writes a boolean value to the local (program-slot) store.</summary>
|
|
/// <returns><c>true</c> on success.</returns>
|
|
bool SetLocalBool(string key, bool value);
|
|
}
|