public void IsEquivalentTo_ForBothNull_ReturnsFalse( DeviceComparer sut) { sut.IsEquivalentTo(null, null) .Should() .BeFalse(); }
public void Equals_ForBothNull_ReturnsFalse( DeviceComparer sut) { sut.Equals(null, null) .Should() .BeFalse(); }
public void Initialize() { var dateTimeOffset = DateTimeOffset.Parse("2/10/2007 1:02:03 PM -7:30"); _broadcastTime = new DateTimeOffsetWrapper(dateTimeOffset); _comparer = new DeviceComparer(); }
public void Initialize( ) { var dateTimeOffset = DateTimeOffset.Parse("2007-10-02T13:02:03.0000000-07:30"); _broadcastTime = new DateTimeOffsetWrapper(dateTimeOffset); _comparer = new DeviceComparer( ); }
public void Equals_ForTheSameDevice_ReturnsTrue( DeviceComparer sut, IDevice deviceA) { sut.Equals(deviceA, deviceA) .Should() .BeTrue(); }
public void IsEquivalentTo_ForSameDevice_ReturnsTrue( DeviceComparer sut, IDevice device) { sut.IsEquivalentTo(device, device) .Should() .BeTrue(); }
public void Equals_ForDeviceBIsNull_ReturnsFalse( DeviceComparer sut, IDevice device) { sut.Equals(device, null) .Should() .BeFalse(); }
public void IsEquivalentTo_ForDeviceBIsNull_ReturnsFalse( DeviceComparer sut, IDevice device) { sut.IsEquivalentTo(device, null) .Should() .BeFalse(); }
public void AddOrUpdateDevice_ForNewDeviceAdded_DeviceAdded( Devices sut, IDevice device, DeviceComparer comparer) { sut.AddOrUpdateDevice(device); sut.DiscoveredDevices .Should() .ContainSingle(x => comparer.Equals(x, device)); }
public void Remove_ForExistingDevice_RemovesDevice( Devices sut, IDevice device, DeviceComparer comparer) { sut.AddOrUpdateDevice(device); sut.RemoveDevice(device); sut.DiscoveredDevices .Should() .NotContain(x => comparer.Equals(x, device)); }
public void IsEquivalentTo_For2DeviceDifferentBroadcastTime_ReturnsTrue( DeviceComparer sut, IDevice deviceA) { var deviceB = new Device(new DateTimeOffsetWrapper(), deviceA.Address, deviceA.Name, deviceA.RawSignalStrengthInDBm); sut.IsEquivalentTo(deviceA, deviceB) .Should() .BeTrue(); }
public void IsEquivalentTo_For2DeviceDifferentName_ReturnsTrue( DeviceComparer sut, IDevice deviceA) { var deviceB = new Device(deviceA.BroadcastTime, deviceA.Address, "Other Name", deviceA.RawSignalStrengthInDBm); sut.IsEquivalentTo(deviceA, deviceB) .Should() .BeTrue(); }
public void Equals_For2DeviceDifferentName_ReturnsFalse( DeviceComparer sut, IDevice deviceA) { var deviceB = new Device(deviceA.BroadcastTime, deviceA.Address, "Other Name", deviceA.RawSignalStrengthInDBm); sut.Equals(deviceA, deviceB) .Should() .BeFalse(); }
public void TryGetDevice_ForExistingDevice_ReturnsDevice( Devices sut, IDevice device, DeviceComparer comparer) { sut.AddOrUpdateDevice(device); sut.TryGetDevice(device.Address, out var actual); comparer.Equals(actual, device) .Should( ) .BeTrue( ); }
public void AddOrUpdateDevice_ForSameDeviceAddedTwice_UpdatesDevice( Devices sut, IDevice device1, IDevice device2, DeviceComparer comparer) { device2.Address .Returns(device1.Address); sut.AddOrUpdateDevice(device1); sut.AddOrUpdateDevice(device2); sut.DiscoveredDevices .Should() .ContainSingle(x => comparer.Equals(x, device2)); }
public void IsEquivalentTo_For2DeviceRawSignalStrengthInDBm_ReturnsTrue( DeviceComparer sut, IDevice deviceA) { deviceA.RawSignalStrengthInDBm .Returns((short)-1); var deviceB = new Device(deviceA.BroadcastTime, deviceA.Address, deviceA.Name, 0); sut.IsEquivalentTo(deviceA, deviceB) .Should() .BeTrue(); }
public void Equals_For2DevicesDifferentAddress_ReturnsFalse( DeviceComparer sut, IDevice deviceA) { deviceA.Address .Returns(0ul); var deviceB = new Device(deviceA.BroadcastTime, 1ul, deviceA.Name, deviceA.RawSignalStrengthInDBm); sut.Equals(deviceA, deviceB) .Should() .BeFalse(); }
public void AddOrUpdateDevice_ForTwoNewDevicesAdded_DevicesAdded( Devices sut, IDevice device1, IDevice device2, DeviceComparer comparer) { sut.AddOrUpdateDevice(device1); sut.AddOrUpdateDevice(device2); using var scope = new AssertionScope(); sut.DiscoveredDevices .Should() .ContainSingle(x => comparer.Equals(x, device1)); sut.DiscoveredDevices .Should() .ContainSingle(x => comparer.Equals(x, device2)); }
public void Remove_ForExistingDevice_DoesNotRemovesOtherDevice( Devices sut, IDevice device1, IDevice device2, DeviceComparer comparer) { sut.AddOrUpdateDevice(device1); sut.AddOrUpdateDevice(device2); sut.RemoveDevice(device1); using var scope = new AssertionScope(); sut.DiscoveredDevices .Should() .NotContain(x => comparer.Equals(x, device1)); sut.DiscoveredDevices .Should() .ContainSingle(x => comparer.Equals(x, device2)); }
public void AddOrUpdateDevice_ForDeviceWithEmptyName_UpdatesDeviceName( Devices sut, IDevice device1, IDevice device2, DeviceComparer comparer) { device1.Name .Returns(string.Empty); var address = device1.Address; device2.Address .Returns(address); sut.AddOrUpdateDevice(device1); sut.AddOrUpdateDevice(device2); sut.DiscoveredDevices .Should() .ContainSingle(x => comparer.Equals(x, device2)); }
private void updateDeviceList() { string search = searchTextBox.Text.ToLower(); devicesPanel.SuspendLayout(); // Untag all devices foreach (Control c in devicesPanel.Controls) { if (c.GetType() == typeof(DeviceUserControl)) { ((DeviceUserControl)c).present = false; } } /* * lock (meshcentral.nodes) * { * // Add any missing devices * ArrayList controlsToAdd = new ArrayList(); * foreach (MeshClass mesh in meshcentral.meshes.Values) * { * if (mesh.type == 2) * { * foreach (NodeClass node in meshcentral.nodes.Values) * { * if ((node.control == null) && (node.meshid == mesh.meshid)) * { * // Add a new device * DeviceUserControl device = new DeviceUserControl(); * device.mesh = mesh; * device.node = node; * device.parent = this; * device.Dock = DockStyle.Top; * device.present = true; * node.control = device; * device.UpdateInfo(); * device.Visible = (search == "") || (node.name.ToLower().IndexOf(search) >= 0); * controlsToAdd.Add(device); * } * else * { * // Tag the device as present * if (node.control != null) * { * node.control.present = true; * node.control.UpdateInfo(); * } * } * } * } * } * * // Add all controls at once to make it fast. * if (controlsToAdd.Count > 0) { devicesPanel.Controls.AddRange((DeviceUserControl[])controlsToAdd.ToArray(typeof(DeviceUserControl))); } * } */ ArrayList controlsToAdd = new ArrayList(); if (meshcentral.nodes != null) { foreach (NodeClass node in meshcentral.nodes.Values) { if (node.agentid == -1) { continue; } if (node.control == null) { // Add a new device DeviceUserControl device = new DeviceUserControl(); if ((node.meshid != null) && meshcentral.meshes.ContainsKey(node.meshid)) { device.mesh = (MeshClass)meshcentral.meshes[node.meshid]; } device.node = node; device.parent = this; device.Dock = DockStyle.Top; device.present = true; node.control = device; device.UpdateInfo(); device.Visible = (search == "") || (node.name.ToLower().IndexOf(search) >= 0); controlsToAdd.Add(device); } else { // Tag the device as present if (node.control != null) { node.control.present = true; node.control.UpdateInfo(); } } } } // Add all controls at once to make it fast. if (controlsToAdd.Count > 0) { devicesPanel.Controls.AddRange((DeviceUserControl[])controlsToAdd.ToArray(typeof(DeviceUserControl))); } // Clear all untagged devices bool removed; do { removed = false; foreach (Control c in devicesPanel.Controls) { if ((c.GetType() == typeof(DeviceUserControl)) && ((DeviceUserControl)c).present == false) { devicesPanel.Controls.Remove(c); c.Dispose(); removed = true; } } } while (removed == true); // Filter devices int visibleDevices = 0; foreach (Control c in devicesPanel.Controls) { if (c.GetType() == typeof(DeviceUserControl)) { NodeClass n = ((DeviceUserControl)c).node; bool connVisible = ((showOfflineDevicesToolStripMenuItem.Checked) || ((n.conn & 1) != 0)); if ((search == "") || (n.name.ToLower().IndexOf(search) >= 0) || (showGroupNamesToolStripMenuItem.Checked && (((DeviceUserControl)c).mesh.name.ToLower().IndexOf(search) >= 0))) { c.Visible = connVisible; visibleDevices++; } else { c.Visible = false; } } } // Sort devices ArrayList sortlist = new ArrayList(); foreach (Control c in devicesPanel.Controls) { if (c.GetType() == typeof(DeviceUserControl)) { sortlist.Add(c); } } if (sortByNameToolStripMenuItem.Checked) { DeviceComparer comp = new DeviceComparer(); sortlist.Sort(comp); } else { DeviceGroupComparer comp = new DeviceGroupComparer(); sortlist.Sort(comp); } remoteAllDeviceControls(); devicesPanel.Controls.AddRange((DeviceUserControl[])sortlist.ToArray(typeof(DeviceUserControl))); devicesPanel.ResumeLayout(); noDevicesLabel.Visible = (sortlist.Count == 0); noSearchResultsLabel.Visible = ((sortlist.Count > 0) && (visibleDevices == 0)); }