예제 #1
0
        private void CheckAlernateCF(CharFormatting cf1, CharFormatting cf2, Config c)
        {
            SylConfig syc = c.sylConf;

            syc.ResetCounter();
            for (int i = 0; i < 10; i++)
            {
                CharFormatting cfFirst = syc.NextCF();
                Assert.AreEqual(cf1, cfFirst);
                CharFormatting cfSecond = syc.NextCF();
                Assert.AreEqual(cf2, cfSecond);
            }

            syc.ResetCounter();
            TestTheText ttt = new TestTheText(text1);

            ttt.MarkWords(c);
            int index = ttt.S.IndexOf("Monsieur");

            ttt.AssertCF(index, 8, cf1);
            index = ttt.S.IndexOf("Poiret");
            ttt.AssertCF(index, 6, cf2);
            index = ttt.S.IndexOf("était");
            ttt.AssertCF(index, 5, cf1);
            index = ttt.S.IndexOf("espèce");
            ttt.AssertCF(index, 6, cf1);
            index = ttt.S.IndexOf("couverte"); // pos 28
            ttt.AssertCF(index, 8, cf2);
        }
예제 #2
0
        public void TestMethod3()
        {
            PBDQConfig pC = conf.pBDQ;

            CheckConsistency(pC);
            Assert.IsTrue(pC.UpdateLetter(0, 'M', TestTheText.fixCFs[0]));
            Assert.IsTrue(pC.UpdateLetter(1, 'P', TestTheText.fixCFs[1]));
            Assert.IsTrue(pC.UpdateLetter(2, 'e', TestTheText.fixCFs[2]));
            Assert.IsTrue(pC.UpdateLetter(3, 'h', TestTheText.fixCFs[3]));
            CheckConsistency(pC);

            TestTheText ttt = new TestTheText(text1);

            ttt.MarkLetters(conf);
            int index = ttt.S.IndexOf("Monsieur");

            ttt.AssertCF(index, TestTheText.fixCFs[0]);
            ttt.AssertCF(index + 5, TestTheText.fixCFs[2]);
            index = ttt.S.IndexOf("Poiret");
            ttt.AssertCF(index, TestTheText.fixCFs[1]);
            index = ttt.S.IndexOf("cachait");
            ttt.AssertCF(index + 3, TestTheText.fixCFs[3]);

            string Ms = ttt.GetCharsInCol(TestTheText.fixCols[0]);

            Assert.IsTrue(Ms.Length > 0);
            foreach (char c in Ms)
            {
                Assert.AreEqual('M', c);
            }

            string Ps = ttt.GetCharsInCol(TestTheText.fixCols[1]);

            Assert.IsTrue(Ps.Length > 0);
            foreach (char c in Ps)
            {
                Assert.AreEqual('P', c);
            }

            string es = ttt.GetCharsInCol(TestTheText.fixCols[2]);

            Assert.IsTrue(es.Length > 0);
            foreach (char c in es)
            {
                Assert.AreEqual('e', c);
            }

            string hs = ttt.GetCharsInCol(TestTheText.fixCols[3]);

            Assert.IsTrue(hs.Length > 0);
            foreach (char c in hs)
            {
                Assert.AreEqual('h', c);
            }
        }
예제 #3
0
        private void CheckAlernateCF(CharFormatting cf1, Config c)
        {
            SylConfig syc = c.sylConf;

            syc.ResetCounter();
            for (int i = 0; i < 10; i++)
            {
                CharFormatting cf = syc.NextCF();
                Assert.AreEqual(cf1, cf);
            }

            TestTheText ttt = new TestTheText(text1);

            ttt.MarkWords(c);
            int index = ttt.S.IndexOf("Poiret");

            ttt.AssertCF(index, 6, cf1);
            index = ttt.S.IndexOf("était");
            ttt.AssertCF(index, 5, cf1);
            index = ttt.S.IndexOf("espèce");
            ttt.AssertCF(index, 6, cf1);
        }
