public void LoadExercise(int id) { for (int i = 0; i < viewport.transform.childCount; i++) { viewport.transform.GetChild(i).gameObject.SetActive(false); } if (fromInternet) { WWWForm postData = new WWWForm(); postData.AddField("id", id); loadExerciseRequest = UnityWebRequest.Post("http://public.hochschule-trier.de/~simonj/suremath/load.php", postData); loadExerciseRequest.Send(); } else { ExerciseBrowserPanel exerciseBrowserListItemController = viewport.transform.GetChild(id).GetComponent <ExerciseBrowserPanel>(); Text titleText = exerciseBrowserListItemController.titleTextGameObject.GetComponent <Text>(); string content = "<exercise>"; content += File.ReadAllText(Application.persistentDataPath + "/" + titleText.text); content += "</exercise>"; ExerciseParser.ParseExercise(content, exerciseTitleText, exercisePanelContainer, shapePanelContainer); Destroy(gameObject); } }
public void RefreshList(bool fromInternet) { //internetTab.gameObject.SetActive(true); for (int i = 0; i < viewport.transform.childCount; i++) { Destroy(viewport.transform.GetChild(i).gameObject); } if (fromInternet) { refreshListRequest = UnityWebRequest.Get("http://public.hochschule-trier.de/~simonj/suremath/list.php"); refreshListRequest.Send(); } else { DirectoryInfo directoryInfo = new DirectoryInfo(Application.persistentDataPath); FileInfo[] fileInfo = directoryInfo.GetFiles("*.xml", SearchOption.TopDirectoryOnly); string list = "<exercises>"; int id = 0; foreach (FileInfo file in fileInfo) { list += "<exercise id = '" + id + "' title = '" + file.Name + "' author = '' faculty = ''/>"; id++; } list += "</exercises>"; ExerciseParser.ParseList(list, exerciseBrowserListItemPrefab, viewport, this); } this.fromInternet = fromInternet; }
public void cannot_parse_invalid_input(string input) { var result = ExerciseParser .GetParser( new AudioServiceMock(MockBehavior.Loose), new DelayServiceMock(MockBehavior.Loose), new SpeechServiceMock(MockBehavior.Loose))(new Input(input)); Assert.False(result.WasSuccessful && result.Remainder.AtEnd); }
public void can_parse_name(string input, string expectedName) { var result = ExerciseParser .GetParser( new AudioServiceMock(MockBehavior.Loose), new DelayServiceMock(MockBehavior.Loose), new SpeechServiceMock(MockBehavior.Loose)) .Parse(input); Assert.NotNull(result); Assert.Equal(expectedName, result.Name); }
public void can_parse_matchers_with_actions(string input, Type[] expectedMatcherTypes) { var result = ExerciseParser .GetParser( new AudioServiceMock(MockBehavior.Loose), new DelayServiceMock(MockBehavior.Loose), new SpeechServiceMock(MockBehavior.Loose)) .Parse(input); Assert.NotNull(result); Assert.True(result.MatchersWithActions.Select(x => x.Matcher.GetType()).SequenceEqual(expectedMatcherTypes)); }
public void can_parse_set_and_repetition_counts(string input, int expectedSetCount, int expectedRepetitionCount) { var result = ExerciseParser .GetParser( new AudioServiceMock(MockBehavior.Loose), new DelayServiceMock(MockBehavior.Loose), new SpeechServiceMock(MockBehavior.Loose)) .Parse(input); Assert.NotNull(result); Assert.Equal(expectedSetCount, result.SetCount); Assert.Equal(expectedRepetitionCount, result.RepetitionCount); }
public void get_parser_throws_if_speech_service_is_null() { Assert.Throws <ArgumentNullException>(() => ExerciseParser.GetParser(new AudioServiceMock(), new DelayServiceMock(), new LoggerServiceMock(), null)); }
public GeneratorRunner(Options options) { _options = options; _exerciseParser = new Lazy <ExerciseParser>(() => ExerciseParser.Create(options)); _exerciseGeneratorTypes = FindExerciseGeneratorTypes(); }
void HandleLoadExerciseResponse() { ExerciseParser.ParseExercise(loadExerciseRequest.downloadHandler.text, exerciseTitleText, exercisePanelContainer, shapePanelContainer); Destroy(gameObject); loadExerciseRequest = null; }
void HandleRefreshListResponse() { ExerciseParser.ParseList(refreshListRequest.downloadHandler.text, exerciseBrowserListItemPrefab, viewport, this); refreshListRequest = null; }
void Awake() { instance = this; }