public void word_creation_continues_while_one_of_the_hands_retains_a_grab() { CreateKnobs("a", "b", "c"); strategy = NewGesturesStrategy(); strategy.OnHandUpdate(rightHand.At(Knob("c", 0).Position()).Open()); strategy.OnHandUpdate(leftHand.Open()); strategy.OnHandUpdate(rightHand.Closed()); strategy.OnHandUpdate(leftHand.At(Knob("a", 1).Position()).Open()); strategy.OnHandUpdate(rightHand.Closed()); strategy.OnHandUpdate(leftHand.Closed()); strategy.OnHandUpdate(rightHand.Open().At(Knob("b", 2).Position())); strategy.OnHandUpdate(leftHand.Closed()); strategy.OnHandUpdate(rightHand.Closed()); strategy.OnHandUpdate(leftHand.Open()); Assert.AreEqual(0, strategy.Words().Count); Assert.AreEqual("cab", strategy.Text()); strategy.OnHandUpdate(rightHand.Open()); Assert.AreEqual("cab", strategy.Words()[0]); Assert.AreEqual("", strategy.Text()); }
public void grabbing_and_releasing_single_letter_generates_one_char_word_and_resets_layers() { CreateKnobs("a"); strategy = NewGesturesStrategy(); strategy.OnHandUpdate(rightHand.At(Knob("a").Position()).Open()); strategy.OnHandUpdate(rightHand.Closed()); strategy.OnHandUpdate(rightHand.Open()); Assert.AreEqual(1, strategy.Words().Count); Assert.AreEqual("a", strategy.Words()[0]); Assert.AreEqual("", strategy.Text()); Assert.AreEqual(1, arranger.layers); }