public void RaiseBreakpointChanged() { var sizeStrategy = new MySizeStrategy(); var service = new BreakpointListener(sizeStrategy); int count = 0; service.BreakpointChanged += (s, e) => { count++; }; service.AddBreakpoint(0); service.AddBreakpoint(100); service.AddBreakpoint(200); service.AddBreakpoint(300); sizeStrategy.RaiseSizeChanged(10); sizeStrategy.RaiseSizeChanged(20); // ignored sizeStrategy.RaiseSizeChanged(150); sizeStrategy.RaiseSizeChanged(160); // ignored sizeStrategy.RaiseSizeChanged(170); // ignored sizeStrategy.RaiseSizeChanged(180); // ignored sizeStrategy.RaiseSizeChanged(250); sizeStrategy.RaiseSizeChanged(260); // ignored sizeStrategy.RaiseSizeChanged(350); sizeStrategy.RaiseSizeChanged(1000); // ignored sizeStrategy.RaiseSizeChanged(1600); // ignored Assert.AreEqual(4, count); }
public void AddBreakpoint_SortOnAdd() { var sizeStrategy = new MySizeStrategy(); var service = new BreakpointListener(sizeStrategy); service.AddBreakpoint(200); service.AddBreakpoint(0); service.AddBreakpoint(100); Assert.AreEqual(3, service.Breakpoints.Count); Assert.AreEqual(0, service.Breakpoints[0]); Assert.AreEqual(100, service.Breakpoints[1]); Assert.AreEqual(200, service.Breakpoints[2]); }
public void ActiveChange() { var sizeStrategy = new MySizeStrategy(); var service = new BreakpointListener(sizeStrategy); var breakpoints = new List <double> { 0, 100, 200, 300 }; Assert.AreEqual(-1, service.CurrentBreakpoint); sizeStrategy.RaiseSizeChanged(10); Assert.AreEqual(-1, service.CurrentBreakpoint); Assert.AreEqual(10, service.CurrentWidth); service.AddBreakpoint(0); service.AddBreakpoint(100); service.AddBreakpoint(200); service.AddBreakpoint(300); sizeStrategy.RaiseSizeChanged(10); Assert.AreEqual(0, service.CurrentBreakpoint); Assert.AreEqual(10, service.CurrentWidth); sizeStrategy.RaiseSizeChanged(150); Assert.AreEqual(100, service.CurrentBreakpoint); Assert.AreEqual(150, service.CurrentWidth); sizeStrategy.RaiseSizeChanged(250); Assert.AreEqual(200, service.CurrentBreakpoint); Assert.AreEqual(250, service.CurrentWidth); sizeStrategy.RaiseSizeChanged(350); Assert.AreEqual(300, service.CurrentBreakpoint); Assert.AreEqual(350, service.CurrentWidth); }
public async Task RaiseBreakpointChanged_DeferredOnAdd() { var sizeStrategy = new MySizeStrategy(); var service = new BreakpointListener(sizeStrategy); int count = 0; service.BreakpointChanged += (s, e) => { count++; }; sizeStrategy.RaiseSizeChanged(10); await Task.Delay(3000); service.AddBreakpoint(0); Assert.AreEqual(1, count); }
public Scenario1() { InitializeComponent(); this.Navigation = NavigationManager.GetNavigationSources("Main")[0]; var listener = new BreakpointListener(); listener.AddBreakpoint(0); listener.AddBreakpoint(320); listener.AddBreakpoint(960); listener.AddBreakpoint(640); listener.AddBreakpoint(1280); listener.AddBreakpoint(1600); listener.BreakpointChanged += OnChanged; }