Пример #1
0
        public MainViewModel()
        {
            this.Compose();
            TextStreamModel textStreamModel = new TextStreamModel();

            this.KeyboardViewModel          = new KeyboardViewModel(textStreamModel);
            this.TextStreamViewModel        = new TextStreamViewModel(textStreamModel);
            this.TypingStatsViewModel       = new TypingStatsViewModel();
            this.TextStreamManagerViewModel = new TextStreamManagerViewModel();
            textStreamModel.TextExpected   += new EventHandler <TextEventArgs>(this.TypingStatsViewModel.OnTextExpected);

            ITextProvider defaultProvider = null;

            foreach (ITextProvider provider in this.TextProviders)
            {
                TextStreamProviderViewModel providerViewmodel = new TextStreamProviderViewModel(provider);
                this.TextStreamManagerViewModel.TextStreamProviders.Add(providerViewmodel);
                if (provider is SimpleTextProvider)
                {
                    defaultProvider = provider;
                }
            }
            this.TextStreamManagerViewModel.CurrentTextStreamProvider = this.TextStreamManagerViewModel.TextStreamProviders.First();

            defaultProvider.Refresh();
            ITextSource defaultTextSource = defaultProvider.Sources.First();

            if (defaultTextSource != null)
            {
                this.TextStreamViewModel.Text = defaultTextSource.Text;
            }
        }
Пример #2
0
        public void TextStreamViewModelConstructorTest()
        {
            var textStream        = new TextStreamModel();
            var keyboardViewModel = new KeyboardViewModel(textStream);
            var target            = new TextStreamViewModel(textStream);

            Assert.AreNotEqual(null, target);
        }
Пример #3
0
        public void KeyboardViewModelConstructorTest()
        {
            var textStream = new TextStreamModel();
            var target     = new KeyboardViewModel(textStream);

            Assert.AreNotEqual(null, target.KeyboardRows);
            Assert.AreEqual(target.KeyboardRows.Count, 5);
        }
Пример #4
0
        public void BuildKeyMapTest()
        {
            var textStream = new TextStreamModel();
            var target     = new KeyboardViewModel_Accessor(textStream);

            target.BuildKeyMap();
            Assert.AreNotEqual(null, target.charMap);
            Assert.AreNotEqual(null, target.keyMap);

            IList <Key> testPercent = target.charMap["%"];

            Assert.AreEqual(2, testPercent.Count);
            Assert.AreEqual(testPercent[0], Key.RightShift);
            Assert.AreEqual(testPercent[1], Key.D5);

            IList <Key> testHat = target.charMap["^"];

            Assert.AreEqual(2, testHat.Count);
            Assert.AreEqual(Key.LeftShift, testHat[0]);
            Assert.AreEqual(Key.D6, testHat[1]);

            IList <Key> testT = target.charMap["T"];

            Assert.AreEqual(2, testT.Count);
            Assert.AreEqual(Key.RightShift, testT[0]);
            Assert.AreEqual(Key.T, testT[1]);

            IList <Key> testY = target.charMap["Y"];

            Assert.AreEqual(2, testY.Count);
            Assert.AreEqual(Key.LeftShift, testY[0]);
            Assert.AreEqual(Key.Y, testY[1]);

            IList <Key> testG = target.charMap["G"];

            Assert.AreEqual(2, testG.Count);
            Assert.AreEqual(Key.RightShift, testG[0]);
            Assert.AreEqual(Key.G, testG[1]);

            IList <Key> testH = target.charMap["H"];

            Assert.AreEqual(2, testH.Count);
            Assert.AreEqual(Key.LeftShift, testH[0]);
            Assert.AreEqual(Key.H, testH[1]);

            IList <Key> testB = target.charMap["B"];

            Assert.AreEqual(2, testB.Count);
            Assert.AreEqual(Key.RightShift, testB[0]);
            Assert.AreEqual(Key.B, testB[1]);

            IList <Key> testN = target.charMap["N"];

            Assert.AreEqual(2, testN.Count);
            Assert.AreEqual(Key.LeftShift, testN[0]);
            Assert.AreEqual(Key.N, testN[1]);
        }
Пример #5
0
 public void UpdateTextTest()
 {
     var textStream        = new TextStreamModel();
     var keyboardViewModel = new KeyboardViewModel(textStream);
     var target            = new TextStreamViewModel(textStream);
     //Uri source = null; // TODO: Initialize to an appropriate value
     //target.UpdateText(source);
     //Assert.Inconclusive("A method that does not return a value cannot be verified.");
 }
Пример #6
0
        public TextStreamViewModel(TextStreamModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException("model", Resources.TextStreamViewModel_TextStreamViewModel_This_viewmodel_must_be_initialed_with_a_model);
            }

            this.model          = model;
            model.TextExpected += this.model_TextExpected;
        }
Пример #7
0
        public void KeyboardRowsTest()
        {
            var textStream = new TextStreamModel();
            var target     = new KeyboardViewModel_Accessor(textStream);
            var expected   = target.KeyboardRows;

            target.KeyboardRows = expected;
            var actual = target.KeyboardRows;

            Assert.AreEqual(expected, actual);
        }
Пример #8
0
        public void TextTest()
        {
            var          textStream        = new TextStreamModel();
            var          keyboardViewModel = new KeyboardViewModel(textStream);
            var          target            = new TextStreamViewModel(textStream);
            const string expected          = "ABC";

            target.Text = expected;
            string actual = target.Text;

            Assert.AreEqual(expected, actual);
        }
Пример #9
0
        public void CharacterIndexTest()
        {
            var       textStream        = new TextStreamModel();
            var       keyboardViewModel = new KeyboardViewModel(textStream);
            var       target            = new TextStreamViewModel(textStream);
            const int expected          = 6;

            target.CharacterIndex = expected;
            int actual = target.CharacterIndex;

            Assert.AreEqual(expected, actual);
        }
Пример #10
0
        public KeyboardViewModel(TextStreamModel textStream)
        {
            if (textStream == null)
            {
                throw new ArgumentNullException("textStream", Resources.KeyboardViewModel_KeyboardViewModel_This_Viewmodel_must_be_initialized_with_a_TextStreamModel);
            }

            this.textStream = textStream;
            this.textStream.TextExpected += new EventHandler <TextEventArgs>(textStream_TextExpected);
            LoadKeyboard();
            BuildKeyMap();
        }
Пример #11
0
        public void ProcessInputTest()
        {
            var textStream        = new TextStreamModel();
            var keyboardViewModel = new KeyboardViewModel(textStream);
            var target            = new TextStreamViewModel(textStream)
            {
                Text = "BEIRUT"
            };
            const string inputText = "B";

            target.ProcessInput(inputText);
            Assert.AreEqual(1, target.CharacterIndex);
        }
Пример #12
0
        public void LoadKeyboardTest()
        {
            var textStream = new TextStreamModel();
            var target     = new KeyboardViewModel_Accessor(textStream);

            target.LoadKeyboard();
            int rowcount = target.KeyboardRows.Count;

            Assert.AreEqual(5, rowcount);
            Assert.AreEqual(14, target.KeyboardRows[0].Keys.Count);
            Assert.AreEqual(14, target.KeyboardRows[1].Keys.Count);
            Assert.AreEqual(13, target.KeyboardRows[2].Keys.Count);
            Assert.AreEqual(12, target.KeyboardRows[3].Keys.Count);
            Assert.AreEqual(5, target.KeyboardRows[4].Keys.Count);
        }
Пример #13
0
 public TextStreamViewModel()
 {
     this.model = new TextStreamModel();
     this.model.TextExpected += this.model_TextExpected;
 }