public void Clone_State_ReturnsAnotherInstance()
        {
            var a = new SimpleTransition
            {
                GlyphId     = 1,
                HeadShift   = 1,
                LookupFlags = LookupFlags.IgnoreBaseGlyphs,
                Action      = new SubstitutionAction
                {
                    ReplacedGlyphCount = 2
                }
            };

            var b = a.Clone();

            Assert.AreNotSame(a, b);
        }
        public void Clone_State_ReturnsClone()
        {
            var a = new SimpleTransition
            {
                GlyphId     = 1,
                HeadShift   = 1,
                LookupFlags = LookupFlags.IgnoreBaseGlyphs,
                Action      = new SubstitutionAction
                {
                    ReplacedGlyphCount = 2
                }
            };

            var b = a.Clone();

            var comparer = new TransitionNonrecursiveEqualityComparer();

            Assert.IsTrue(comparer.Equals(a, b));
        }