public void ShouldHaveDifferentHashCodesOnDifferentInstances() { var a = CustomKeypadEffect.Create(); var b = CustomKeypadEffect.Create(); Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode()); }
public void ClonedStructShouldBeIdentical() { var original = new CustomKeypadEffect(Color.Red); var clone = original.Clone(); Assert.That(clone, Is.EqualTo(original)); }
public void ShouldClearToBlack() { var grid = new CustomKeypadEffect(Color.Pink); grid.Clear(); Assert.That(grid, Is.EqualTo(CustomKeypadEffect.Create())); }
public void ShouldSetWithIndexIndexer() { var grid = CustomKeypadEffect.Create(); grid[5] = Color.Red; Assert.AreEqual(Color.Red, grid[5]); }
public void ShouldSetNewColors() { var grid = CustomKeypadEffect.Create(); grid[0, 4] = Color.Red; Assert.That(grid[0, 4], Is.EqualTo(Color.Red)); }
public static CustomKeypadEffect Combine(this CustomKeypadEffect keypad, Color c, double cPct = 0.5) { for (var i = 0; i < KeypadConstants.MaxKeys; i++) { keypad[i] = keypad[i].Combine(c, cPct); } return(keypad); }
public void ClonedStructShouldBeIndependent() { var original = new CustomKeypadEffect(Color.Red); var clone = original.Clone(); clone.Set(Color.Blue); Assert.That(clone, Is.Not.EqualTo(original)); }
public static CustomKeypadEffect Max(this CustomKeypadEffect keypad, Color c) { for (var i = 0; i < KeypadConstants.MaxKeys; i++) { keypad[i] = keypad[i].Max(c); } return(keypad); }
public void ShouldNotEqualNull() { var grid = CustomKeypadEffect.Create(); Assert.False(grid == null); Assert.True(grid != null); Assert.False(grid.Equals(null)); Assert.AreNotEqual(grid, null); }
public void ShouldConstructProperMultiArray() { var effect = CustomKeypadEffect.Create(); effect[2, 3] = Color.Red; var array = effect.ToMultiArray(); Assert.AreEqual(Color.Red, array[2, 3]); }
public void ShouldNotEqualDifferentGrid() { var a = new CustomKeypadEffect(Color.Red); var b = new CustomKeypadEffect(Color.Pink); Assert.False(a == b); Assert.True(a != b); Assert.False(a.Equals(b)); Assert.AreNotEqual(a, b); }
public void ShouldNotEqual1DArrayWithInvalidSize() { var grid = CustomKeypadEffect.Create(); var arr = new Color[2]; Assert.False(grid == arr); Assert.True(grid != arr); Assert.False(grid.Equals(arr)); Assert.AreNotEqual(grid, arr); }
public void ShouldNotEqualArbitraryObject() { var grid = CustomKeypadEffect.Create(); var obj = new object(); Assert.False(grid == obj); Assert.True(grid != obj); Assert.False(grid.Equals(obj)); Assert.AreNotEqual(grid, obj); }
public void ShouldEqualIdenticalGrid() { var a = new CustomKeypadEffect(Color.Red); var b = new CustomKeypadEffect(Color.Red); Assert.True(a == b); Assert.False(a != b); Assert.True(a.Equals(b)); Assert.AreEqual(a, b); }
public void ShouldThrowWhenInvalid1DSize() { var arr = new Color[2]; // ReSharper disable once NotAccessedVariable CustomKeypadEffect dummy; Assert.That( () => dummy = new CustomKeypadEffect(arr), Throws.ArgumentException.With.Property("ParamName").EqualTo("colors")); }
public void ShouldNotEqual2DArrayWithInvalidColumnCount() { var grid = CustomKeypadEffect.Create(); var arr = new Color[KeypadConstants.MaxRows][]; arr[0] = new Color[2]; Assert.False(grid == arr); Assert.True(grid != arr); Assert.False(grid.Equals(arr)); Assert.AreNotEqual(grid, arr); }
public void ShouldSetToBlackWithCreate() { var grid = CustomKeypadEffect.Create(); for (var row = 0; row < KeypadConstants.MaxRows; row++) { for (var column = 0; column < KeypadConstants.MaxColumns; column++) { Assert.That(grid[row, column], Is.EqualTo(Color.Black)); } } }
public void ShouldSetAllColorsWithColorCtor() { var grid = new CustomKeypadEffect(Color.Red); for (var row = 0; row < KeypadConstants.MaxRows; row++) { for (var column = 0; column < KeypadConstants.MaxColumns; column++) { Assert.That(grid[row, column], Is.EqualTo(Color.Red)); } } }
public void ShouldThrowWhenInvalid2DRowCount() { // We don't need to set up the columns as the code should throw before // it reaches the point of iterating rows var arr = new Color[2][]; // ReSharper disable once NotAccessedVariable CustomKeypadEffect dummy; Assert.That( () => dummy = new CustomKeypadEffect(arr), Throws.ArgumentException.With.Property("ParamName").EqualTo("colors")); }
public void ShouldSetColorsProperly() { var grid = CustomKeypadEffect.Create(); grid.Set(Color.Red); for (var row = 0; row < KeypadConstants.MaxRows; row++) { for (var column = 0; column < KeypadConstants.MaxColumns; column++) { Assert.AreEqual(Color.Red, grid[row, column]); } } }
public void ShouldThrowWhenInvalid2DColumnCount() { var arr = new Color[KeypadConstants.MaxRows][]; // We only need to populate one of the rows, as the // code shouldn't check further anyway. arr[0] = new Color[2]; // ReSharper disable once NotAccessedVariable CustomKeypadEffect dummy; Assert.That( () => dummy = new CustomKeypadEffect(arr), Throws.ArgumentException.With.Property("ParamName").EqualTo("colors")); }
public void ShouldNotEqualDifferent1DArray() { var grid = new CustomKeypadEffect(Color.Pink); var arr = new Color[KeypadConstants.MaxKeys]; for (var index = 0; index < KeypadConstants.MaxKeys; index++) { arr[index] = Color.Red; } Assert.False(grid == arr); Assert.True(grid != arr); Assert.False(grid.Equals(arr)); Assert.AreNotEqual(grid, arr); }
public void ShouldSetProperColorsWith1DCtor() { var arr = new Color[KeypadConstants.MaxKeys]; arr[2] = Color.Pink; arr[4] = Color.Red; arr[8] = Color.Blue; var grid = new CustomKeypadEffect(arr); for (var index = 0; index < KeypadConstants.MaxKeys; index++) { Assert.That(grid[index], Is.EqualTo(arr[index])); } }
public void ShouldNotEqualDifferent2DArray() { var grid = new CustomKeypadEffect(Color.Pink); var arr = new Color[KeypadConstants.MaxRows][]; // Populate the 2D array for (var row = 0; row < KeypadConstants.MaxRows; row++) { arr[row] = new Color[KeypadConstants.MaxColumns]; for (var col = 0; col < KeypadConstants.MaxColumns; col++) { arr[row][col] = Color.Red; } } Assert.False(grid == arr); Assert.True(grid != arr); Assert.False(grid.Equals(arr)); Assert.AreNotEqual(grid, arr); }
public void ShouldThrowWhenOutOfRange1DSet() { var grid = CustomKeypadEffect.Create(); Assert.That( () => grid[-1] = Color.Red, Throws.InstanceOf <ArgumentOutOfRangeException>() .With.Property("ParamName") .EqualTo("index") .And.Property("ActualValue") .EqualTo(-1)); Assert.That( () => grid[KeypadConstants.MaxKeys] = Color.Red, Throws.InstanceOf <ArgumentOutOfRangeException>() .With.Property("ParamName") .EqualTo("index") .And.Property("ActualValue") .EqualTo(KeypadConstants.MaxKeys)); }
public void ShouldThrowWhenOutOfRange2DGet() { var grid = CustomKeypadEffect.Create(); // ReSharper disable once NotAccessedVariable Color dummy; Assert.That( () => dummy = grid[-1, 0], Throws.InstanceOf <ArgumentOutOfRangeException>() .With.Property("ParamName") .EqualTo("row") .And.Property("ActualValue") .EqualTo(-1)); Assert.That( () => dummy = grid[KeypadConstants.MaxRows, 0], Throws.InstanceOf <ArgumentOutOfRangeException>() .With.Property("ParamName") .EqualTo("row") .And.Property("ActualValue") .EqualTo(KeypadConstants.MaxRows)); Assert.That( () => dummy = grid[0, -1], Throws.InstanceOf <ArgumentOutOfRangeException>() .With.Property("ParamName") .EqualTo("column") .And.Property("ActualValue") .EqualTo(-1)); Assert.That( () => dummy = grid[0, KeypadConstants.MaxColumns], Throws.InstanceOf <ArgumentOutOfRangeException>() .With.Property("ParamName") .EqualTo("column") .And.Property("ActualValue") .EqualTo(KeypadConstants.MaxColumns)); }
public void ShouldSetProperColorsWith2DCtor() { var arr = new Color[KeypadConstants.MaxRows][]; for (var row = 0; row < KeypadConstants.MaxRows; row++) { arr[row] = new Color[KeypadConstants.MaxColumns]; } // Set some arbitrary colors to test arr[0][4] = Color.Purple; arr[2][3] = Color.Pink; arr[3][0] = Color.Blue; var grid = new CustomKeypadEffect(arr); for (var row = 0; row < KeypadConstants.MaxRows; row++) { for (var col = 0; col < KeypadConstants.MaxColumns; col++) { Assert.That(grid[row, col], Is.EqualTo(arr[row][col])); } } }
public void ShouldGetWithIndexIndexer() { var grid = new CustomKeypadEffect(Color.Red); Assert.AreEqual(Color.Red, grid[3]); }
/// <inheritdoc /> /// <summary> /// Initializes a new instance of the <see cref="KeypadImplementation" /> class. /// </summary> public KeypadImplementation(IChromaApi api) : base(api) { Log.Debug("Keypad is initializing"); _custom = CustomKeypadEffect.Create(); }
public void ShouldHaveZeroHashCodeOnDefaultInstance() { var effect = new CustomKeypadEffect(); Assert.Zero(effect.GetHashCode()); }