public Dog(string name, AnimalGenderType gender, string breed, int age) : base(name, gender, AnimalType.dog, age) { Guard.WhenArgument(breed, "Invalid breed").IsNull().Throw(); Guard.WhenArgument(breed.Length, "Invalid breed length").IsLessThan(2).IsGreaterThan(15).Throw(); Guard.WhenArgument(age, "Age cannot be less than zero").IsLessThan(0).Throw(); this.breed = breed; }
public Pet(string name, AnimalGenderType gender, AnimalType type, int age) { Guard.WhenArgument(name, "Invalid name").IsNull().Throw(); Guard.WhenArgument(name.Length, "Invalid name length").IsLessThan(2).IsGreaterThan(15).Throw(); Guard.WhenArgument(age, "Age cannot be less than zero").IsLessThan(0).Throw(); this.id = Guid.NewGuid().ToString(); this.name = name; this.gender = gender; this.age = age; this.Type = type; this.services = new List <IService>(); }
public Cat(string name, AnimalGenderType gender, int age) : base(name, gender, AnimalType.cat, age) { Guard.WhenArgument(age, "Age cannot be less than zero").IsLessThan(0).Throw(); }
public IPet CreateDog(string name, AnimalGenderType gender, string breed, int age) => new Dog(name, gender, breed, age);
public IPet CreateHamster(string name, AnimalGenderType gender, int age) => new Hamster(name, gender, age);
public IPet CreateCat(string name, AnimalGenderType gender, int age) => new Cat(name, gender, age);