QuellCode/CentronERP war nur als Gitlink (Submodul-Referenz auf 79c1142) getrackt, ohne .gitmodules und ohne erreichbares Remote. Der Untersuchungsgegenstand der Versuchsreihe war damit nicht reproduzierbar gesichert: Ein Klon haette ein leeres Verzeichnis erhalten, und die Belege der 3.287 Anforderungen waeren nicht ueberpruefbar gewesen. Umstellung: - Historie nach c:\DEV\CentronERP_git_snapshot_79c1142 ausgelagert (vollstaendig lesbar, enthaelt 79c1142 und Vorgaenger 89ccfd6) - Gitlink aus dem Index entfernt - Dateiinhalt aufgenommen: 24.557 Dateien, rund 333 MB Die verschachtelte .gitignore der Codebasis gilt weiter, Build-Artefakte bleiben ausgeschlossen. Details in Versuche/Versuch_01/_Codebasis-Nachweis.md
74 lines
2.3 KiB
C#
74 lines
2.3 KiB
C#
using Centron.Data.Entities.Telemetry;
|
|
using Centron.Interfaces.Administration.Logins;
|
|
using JetBrains.Annotations;
|
|
|
|
namespace Centron.Tests.BL.Telemetry;
|
|
|
|
[TestSubject(typeof(TelemetryLicenseKindMapping))]
|
|
public class TelemetryLicenseKindMappingTest
|
|
{
|
|
[Fact]
|
|
public void FromGuid_KnownLicense_ReturnsKind()
|
|
{
|
|
var kind = TelemetryLicenseKindMapping.FromGuid(LicenseGuids.Centron);
|
|
Assert.Equal(TelemetryLicenseKind.Centron, kind);
|
|
}
|
|
|
|
[Fact]
|
|
public void FromGuidString_KnownLicense_ReturnsKind()
|
|
{
|
|
var kind = TelemetryLicenseKindMapping.FromGuidString(LicenseGuids.ServiceBoard.ToString());
|
|
Assert.Equal(TelemetryLicenseKind.ServiceBoard, kind);
|
|
}
|
|
|
|
[Fact]
|
|
public void FromGuid_UnknownGuid_ReturnsNull()
|
|
{
|
|
var kind = TelemetryLicenseKindMapping.FromGuid(Guid.NewGuid());
|
|
Assert.Null(kind);
|
|
}
|
|
|
|
[Fact]
|
|
public void FromGuidString_NullOrEmpty_ReturnsNull()
|
|
{
|
|
Assert.Null(TelemetryLicenseKindMapping.FromGuidString(null));
|
|
Assert.Null(TelemetryLicenseKindMapping.FromGuidString(""));
|
|
Assert.Null(TelemetryLicenseKindMapping.FromGuidString(" "));
|
|
}
|
|
|
|
[Fact]
|
|
public void FromGuidString_Garbage_ReturnsNull()
|
|
{
|
|
Assert.Null(TelemetryLicenseKindMapping.FromGuidString("not-a-guid"));
|
|
}
|
|
|
|
[Fact]
|
|
public void ToGuid_KnownKind_ReturnsGuid()
|
|
{
|
|
var guid = TelemetryLicenseKindMapping.ToGuid(TelemetryLicenseKind.Centron);
|
|
Assert.Equal(LicenseGuids.Centron, guid);
|
|
}
|
|
|
|
[Fact]
|
|
public void ToGuid_Unknown_ReturnsNull()
|
|
{
|
|
var guid = TelemetryLicenseKindMapping.ToGuid(TelemetryLicenseKind.Unknown);
|
|
Assert.Null(guid);
|
|
}
|
|
|
|
[Fact]
|
|
public void RoundTrip_AllKnownLicenses_AreStable()
|
|
{
|
|
// Every enum value (except Unknown) must map to a real GUID and back to itself.
|
|
foreach (TelemetryLicenseKind kind in Enum.GetValues<TelemetryLicenseKind>())
|
|
{
|
|
if (kind == TelemetryLicenseKind.Unknown) continue;
|
|
|
|
var guid = TelemetryLicenseKindMapping.ToGuid(kind);
|
|
Assert.True(guid.HasValue, $"Enum value {kind} has no matching LicenseGuids field.");
|
|
var roundTrip = TelemetryLicenseKindMapping.FromGuid(guid.Value);
|
|
Assert.Equal(kind, roundTrip);
|
|
}
|
|
}
|
|
}
|