예제 #4
0
        public void TestChiffres()
        {
            TestTheText ttt = new TestTheText(txt47);
            ColConfWin  ccw = conf.colors[PhonConfType.phonemes];
            Dictionary <string, CharFormatting> son2CF = SetTestConfig(ccw);

            ttt.ColorizePhons(conf, PhonConfType.phonemes);
            int index = ttt.S.IndexOf("1867");

            ttt.AssertCF(index, son2CF["mil"]);
            ttt.AssertCF(index + 1, son2CF["cen"]);
            ttt.AssertCF(index + 2, son2CF["diz"]);
            ttt.AssertCF(index + 3, son2CF["uni"]);

            index = ttt.S.IndexOf("Rênal");
            ttt.AssertCF(index + 5, son2CF["uni"]);

            index = ttt.S.IndexOf("reme35rciant");
            ttt.AssertCF(index + 4, son2CF["diz"]);
            ttt.AssertCF(index + 5, son2CF["uni"]);

            index = ttt.S.IndexOf("23femme");
            ttt.AssertCF(index, son2CF["diz"]);
            ttt.AssertCF(index + 1, son2CF["uni"]);

            index = ttt.S.IndexOf("p45ar");
            ttt.AssertCF(index + 1, son2CF["diz"]);

            index = ttt.S.IndexOf("déc0123456789idé");
            ttt.AssertCF(index + 3, 6, son2CF["47"]);
            ttt.AssertCF(index + 9, son2CF["mil"]);
            ttt.AssertCF(index + 10, son2CF["cen"]);
            ttt.AssertCF(index + 11, son2CF["diz"]);
            ttt.AssertCF(index + 12, son2CF["uni"]);
        }
