public static void BuilderShouldSetEnumType()
        {
            _builder = SandboxAnchor.Builder();

            _builder.WithType(Anchors.AnchorType.SOURCE);
            SandboxAnchor result = _builder.Build();

            Assert.Equal("SOURCE", result.Type);
        }
        public static void BuilderShouldSetSubType()
        {
            string subType = "subType";

            _builder = SandboxAnchor.Builder();

            _builder.WithSubType(subType);
            SandboxAnchor result = _builder.Build();

            Assert.Equal(subType, result.SubType);
        }
        public static void BuilderShouldSetValue()
        {
            string value = "value";

            _builder = SandboxAnchor.Builder();

            _builder.WithValue(value);
            SandboxAnchor result = _builder.Build();

            Assert.Equal(value, result.Value);
        }
        public static void BuilderShouldSetStringType()
        {
            string type = "SOURCE";

            _builder = SandboxAnchor.Builder();

            _builder.WithType(type);
            SandboxAnchor result = _builder.Build();

            Assert.Equal(type, result.Type);
        }
        public static void BuilderShouldSetTimestamp()
        {
            DateTime timestamp = new DateTime(2019, 12, 31, 23, 59, 59, DateTimeKind.Utc);

            DateTimeOffset dto = new DateTimeOffset(timestamp);
            var            expectedUnixTime = dto.ToUnixTimeMilliseconds() * 1000;

            _builder = SandboxAnchor.Builder();

            _builder.WithTimestamp(timestamp);
            SandboxAnchor result = _builder.Build();

            Assert.Equal(expectedUnixTime, result.UnixMicrosecondTimestamp);
        }
        public static void ShouldCreateAgeVerificationWithAnchors()
        {
            SandboxAnchor    sandboxAnchor = SandboxAnchor.Builder().Build();
            SandboxAttribute result        = SandboxAgeVerification.Builder()
                                             .WithDateOfBirth(_validDate)
                                             .WithAgeUnder(16)
                                             .WithAnchors(new System.Collections.Generic.List <SandboxAnchor> {
                sandboxAnchor
            })
                                             .Build()
                                             .ToAttribute();

            Assert.Equal(Yoti.Auth.Constants.UserProfile.DateOfBirthAttribute, result.Name);
            Assert.Equal(_validDateString, result.Value);
            Assert.Equal($"{Yoti.Auth.Constants.UserProfile.AgeUnderAttribute}:{16}", result.Derivation);
#pragma warning disable 0618
            Assert.Equal("False", result.Optional); //NOSONAR
#pragma warning restore 0618
            Assert.Equal(new System.Collections.Generic.List <SandboxAnchor> {
                sandboxAnchor
            }, result.Anchors);
        }