// C# compiler doesn't allow to define non-public operator overload methods.
// I can't write code that violates CA2225:Multiple.

using System;

namespace Sasa.QualityTools.DrFx.Tests.Violation.CSharp.Microsoft.Usage
{
    public class Rule2225
    {
        public string Name { get; set; }

        // このメソッドは CA2225 に違反しています。
        public static Rule2225 operator %(Rule2225 obj1, Rule2225 obj2)
        {
            return new Rule2225 { Name = obj1.Name + obj2.Name };
        }

        // このメソッドは CA2225:Property に違反しています。
        public static bool operator true(Rule2225 obj)
        {
            return obj.Name.Length == 0;
        }

        // このメソッドは CA2225:Property に違反しています。
        public static bool operator false(Rule2225 obj)
        {
            return obj.Name.Length != 0;
        }
    }
}
