Beispiel #1
0
        public void EqualityHasValueSemantics()
        {
            // With identifier
            {
                var de1 = new DamlEnum(IdentifierFactory.Id1, "constructor1");
                var de2 = new DamlEnum(IdentifierFactory.Id2, "constructor2");
                var de3 = new DamlEnum(IdentifierFactory.Id1, "constructor1");

                Assert.IsTrue(de1.Equals(de1));
                Assert.IsTrue(de1 == de1);

                Assert.IsTrue(de1.Equals(de3));
                Assert.IsTrue(de1 == de3);

                Assert.IsFalse(de1.Equals(de2));
                Assert.IsTrue(de1 != de2);
            }

            // Without identifier
            {
                var de1 = new DamlEnum("constructor1");
                var de2 = new DamlEnum("constructor2");
                var de3 = new DamlEnum("constructor1");

                Assert.IsTrue(de1.Equals(de3));
                Assert.IsTrue(de1 == de3);

                Assert.IsFalse(de1.Equals(de2));
                Assert.IsTrue(de1 != de2);
            }
        }
Beispiel #2
0
        private void ConvertThroughProto(DamlEnum source)
        {
            Com.DigitalAsset.Ledger.Api.V1.Value protoValue = source.ToProto();
            var maybe = Value.FromProto(protoValue).AsEnum();

            Assert.AreEqual(typeof(Some <DamlEnum>), maybe.GetType());
            Assert.IsTrue(source == (Some <DamlEnum>)maybe);
        }
Beispiel #3
0
        private void ConvertThroughProto(DamlEnum source)
        {
            Com.Daml.Ledger.Api.V1.Value protoValue = source.ToProto();
            var maybe = Value.FromProto(protoValue).AsEnum();

            maybe.Should().BeOfType <Some <DamlEnum> >();
            Assert.True(source == (Some <DamlEnum>)maybe);
        }
Beispiel #4
0
        public void HashCodeHasValueSemantics()
        {
            // With identifier
            {
                var de1 = new DamlEnum(IdentifierFactory.Id1, "constructor1");
                var de2 = new DamlEnum(IdentifierFactory.Id2, "constructor2");
                var de3 = new DamlEnum(IdentifierFactory.Id1, "constructor1");

                Assert.IsTrue(de1.GetHashCode() == de3.GetHashCode());
                Assert.IsTrue(de1.GetHashCode() != de2.GetHashCode());
            }

            // Without identifier
            {
                var de1 = new DamlEnum("constructor1");
                var de2 = new DamlEnum("constructor2");
                var de3 = new DamlEnum("constructor1");

                Assert.IsTrue(de1.GetHashCode() == de3.GetHashCode());
                Assert.IsTrue(de1.GetHashCode() != de2.GetHashCode());
            }
        }