tbf/TBFTests/Rig/DataEntry/Uni/SmartMeterReaderFamilyTests.cs
Michal Buzik d12ee008db FIX UNI Data Entry - Smart Reader + missing files
Implement smart meter interface enhancements for AllyReader: Add `ISmartMeterReader` interface, update `RegisterReaderSelection` logic, integrate smart-meter position selection, and expand unit test coverage.
2026-08-19 14:33:06 +02:00

35 lines
1.3 KiB
C#

using Microsoft.VisualStudio.TestTools.UnitTesting;
using TBF.Rig.GenericDevices;
using TBF.Rig.RegisterReaders.AllyReader;
using TBF.Rig.RegisterReaders.GenesisRegReader.implementations;
using TBF.Rig.TestMethods.iPerlCommunication.iPerlHead;
using OldIPerlReader = TBF.Rig.RegisterReaders.IPerlReader.implementations.SmartReader;
using IPerlAsicReader = TBF.Rig.RegisterReaders.iPerlASICReader.implementations.SmartReader;
using PoseidonReader = TBF.Rig.RegisterReaders.PoseidonReader.implementations.PoseidonReader;
namespace TBFTests.Rig.DataEntry.Uni
{
[TestClass]
public class SmartMeterReaderFamilyTests
{
[TestMethod]
public void SmartMeterFamily_ContainsSupportedReadersOnly()
{
AssertSmartMeter(typeof(IperlHead));
AssertSmartMeter(typeof(GenesisSmartReader));
AssertSmartMeter(typeof(AllyMeterReader));
AssertSmartMeter(typeof(OldIPerlReader));
AssertSmartMeter(typeof(IPerlAsicReader));
Assert.IsFalse(typeof(ISmartMeterReader).IsAssignableFrom(typeof(PoseidonReader)));
}
private static void AssertSmartMeter(System.Type readerType)
{
Assert.IsTrue(
typeof(ISmartMeterReader).IsAssignableFrom(readerType),
readerType.FullName + " must belong to the smart-meter family.");
}
}
}