예제 #5
0
        public void TestMiseEnCouleur()
        {
            ColConfWin ccw = conf.colors[PhonConfType.phonemes];
            Dictionary <string, CharFormatting> son2CF = SetTestConfig(ccw);
            TestTheText ttt = new TestTheText(text1);

            ttt.ColorizePhons(conf, PhonConfType.phonemes);
            int index = ttt.S.IndexOf("Monsieur");

            ttt.AssertCF(index, 1, son2CF["m"]);
            ttt.AssertCF(index + 1, 2, son2CF["q"]);
            ttt.AssertCF(index + 3, 1, son2CF["s"]);
            ttt.AssertCF(index + 4, 1, son2CF["j"]);
            ttt.AssertCF(index + 5, 2, son2CF["2"]);
            ttt.AssertCF(index + 7, 1, son2CF["_muet"]);

            index = ttt.S.IndexOf("imparfaitement");
            ttt.AssertCF(index, 2, son2CF["5"]);
            ttt.AssertCF(index + 2, 1, son2CF["p"]);
            ttt.AssertCF(index + 3, 1, son2CF["a"]);
            ttt.AssertCF(index + 4, 1, son2CF["r"]);
            ttt.AssertCF(index + 5, 1, son2CF["f"]);
            ttt.AssertCF(index + 6, 2, son2CF["è"]);
            ttt.AssertCF(index + 8, 1, son2CF["t"]);
            ttt.AssertCF(index + 9, 1, son2CF["q"]);
            ttt.AssertCF(index + 10, 1, son2CF["m"]);
            ttt.AssertCF(index + 11, 2, son2CF["an"]);
            ttt.AssertCF(index + 13, 1, son2CF["_muet"]);

            Assert.AreEqual(ColConfWin.IllRule.ceras, ccw.IllRuleToUse);
            index = ttt.S.IndexOf("papillonnent");
            ttt.AssertCF(index, 1, son2CF["p"]);
            ttt.AssertCF(index + 1, 1, son2CF["a"]);
            ttt.AssertCF(index + 2, 1, son2CF["p"]);
            ttt.AssertCF(index + 3, 3, son2CF["ill"]);
            ttt.AssertCF(index + 6, 1, son2CF["o"]);
            ttt.AssertCF(index + 7, 2, son2CF["n"]);
            ttt.AssertCF(index + 9, 1, son2CF["q_caduc"]);
            ttt.AssertCF(index + 10, 2, son2CF["_muet"]);

            index = ttt.S.IndexOf("couverte");
            ttt.AssertCF(index, 1, son2CF["k"]);
            ttt.AssertCF(index + 1, 2, son2CF["u"]);
            ttt.AssertCF(index + 3, 1, son2CF["v"]);
            ttt.AssertCF(index + 4, 1, son2CF["è"]);
            ttt.AssertCF(index + 5, 1, son2CF["r"]);
            ttt.AssertCF(index + 6, 1, son2CF["t"]);
            ttt.AssertCF(index + 7, 1, son2CF["q_caduc"]);

            index = ttt.S.IndexOf("ombre");
            ttt.AssertCF(index, 2, son2CF["on"]);
            ttt.AssertCF(index + 2, 1, son2CF["b"]);
            ttt.AssertCF(index + 3, 1, son2CF["r"]);
            ttt.AssertCF(index + 4, 1, son2CF["q_caduc"]);

            index = ttt.S.IndexOf("mécanique");
            ttt.AssertCF(index, 1, son2CF["m"]);
            ttt.AssertCF(index + 1, 1, son2CF["é"]);
            ttt.AssertCF(index + 2, 1, son2CF["k"]);
            ttt.AssertCF(index + 3, 1, son2CF["a"]);
            ttt.AssertCF(index + 4, 1, son2CF["n"]);
            ttt.AssertCF(index + 5, 1, son2CF["i"]);
            ttt.AssertCF(index + 6, 2, son2CF["k"]);
            ttt.AssertCF(index + 8, 1, son2CF["q_caduc"]);

            index = ttt.S.IndexOf("culotte");
            ttt.AssertCF(index, 1, son2CF["k"]);
            ttt.AssertCF(index + 1, 1, son2CF["y"]);
            ttt.AssertCF(index + 2, 1, son2CF["l"]);
            ttt.AssertCF(index + 3, 1, son2CF["o"]);
            ttt.AssertCF(index + 4, 2, son2CF["t"]);
            ttt.AssertCF(index + 6, 1, son2CF["q_caduc"]);

            index = ttt.S.IndexOf("Poiret");
            ttt.AssertCF(index, 1, son2CF["p"]);
            ttt.AssertCF(index + 1, 2, son2CF["oi"]);
            ttt.AssertCF(index + 3, 1, son2CF["r"]);
            ttt.AssertCF(index + 4, 2, son2CF["è"]);

            TestTheText ttt2 = new TestTheText("pria");

            ttt2.ColorizePhons(conf, PhonConfType.phonemes);
            ttt2.AssertCF(0, 1, son2CF["p"]);
            ttt2.AssertCF(1, 1, son2CF["r"]);
            ttt2.AssertCF(2, 1, son2CF["ij"]);
            ttt2.AssertCF(3, 1, son2CF["a"]);

            index = ttt.S.IndexOf(@"celles d’un");
            ttt.AssertCF(index + 9, 2, son2CF["1"]);

            ttt2 = new TestTheText("soin");
            ttt2.ColorizePhons(conf, PhonConfType.phonemes);
            ttt2.AssertCF(0, 1, son2CF["s"]);
            ttt2.AssertCF(1, 3, son2CF["oin"]);

            ttt2 = new TestTheText("parking");
            ttt2.ColorizePhons(conf, PhonConfType.phonemes);
            ttt2.AssertCF(0, 1, son2CF["p"]);
            ttt2.AssertCF(1, 1, son2CF["a"]);
            ttt2.AssertCF(2, 1, son2CF["r"]);
            ttt2.AssertCF(3, 1, son2CF["k"]);
            ttt2.AssertCF(4, 1, son2CF["i"]);
            ttt2.AssertCF(5, 2, son2CF["ng"]);

            index = ttt.S.IndexOf("Jardin");
            ttt.AssertCF(index, 1, son2CF["ge"]);
            ttt.AssertCF(index + 1, 1, son2CF["a"]);
            ttt.AssertCF(index + 2, 1, son2CF["r"]);
            ttt.AssertCF(index + 3, 1, son2CF["d"]);
            ttt.AssertCF(index + 4, 2, son2CF["5"]);

            index = ttt.S.IndexOf("chinoise");
            ttt.AssertCF(index, 2, son2CF["ch"]);
            ttt.AssertCF(index + 2, 1, son2CF["i"]);
            ttt.AssertCF(index + 3, 1, son2CF["n"]);
            ttt.AssertCF(index + 4, 2, son2CF["oi"]);
            ttt.AssertCF(index + 6, 1, son2CF["z"]);
            ttt.AssertCF(index + 7, 1, son2CF["q_caduc"]);

            index = ttt.S.IndexOf("grise");
            ttt.AssertCF(index, 1, son2CF["g"]);
            ttt.AssertCF(index + 1, 1, son2CF["r"]);
            ttt.AssertCF(index + 2, 1, son2CF["i"]);
            ttt.AssertCF(index + 3, 1, son2CF["z"]);
            ttt.AssertCF(index + 4, 1, son2CF["q_caduc"]);

            ttt2 = new TestTheText("ligne");
            ttt2.ColorizePhons(conf, PhonConfType.phonemes);
            ttt2.AssertCF(0, 1, son2CF["l"]);
            ttt2.AssertCF(1, 1, son2CF["i"]);
            ttt2.AssertCF(2, 2, son2CF["gn"]);
            ttt2.AssertCF(4, 1, son2CF["q_caduc"]);

            ttt2 = new TestTheText("rixe");
            ttt2.ColorizePhons(conf, PhonConfType.phonemes);
            ttt2.AssertCF(0, 1, son2CF["r"]);
            ttt2.AssertCF(1, 1, son2CF["i"]);
            ttt2.AssertCF(2, 1, son2CF["ks"]);
            ttt2.AssertCF(3, 1, son2CF["q_caduc"]);

            ttt2 = new TestTheText("examen");
            ttt2.ColorizePhons(conf, PhonConfType.phonemes);
            ttt2.AssertCF(0, 1, son2CF["è"]);
            ttt2.AssertCF(1, 1, son2CF["gz"]);
            ttt2.AssertCF(2, 1, son2CF["a"]);
            ttt2.AssertCF(3, 1, son2CF["m"]);
            ttt2.AssertCF(4, 2, son2CF["5"]);

            ttt2 = new TestTheText("kiwi");
            ttt2.ColorizePhons(conf, PhonConfType.phonemes);
            ttt2.AssertCF(0, 1, son2CF["k"]);
            ttt2.AssertCF(1, 1, son2CF["i"]);
            ttt2.AssertCF(2, 1, son2CF["w"]);
            ttt2.AssertCF(3, 1, son2CF["i"]);

            ccw.IllRuleToUse = ColConfWin.IllRule.lirecouleur;
            ttt.ColorizePhons(conf, PhonConfType.phonemes);
            Assert.AreEqual(ColConfWin.IllRule.lirecouleur, ccw.IllRuleToUse);
            index = ttt.S.IndexOf("papillonnent");
            ttt.AssertCF(index, 1, son2CF["p"]);
            ttt.AssertCF(index + 1, 1, son2CF["a"]);
            ttt.AssertCF(index + 2, 1, son2CF["p"]);
            ttt.AssertCF(index + 3, 1, son2CF["i"]);
            ttt.AssertCF(index + 4, 2, son2CF["j"]);
            ttt.AssertCF(index + 6, 1, son2CF["o"]);
            ttt.AssertCF(index + 7, 2, son2CF["n"]);
            ttt.AssertCF(index + 9, 1, son2CF["q_caduc"]);
            ttt.AssertCF(index + 10, 2, son2CF["_muet"]);
        }
