public void StringsWithDifferentCases()
        {
            var s1 = new ColoredString("text", ConsoleColor.Blue, ConsoleColor.DarkGray);
            var s2 = new ColoredString("TEXT", ConsoleColor.Blue, ConsoleColor.DarkGray);

            (s1 == s2).Should().BeFalse();
            (s1 != s2).Should().BeTrue();
            s1.Equals(s2).Should().BeFalse();
            s1.Equals((object)s2).Should().BeFalse();
            s1.Equals(s2, StringComparison.Ordinal).Should().BeFalse();
            s1.Equals(s2, StringComparison.OrdinalIgnoreCase).Should().BeTrue();
            s1.GetHashCode().Should().NotBe(s2.GetHashCode());
        }
        public void StringEqualsItself()
        {
            var s = new ColoredString("text", ConsoleColor.Blue, ConsoleColor.DarkGray);

        #pragma warning disable CS1718 // Comparison made to same variable
            (s == s).Should().BeTrue();
            (s != s).Should().BeFalse();
        #pragma warning restore CS1718 // Comparison made to same variable
            s.Equals(s).Should().BeTrue();
            s.Equals((object)s).Should().BeTrue();
            s.Equals(s, StringComparison.Ordinal).Should().BeTrue();
            s.GetHashCode().Should().Be(s.GetHashCode());
        }
        public void StringsWithDifferentColorsAreNotEqual()
        {
            var s1 = new ColoredString("text", ConsoleColor.Blue, ConsoleColor.DarkGray);
            var s2 = new ColoredString("text", ConsoleColor.Green, ConsoleColor.Red);

        #pragma warning disable CS1718 // Comparison made to same variable
            (s1 == s2).Should().BeFalse();
            (s1 != s2).Should().BeTrue();
        #pragma warning restore CS1718 // Comparison made to same variable
            s1.Equals(s2).Should().BeFalse();
            s1.Equals((object)s2).Should().BeFalse();
            s1.Equals(s2, StringComparison.Ordinal).Should().BeFalse();
            s1.GetHashCode().Should().NotBe(s2.GetHashCode());
        }
        public void StringsDoNotEqualObjectsOfDifferentTypes()
        {
            var s = new ColoredString("text");

            s.Equals(3).Should().BeFalse();
        }