public bool Satisfies(Person t)
        {
            HasItAlready hasPj = new HasItAlready(typeof(Pj));

            return(!hasPj.Satisfies(t) && !t.Items.Any(s => s.GetType() == typeof(Footware)) &&
                   !t.Items.Any(s => s.GetType() == typeof(Pants)));
        }
        public bool Satisfies(Person t)
        {
            HasItAlready hasPj = new HasItAlready(typeof(Pj));

            return(Condition != Condition.Hot && !hasPj.Satisfies(t) &&
                   !t.Items.Any(s => s.GetType() == typeof(Socks)) &&
                   !t.Items.Any(s => s.GetType() == typeof(Footware)));
        }
        public bool Satisfies(Person t)
        {
            HasItAlready hasPj = new HasItAlready(typeof(Pj));

            return(!hasPj.Satisfies(t) && !t.Items.Any(s => s.GetType() == typeof(Shirt)) && (
                       !t.Items.Any(s => s.GetType() == typeof(Headwear)) ||
                       !t.Items.Any(s => s.GetType() == typeof(Jacket))
                       ));
        }