static void Main(string[] args) { Director director = new Director(); Builder builder1 = new XT001(); Builder builder2 = new XT002(); Console.WriteLine("Zestaw1"); director.SetBuilder(builder1); director.MakeComputer(); Computer computer1 = director.GetComputer(); SpecificationValidator validator = new SpecificationValidator(); validator.GetSpecification(computer1); Console.WriteLine("\nZestaw2"); director.SetBuilder(builder2); director.MakeComputer(); Computer computer2 = director.GetComputer(); validator.GetSpecification(computer2); Console.ReadKey(); }
private void SetUpValidators() { var addressValidator = new SpecificationValidator <Address>(new List <ISpecification <Address> > { new AddressCountryRequired() }); var userValidator = new UserValidator(new List <ISpecification <User> > { new UserNameRequired() }, addressValidator); var taskValidator = new SpecificationValidator <Task>(new List <ISpecification <Task> > { new TaskNameRequired(), new TaskTimeRequired(), new TaskUserRequired() }); For <IValidator <Address> >().Use(addressValidator); For <IValidator <User> >().Use(userValidator); For <IValidator <Task> >().Use(taskValidator); }
internal Report Validate(SpecificationWorkspace specification) { SpecificationValidator pv = new SpecificationValidator(specification); return(pv.Validate()); }