public void corrigeren(Taaltest taalTestUitslag) { //#AS:2013/06/23: merges answers with template test and corrects it. var testUitslaagAntwoorden = from tttf in this.vragen join ttuf in taalTestUitslag.vragen on tttf.ID equals ttuf.ID select( from to1 in tttf.antwoorden join to2 in ttuf.antwoorden on to1.ID equals to2.ID select new { ID = tttf.ID, data = new TestOnderdeel { ID = to2.ID, tekst = to2.tekst, antwoord = to2.antwoord } } ).ToList(); var testUitslaagTestOnderdeelList = testUitslaagAntwoorden.SelectMany(i => i); this.vragen.ForEach(v => v.antwoorden.ForEach( a => a.antwoord = testUitslaagTestOnderdeelList.Where( testOnderdeelWrapper => (testOnderdeelWrapper.ID == v.ID) ). Where( testOnderdeel => (testOnderdeel.data.ID == a.ID) ).First().data.antwoord) ); this.corrigeren(); }
public void corrigeren(Taaltest taalTestUitslag) { //#AS:2013/06/23: merges answers with template test and corrects it. var testUitslaagAntwoorden = from tttf in this.vragen join ttuf in taalTestUitslag.vragen on tttf.ID equals ttuf.ID select ( from to1 in tttf.antwoorden join to2 in ttuf.antwoorden on to1.ID equals to2.ID select new { ID = tttf.ID, data = new TestOnderdeel { ID = to2.ID, tekst = to2.tekst, antwoord = to2.antwoord } } ).ToList(); var testUitslaagTestOnderdeelList = testUitslaagAntwoorden.SelectMany(i => i); this.vragen.ForEach(v => v.antwoorden.ForEach( a => a.antwoord = testUitslaagTestOnderdeelList.Where( testOnderdeelWrapper => (testOnderdeelWrapper.ID == v.ID) ). Where( testOnderdeel => (testOnderdeel.data.ID == a.ID) ).First().data.antwoord) ); this.corrigeren(); }
public void wrongAnswersAreDetected() { Taaltest t = new Taaltest(); TestDeel td = new TestDeel(); td.add("Tekst", "Fout", false); td.add("Tekst", "A1", true); t.vragen.Add(td); t.corrigeren(); IList<TestDeel> fouten = t.fouten; //Has.Exactly(1).Member(t) Assert.AreEqual(1, fouten.AsEnumerable().Count()); }
public void canCreateNewTest() { //arrange var test = new Taaltest(); var eersteTestDeel = new TestDeel(); eersteTestDeel.add("eerste vraag", "eerste antwoord", true); var tweedeTestDeel = new TestDeel(); tweedeTestDeel.add("tweede vraag", "tweede antowoord", true); test.vragen.Add(eersteTestDeel); test.vragen.Add(tweedeTestDeel); //act //assert Assert.AreEqual(2, test.vragen.Count); }