public GeneratorInfo(PolygonManagementViewModel parent, string friendlyName, IPolygonGenerator generator) { FriendlyName = friendlyName; Generator = generator; Parent = parent ?? throw new ArgumentNullException(nameof(parent)); Parent.PropertyChanged += (_, ea) => { if (ea.PropertyName == nameof(PolygonManagementViewModel.SelectedPolygonGenerator)) { RaisePropertyChanged(nameof(Selected)); } }; }
public void MaxSideLength(IPolygonGenerator generator) { if (generator == null) { throw new ArgumentNullException(nameof(generator)); } const double maxSideLength = 100d; // Generate polygon var points = generator.Generate(maxSideLength); // Size of polygon must be <= specified max side length foreach (var point in points.Span) { Assert.True(point.X <= maxSideLength); Assert.True(point.Y <= maxSideLength); } }