public void ShouldSetBlackColorsWithCreate() { var effect = CustomMousepadEffect.Create(); for (var i = 0; i < MousepadConstants.MaxLeds; i++) Assert.That(effect[i], Is.EqualTo(Color.Black)); }
public void ShouldSetAllColorsWithColorConstructor() { var effect = new CustomMousepadEffect(Color.Red); for (var i = 0; i < MousepadConstants.MaxLeds; i++) Assert.That(effect[i], Is.EqualTo(Color.Red)); }
public void ShouldSetCorrectColor() { var effect = CustomMousepadEffect.Create(); effect[5] = Color.Blue; Assert.That(effect[5], Is.EqualTo(Color.Blue)); }
public void ClonedStructShouldBeIdentical() { var original = new CustomMousepadEffect(Color.Red); var clone = original.Clone(); Assert.That(clone, Is.EqualTo(original)); }
public void ShouldHaveCorrectColorsProperty() { var colors = new Color[MousepadConstants.MaxLeds]; colors[0] = Color.Green; var effect = new CustomMousepadEffect(colors.ToList()); Assert.AreEqual(colors, effect.Colors); }
public void ShouldGetCorrectColor() { var colors = new Color[MousepadConstants.MaxLeds]; colors[5] = Color.Red; var effect = new CustomMousepadEffect(colors); Assert.That(effect[5], Is.EqualTo(colors[5])); }
public void ShouldResetToBlackWithClear() { var effect = CustomMousepadEffect.Create(); effect.Set(Color.Red); effect.Clear(); for (var i = 0; i < MousepadConstants.MaxLeds; i++) Assert.That(effect[i], Is.EqualTo(Color.Black)); }
public static CustomMousepadEffect Max(this CustomMousepadEffect mousepad, Color c) { for (var i = 0; i < MousepadConstants.MaxLeds; i++) { mousepad[i] = mousepad[i].Max(c); } return(mousepad); }
public void ClonedStructShouldBeIndependent() { var original = new CustomMousepadEffect(Color.Red); var clone = original.Clone(); clone.Set(Color.Blue); Assert.That(clone, Is.Not.EqualTo(original)); }
public static CustomMousepadEffect Combine(this CustomMousepadEffect mousepad, Color c, double cPct = 0.5) { for (var i = 0; i < MousepadConstants.MaxLeds; i++) { mousepad[i] = mousepad[i].Combine(c, cPct); } return(mousepad); }
public void ShouldEqualIdenticalEffect() { var a = new CustomMousepadEffect(Color.Red); var b = new CustomMousepadEffect(Color.Red); Assert.True(a == b); Assert.False(a != b); Assert.True(a.Equals(b)); Assert.AreEqual(a, b); }
public void ShouldNotEqualDifferentEffect() { var a = new CustomMousepadEffect(Color.Red); var b = new CustomMousepadEffect(Color.Blue); Assert.False(a == b); Assert.True(a != b); Assert.False(a.Equals(b)); Assert.AreNotEqual(a, b); }
public void ShouldNotEqualArbitraryObject() { var effect = CustomMousepadEffect.Create(); var obj = new object(); Assert.False(effect == obj); Assert.True(effect != obj); Assert.False(effect.Equals(obj)); Assert.AreNotEqual(effect, obj); }
public void ShouldNotEqualArrayWithInvalidLength() { var effect = new CustomMousepadEffect(Color.Red); var array = new[] { Color.Red, Color.Red, Color.Red }; Assert.False(effect == array); Assert.True(effect != array); Assert.False(effect.Equals(array)); Assert.AreNotEqual(effect, array); }
public void ShouldThrowOnInvalidListCount() { var colors = new Color[1]; // ReSharper disable once NotAccessedVariable CustomMousepadEffect dummy; Assert.That( () => dummy = new CustomMousepadEffect(colors), Throws.InstanceOf<ArgumentException>().With.Property("ParamName").EqualTo("colors")); }
public void ShouldSetCorrectColorsFromList() { var colors = new Color[MousepadConstants.MaxLeds]; colors[0] = Color.Red; colors[1] = Color.Blue; colors[2] = Color.Green; var effect = new CustomMousepadEffect(colors); for (var i = 0; i < MousepadConstants.MaxLeds; i++) Assert.That(effect[i], Is.EqualTo(colors[i])); }
public void ShouldNotEqualDifferentArray() { var effect = new CustomMousepadEffect(Color.Red); var array = new Color[MousepadConstants.MaxLeds]; for (var i = 0; i < MousepadConstants.MaxLeds; i++) array[i] = Color.Blue; Assert.False(effect == array); Assert.True(effect != array); Assert.False(effect.Equals(array)); Assert.AreNotEqual(effect, array); }
public async Task ApplyAsync(IVirtualLedGrid virtualGrid, CancellationToken cancellationToken = default) { var keyboardGrid = CustomKeyboardEffect.Create(); var mouseGrid = CustomMouseEffect.Create(); var mousepadGrid = CustomMousepadEffect.Create(); var headsetGrid = CustomHeadsetEffect.Create(); var chromaLinkGrid = CustomChromaLinkEffect.Create(); foreach (var k in virtualGrid) { switch (k.Type) { case KeyType.Invalid: break; case KeyType.Keyboard: var kbVal = (Key)Enum.Parse(typeof(Key), k.FriendlyName); keyboardGrid[kbVal] = ToColoreColor(k.Color); break; case KeyType.Mouse: var mouseVal = (GridLed)Enum.Parse(typeof(GridLed), k.FriendlyName); mouseGrid[mouseVal] = ToColoreColor(k.Color); break; case KeyType.Mousepad: mousepadGrid[k.KeyCode] = ToColoreColor(k.Color); break; case KeyType.Headset: headsetGrid[k.KeyCode] = ToColoreColor(k.Color); break; case KeyType.ChromaLink: chromaLinkGrid[k.KeyCode] = ToColoreColor(k.Color); break; } } await this._chromaInterface.Keyboard.SetCustomAsync(keyboardGrid); await this._chromaInterface.Mouse.SetGridAsync(mouseGrid); await this._chromaInterface.Mousepad.SetCustomAsync(mousepadGrid); await this._chromaInterface.Headset.SetCustomAsync(headsetGrid); await this._chromaInterface.ChromaLink.SetCustomAsync(chromaLinkGrid); }
private void Render(CustomMousepadEffect mousepad, Color c) { if (_angle > 180) { return; } var ia = _angle % MousepadConstants.MaxLeds; var ib = (ia + 1) % MousepadConstants.MaxLeds; var ic = (ia + 2) % MousepadConstants.MaxLeds; var cf = c.Transform(0.25); mousepad[ia] = mousepad[ia].Max(cf); mousepad[ib] = mousepad[ib].Max(c); mousepad[ic] = mousepad[ic].Max(cf); }
public override Task ApplyAsync(IVirtualLedGrid virtualGrid, CancellationToken cancellationToken = default) { if (!this.Initialized) { return(Task.CompletedTask); } var mousepadGrid = CustomMousepadEffect.Create(); var keyIdx = 0; foreach (var key in virtualGrid.Reverse()) { mousepadGrid[keyIdx++] = ToColoreColor(key.Color); } return(this.ChromaInterface !.Mousepad.SetCustomAsync(mousepadGrid)); }
public void ShouldThrowWhenOutOfRangeSet() { var custom = CustomMousepadEffect.Create(); Assert.That( () => custom[-1] = Color.Red, Throws.InstanceOf<ArgumentOutOfRangeException>() .With.Property("ParamName") .EqualTo("led") .And.Property("ActualValue") .EqualTo(-1)); Assert.That( () => custom[MousepadConstants.MaxLeds] = Color.Red, Throws.InstanceOf<ArgumentOutOfRangeException>() .With.Property("ParamName") .EqualTo("led") .And.Property("ActualValue") .EqualTo(MousepadConstants.MaxLeds)); }
public void ShouldThrowWhenOutOfRangeGet() { var custom = CustomMousepadEffect.Create(); // ReSharper disable once NotAccessedVariable Color dummy; Assert.That( () => dummy = custom[-1], Throws.InstanceOf<ArgumentOutOfRangeException>() .With.Property("ParamName") .EqualTo("led") .And.Property("ActualValue") .EqualTo(-1)); Assert.That( () => dummy = custom[MousepadConstants.MaxLeds], Throws.InstanceOf<ArgumentOutOfRangeException>() .With.Property("ParamName") .EqualTo("led") .And.Property("ActualValue") .EqualTo(MousepadConstants.MaxLeds)); }
/// <inheritdoc /> /// <summary> /// Initializes a new instance of the <see cref="MousepadImplementation" /> class. /// </summary> public MousepadImplementation(IChromaApi api) : base(api) { Log.Debug("Mousepad is initializing."); _custom = CustomMousepadEffect.Create(); }
public void ShouldHaveZeroHashCodeOnDefaultInstance() { var effect = new CustomMousepadEffect(); Assert.Zero(effect.GetHashCode()); }