예제 #6
0
        public void TestMethod4()
        {
            // Il faut vérifier que le flag markAsBlack a bien l'effet voulu.
            PBDQConfig  pC  = conf.pBDQ;
            TestTheText ttt = new TestTheText(text1);

            ttt.AssertColor(12, TestTheText.black);

            // Tout marquer avec un seul CF
            SylConfig sC = conf.sylConf;

            for (int i = SylConfig.NrButtons - 1; i >= 0; i--)
            {
                if (sC.ButtonIsLastActive(i))
                {
                    sC.ClearButton(i);
                }
            }
            conf.sylConf.SetSylButtonCF(0, TestTheText.fixCFs[7]);
            ttt.MarkWords(conf);

            ttt.AssertNotColor(12, TestTheText.black);
            ttt.AssertBold(12, true);
            CharFormatting cf12 = ttt.GetCF(12);

            pC.SetMarkAsBlackTo(false);

            Assert.IsTrue(pC.UpdateLetter(0, 'M', TestTheText.fixCFs[0]));
            Assert.IsTrue(pC.UpdateLetter(1, 'P', TestTheText.fixCFs[1]));
            Assert.IsTrue(pC.UpdateLetter(2, 'e', TestTheText.fixCFs[2]));
            Assert.IsTrue(pC.UpdateLetter(3, 'h', TestTheText.fixCFs[3]));
            Assert.IsTrue(pC.UpdateLetter(4, PBDQConfig.inactiveLetter, TestTheText.fixCFs[3]));
            Assert.IsTrue(pC.UpdateLetter(5, PBDQConfig.inactiveLetter, TestTheText.fixCFs[3]));
            Assert.IsTrue(pC.UpdateLetter(6, PBDQConfig.inactiveLetter, TestTheText.fixCFs[3]));
            Assert.IsTrue(pC.UpdateLetter(7, PBDQConfig.inactiveLetter, TestTheText.fixCFs[3]));

            Assert.IsFalse(pC.UpdateLetter(3, 'M', TestTheText.fixCFs[0]));
            Assert.IsFalse(pC.UpdateLetter(4, 'M', TestTheText.fixCFs[0]));
            Assert.IsFalse(pC.UpdateLetter(5, 'P', TestTheText.fixCFs[0]));
            Assert.IsFalse(pC.UpdateLetter(6, 'e', TestTheText.fixCFs[0]));
            Assert.IsFalse(pC.UpdateLetter(7, 'h', TestTheText.fixCFs[0]));
            Assert.IsFalse(pC.UpdateLetter(1, 'M', TestTheText.fixCFs[0]));
            Assert.AreEqual('M', pC.GetLetterForButtonNr(0));
            Assert.AreEqual('P', pC.GetLetterForButtonNr(1));
            Assert.AreEqual('e', pC.GetLetterForButtonNr(2));
            Assert.AreEqual('h', pC.GetLetterForButtonNr(3));
            Assert.AreEqual(PBDQConfig.inactiveLetter, pC.GetLetterForButtonNr(4));
            Assert.AreEqual(PBDQConfig.inactiveLetter, pC.GetLetterForButtonNr(5));
            Assert.AreEqual(PBDQConfig.inactiveLetter, pC.GetLetterForButtonNr(6));
            Assert.AreEqual(PBDQConfig.inactiveLetter, pC.GetLetterForButtonNr(7));

            pC.SetMarkAsBlackTo(false);
            Assert.AreEqual(pC.GetCfForPBDQLetter(
                                PBDQConfig.inactiveLetter), CharFormatting.NeutralCF);
            pC.SetMarkAsBlackTo(true);
            Assert.AreEqual(pC.GetCfForPBDQLetter(
                                PBDQConfig.inactiveLetter), TestTheText.blackCF);

            Assert.IsTrue(pC.UpdateLetter(4, 'x', TestTheText.fixCFs[4]));
            Assert.IsTrue(pC.UpdateLetter(5, 'y', TestTheText.fixCFs[5]));
            Assert.IsTrue(pC.UpdateLetter(6, 'z', TestTheText.fixCFs[6]));
            Assert.IsTrue(pC.UpdateLetter(7, '§', TestTheText.fixCFs[7]));
            CheckConsistency(pC);

            pC.SetMarkAsBlackTo(false);
            ttt.MarkLetters(conf);
            int index = ttt.S.IndexOf("Monsieur");

            ttt.AssertColor(index, TestTheText.fixCols[0]);
            ttt.AssertColor(index + 5, TestTheText.fixCols[2]);
            index = ttt.S.IndexOf("Poiret");
            ttt.AssertColor(index, TestTheText.fixCols[1]);
            index = ttt.S.IndexOf("cachait");
            ttt.AssertColor(index + 3, TestTheText.fixCols[3]);
            ttt.AssertNotColor(12, TestTheText.black);
            ttt.AssertCF(12, cf12);
            ttt.AssertBold(12, true);
            CheckConsistency(pC);

            pC.SetMarkAsBlackTo(true);
            ttt.MarkLetters(conf);
            index = ttt.S.IndexOf("Monsieur");
            ttt.AssertColor(index, TestTheText.fixCols[0]);
            ttt.AssertColor(index + 5, TestTheText.fixCols[2]);
            index = ttt.S.IndexOf("Poiret");
            ttt.AssertColor(index, TestTheText.fixCols[1]);
            index = ttt.S.IndexOf("cachait");
            ttt.AssertColor(index + 3, TestTheText.fixCols[3]);
            ttt.AssertColor(12, TestTheText.black);
            ttt.AssertBold(12, true);

            pC.Reset();
            Assert.IsFalse(pC.markAsBlack);
            Assert.AreEqual(ColConfWinTest.cf5, pC.GetCfForPBDQLetter('p'));
            Assert.AreEqual(ColConfWinTest.cfu, pC.GetCfForPBDQLetter('b'));
            Assert.AreEqual(ColConfWinTest.cfBLEU, pC.GetCfForPBDQLetter('d'));
            Assert.AreEqual(ColConfWinTest.cfON, pC.GetCfForPBDQLetter('q'));
            Assert.AreEqual(PBDQConfig.inactiveLetter, pC.GetLetterForButtonNr(4));
            Assert.AreEqual(PBDQConfig.inactiveLetter, pC.GetLetterForButtonNr(5));
            Assert.AreEqual(PBDQConfig.inactiveLetter, pC.GetLetterForButtonNr(6));
            Assert.AreEqual(PBDQConfig.inactiveLetter, pC.GetLetterForButtonNr(7));
        }