// Tests for ClientKind enum and IsInternal() extension method. // Go reference: client.go:45-65 (client kind constants and isInternal check) using NATS.Server; using Shouldly; namespace NATS.Server.Core.Tests; public class ClientKindTests { [Fact] public void Client_is_not_internal() => ClientKind.Client.IsInternal().ShouldBeFalse(); [Fact] public void Router_is_not_internal() => ClientKind.Router.IsInternal().ShouldBeFalse(); [Fact] public void Gateway_is_not_internal() => ClientKind.Gateway.IsInternal().ShouldBeFalse(); [Fact] public void Leaf_is_not_internal() => ClientKind.Leaf.IsInternal().ShouldBeFalse(); [Fact] public void System_is_internal() => ClientKind.System.IsInternal().ShouldBeTrue(); [Fact] public void JetStream_is_internal() => ClientKind.JetStream.IsInternal().ShouldBeTrue(); [Fact] public void Account_is_internal() => ClientKind.Account.IsInternal().ShouldBeTrue(); [Fact] public void All_kinds_defined() => Enum.GetValues().Length.ShouldBe(7); [Fact] public void Internal_kinds_count_is_three() => Enum.GetValues().Count(k => k.IsInternal()).ShouldBe(3); [Fact] public void External_kinds_count_is_four() => Enum.GetValues().Count(k => !k.IsInternal()).ShouldBe(4); }