Ejemplo n.º 1
0
 public async Task <IEnumerable <ICategoryDb> > AllDownloadCategoryesAsync()
 {
     if (Categories == null)
     {
         Categories = (await DeserializeJson.GetTopicsAsync()).Select(categoryes => new CategoryDb
         {
             Img    = categoryes.Img,
             Name   = categoryes.Name,
             Topics = categoryes.Topics.Select(topic => new TopicDb
             {
                 Name      = topic.Name,
                 TicketsDb = topic.Tickets.Select(tickets => new TicketDb
                 {
                     Answers = tickets.Answers.Select(ans => new AnswerDb
                     {
                         Ans     = ans.Ans,
                         Correct = ans.Correct
                     }).ToList(),
                     Help     = tickets.Help,
                     Image    = tickets.Image,
                     Question = tickets.Question,
                 }).ToList()
             }).ToList()
         });
     }
     return(Categories);
 }
Ejemplo n.º 2
0
        public void SelectsValidReleasesWithTracks()
        {
            string           fileWithValues  = "data/releases-artist-2pac.json";
            var              values          = TestHelper.GetFileData(fileWithValues);
            var              deserializeJson = new DeserializeJson <ReleaseResults>();
            var              releaseResults  = deserializeJson.Deserialize(values);
            MusicStatService sut             = new MusicStatService();
            MusicInterpretor sut2            = new MusicInterpretor(sut);
            List <Release>   Releases        = new List <Release>();

            for (int i = 0; i < releaseResults.Releases.Count; i++)
            {
                CommandFactory commandFactory = new GetTracksByReleaseIDFactory(releaseResults.Releases[i], sut);
                Command        command        = commandFactory.GetCommand();
                Task           t = command.ExecuteAsync();
                t.ContinueWith(task =>
                {
                    if (task.Status == TaskStatus.RanToCompletion)
                    {
                        GetTracksByReleaseID getTracksByReleaseID = (GetTracksByReleaseID)command;//doesn't filter non-unique tracks
                        Releases.Add(getTracksByReleaseID.Release);
                    }
                    else
                    {
                        Assert.False(true);
                    }
                });
            }
            var totalTracks = Releases.Where(x => (x != null && x.Media != null)).SelectMany(x => x.Media).SelectMany(x => x.Tracks).ToList();

            Assert.Equal(13, Releases.Count);
            Assert.True(totalTracks.Count > 0);//why are we gettin random tracks back?
        }
Ejemplo n.º 3
0
        public static T Get <T>(string endpoint, params object[] args) where T : new()
        {
            T item = new T();

            using (var handler = new WebRequestHandler())
            {
                //Disable certificate validation for test / dev environments
                handler.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;

                using (var client = new HttpClient(handler))
                {
                    var request = client.GetAsync(string.Format("{0}{1}", BASE_URL, endpoint)).ContinueWith((response) =>
                    {
                        var result = response.Result;
                        var json   = result.Content.ReadAsStringAsync();
                        json.Wait();
                        item = DeserializeJson.GetObject <T>(json.Result);
                    }
                                                                                                            );
                    request.Wait();
                }
            }

            return(item);
        }
Ejemplo n.º 4
0
        public void ReadTest_NotFound()
        {
            var fakeStorage    = new FakeIStorage();
            var itemJsonParser = new DeserializeJson(fakeStorage);

            itemJsonParser.Read <FileIndexItemJsonParserTest_TestModel>("/notfound.json");
            // expect error
        }
Ejemplo n.º 5
0
        public void ParsesARelease(string filePath, string expectedTrack5)
        {
            var json    = TestHelper.GetFileData(filePath);
            var sut     = new DeserializeJson <Release>();
            var release = sut.Deserialize(json);

            Assert.Equal(release.Media[0].Tracks[4].Title, expectedTrack5);
        }
Ejemplo n.º 6
0
 public static ValidateError ValidateMessage(string key)
 {
     var json = SerializeJson.LoadJson();
     if (json.ContainsKey(key))
     {
         return DeserializeJson.ToObject<ValidateError>(json[key].ToString());
     }
     return new ValidateError
     {
         Code = "099",
         LongName = "Error General"
     };
 }
Ejemplo n.º 7
0
        public void ParsesArtistResults(string filePath, string ArtistID)
        {
            var json = TestHelper.GetFileData(filePath);

            var sut = new DeserializeJson <ArtistResults>();

            ArtistResults artists = sut.Deserialize(json);

            Assert.Equal(28, artists.Count);
            Assert.Equal(25, artists.Artists.Length);
            Assert.Equal(ArtistID, artists.Artists[1].ID);
            Assert.Equal("92a4d187-168d-4422-8d04-d194bea5da47", artists.Artists[0].ID);
            Assert.Equal("92a4d187-168d-4422-8d04-d194bea5da47", artists.Artists[0].ID);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Read sidecar item
        /// </summary>
        /// <param name="fileIndexItem">data object</param>
        /// <returns>data</returns>
        public FileIndexItem Read(FileIndexItem fileIndexItem)
        {
            var jsonSubPath = JsonSidecarLocation.JsonLocation(fileIndexItem.ParentDirectory, fileIndexItem.FileName);

            // when sidecar file does not exist
            if (!_iStorage.ExistFile(jsonSubPath))
            {
                return(fileIndexItem);
            }

            var returnFileIndexItem = new DeserializeJson(_iStorage).Read <FileIndexItem>(jsonSubPath);

            returnFileIndexItem.Status = FileIndexItem.ExifStatus.ExifWriteNotSupported;
            return(returnFileIndexItem);
        }
Ejemplo n.º 9
0
        public void ReadTest_FromCopiedText_T_Model()
        {
            var input =
                "{\n  \"Title\": \"Title\",\n  \"Price\": 200,\n  \"ShowButtons\": " +
                "true}";
            var fakeStorage = new FakeIStorage();

            fakeStorage.WriteStream(
                new PlainTextFileHelper().StringToStream(input), "/test.json");

            var itemJsonParser = new DeserializeJson(fakeStorage);

            var result = itemJsonParser.Read <FileIndexItemJsonParserTest_TestModel>("/test.json");

            Assert.AreEqual(200, result.Price);
            Assert.AreEqual("Title", result.Title);
            Assert.AreEqual(true, result.ShowButtons);
        }
Ejemplo n.º 10
0
        public static IEnumerable <object[]> GetTracksAsyncTestParams()
        {
            string artistName  = "Tupac shakur";
            var    mockService = new Mock <IMusicStatService>();
            var    realService = new MusicStatService();
            Func <object, string> getReleasesFileData = (object path) =>
            {
                return(TestHelper.GetFileData((string)path));
            };
            Func <object, string> getTracksData = (object releaseID) =>
            {
                Task <string> tracksTask = realService.getTracks((string)releaseID);
                tracksTask.Wait();
                return(tracksTask.Result);
            };
            Func <object, object, Task <string> > getTracksLyrics = (object artistName, object trackTitle) =>
            {
                return(realService.getLyrics((string)artistName, (string)trackTitle));
            };

            mockService.Setup(mss => mss.getArtists(artistName))
            .Returns(Task <string> .Factory.StartNew(getReleasesFileData, "data/artists-query-2pac.json"));
            mockService.Setup(mss => mss.getReleases("92a4d187-168d-4422-8d04-d194bea5da47"))
            .Returns(Task <string> .Factory.StartNew(getReleasesFileData, "data/releases-artist-tupac-shakur.json"));
            mockService.Setup(mss => mss.getReleases("382f1005-e9ab-4684-afd4-0bdae4ee37f2"))
            .Returns(Task <string> .Factory.StartNew(getReleasesFileData, "data/releases-artist-2pac.json"));

            mockService.Setup((mss) => mss.getTracks(It.IsAny <string>()))
            .Returns <string>((s) => Task <string> .Factory.StartNew(getTracksData, s));
            mockService.Setup((mss) => mss.getLyrics(It.IsAny <string>(), It.IsAny <string>()))
            .Returns <string, string>(async(artistName, trackTitle) => await await Task.Factory.StartNew(() => getTracksLyrics(artistName, trackTitle)));
            var           mock = mockService.Object;
            Task <string> artistsResultsTask = mock.getArtists(artistName);

            artistsResultsTask.Wait();
            string artistsResultsJson = artistsResultsTask.Result;
            DeserializeJson <ArtistResults> deserializeJson = new DeserializeJson <ArtistResults>();
            ArtistResults artistResults = deserializeJson.Deserialize(artistsResultsJson);
            var           real          = new MusicStatService();

            yield return(new object[] { mock, artistResults.Artists[1] });
        }
Ejemplo n.º 11
0
    public IEnumerator saveGame(string playerName)
    {
        string          jsonString = DeserializeJson.objectToJson();
        UnityWebRequest www        = new UnityWebRequest(urlRequestPost + playerName, "POST");

        byte[] bodyRaw = Encoding.UTF8.GetBytes(jsonString);
        www.uploadHandler   = new UploadHandlerRaw(bodyRaw);
        www.downloadHandler = new DownloadHandlerBuffer();
        www.SetRequestHeader("Content-Type", "application/json");
        yield return(www.SendWebRequest());

        if (www.error != null)
        {
            Debug.Log("Error: " + www.error);
        }
        else
        {
            Debug.Log("Status Code: " + www.responseCode);
        }
    }
Ejemplo n.º 12
0
        public void CityWeather(string cityName)
        {
            var json   = new DeserializeJson();
            var result = json.Start(cityName);

            if (result.Data.Request == null)
            {
                MessageBox.Show("Введите город на латинице или такого города нет");
                return;
            }
            else
            {
                var hourlyToWeather = 4;
                cityNameBlock.Text = result.Data.Request.ToArray()[0].Query.ToUpper();

                for (int i = 0; i < 7; i++)
                {
                    imageDay7.Source = ImageInit(result.Data.Weather.ToArray()[i].Hourly.ToArray()[hourlyToWeather].WeatherIconUrl.ToArray()[0].Value);
                    groupDay7.Header = result.Data.Weather.ToArray()[i].Date;
                    day7.Text        = ($"{result.Data.Weather.ToArray()[i].Hourly.ToArray()[hourlyToWeather].TempC}'C" +
                                        $"\n{result.Data.Weather.ToArray()[i].Hourly.ToArray()[hourlyToWeather].FeelsLikeC}'C" +
                                        $"\n{result.Data.Weather.ToArray()[i].Hourly.ToArray()[hourlyToWeather].Humidity}% " +
                                        $"\n{result.Data.Weather.ToArray()[i].Hourly.ToArray()[hourlyToWeather].WindspeedKmph}km/h");

                    switch (i + 1)
                    {
                    case 1: groupDay1.Header = groupDay7.Header; day1.Text = day7.Text; imageDay1.Source = imageDay7.Source; break;

                    case 2: groupDay2.Header = groupDay7.Header; day2.Text = day7.Text; imageDay2.Source = imageDay7.Source; break;

                    case 3: groupDay3.Header = groupDay7.Header; day3.Text = day7.Text; imageDay3.Source = imageDay7.Source; break;

                    case 4: groupDay4.Header = groupDay7.Header; day4.Text = day7.Text; imageDay4.Source = imageDay7.Source; break;

                    case 5: groupDay5.Header = groupDay7.Header; day5.Text = day7.Text; imageDay5.Source = imageDay7.Source; break;

                    case 6: groupDay6.Header = groupDay7.Header; day6.Text = day7.Text; imageDay6.Source = imageDay7.Source; break;
                    }
                }
            }
        }
Ejemplo n.º 13
0
    IEnumerator LoadYourAsyncScene()
    {
        SceneManager.UnloadSceneAsync("Scenes/Menu");
        SceneManager.LoadSceneAsync("Scenes/Loading", LoadSceneMode.Additive);

        UnityWebRequest www = UnityWebRequest.Get(urlRequestGet);

        yield return(www.SendWebRequest());

        if (www.isNetworkError || www.isHttpError)
        {
            Debug.Log(www.error);

            SceneManager.LoadSceneAsync("Scenes/HTTPError", LoadSceneMode.Additive);

            yield break;
        }
        else
        {
            DeserializeJson.jsonToObject(www.downloadHandler.text);
        }

        Debug.Log(DeserializeJson.instance.id_game);
        yield return(new WaitForSeconds(2f));

        AsyncOperation asyncLoad = SceneManager.LoadSceneAsync("Scenes/Game", LoadSceneMode.Additive);

        PRNG.init(DeserializeJson.instance.seed);
        initMapWithSeed();
        debug_writeUpgradeList();
        loadHistoric(DeserializeJson.instance.historics);
        lastLevel = DeserializeJson.instance.points / pointPerLevel;
        // Wait until the asynchronous scene fully loads
        while (!asyncLoad.isDone)
        {
            SceneManager.UnloadSceneAsync("Scenes/Loading");
            yield return(null);
        }
        finalizeInitGame();
    }
Ejemplo n.º 14
0
        public void ParsesReleaseResults(string json, bool hasResults)
        {
            var sut = new DeserializeJson <ReleaseResults>();

            ReleaseResults releases      = sut.Deserialize(json);
            bool           releasesExist = releases.Count > 0;

            Assert.Equal(releasesExist, hasResults);
            if (releasesExist)
            {
                for (int i = 0; i < releases.Releases.Count; i++)
                {
                    var cmd       = ArtistStats_web.Commands.GetReleasesByArtistsIDAsync.FillTracksAsyncCommands(releases.Releases[i], new ArtistStats_web.Services.MusicStatService());
                    var tracksCmd = cmd.ExecuteAsync();
                    tracksCmd.Wait();
                    var media = cmd.Release.Media;

/*                    Assert.NotNull(cmd.Release.Media);
 *                  Assert.NotNull(cmd.Release.Media[0].Tracks[0]);*/
                }
            }

            //TODO: add checks to compare IDs, counts, etc against what's in the file..
        }
Ejemplo n.º 15
0
 public static void jsonToObject(string json)
 {
     instance = JsonUtility.FromJson <DeserializeJson>(json);
 }
Ejemplo n.º 16
0
        public void Run(string[] args)
        {
            _appSettings.Verbose = ArgsHelper.NeedVerbose(args);

            if (_argsHelper.NeedHelp(args))
            {
                _appSettings.ApplicationType = AppSettings.StarskyAppType.WebFtp;
                _argsHelper.NeedHelpShowDialog();
                return;
            }

            var inputFullFileDirectory = new ArgsHelper(_appSettings)
                                         .GetPathFormArgs(args, false);

            if (string.IsNullOrWhiteSpace(inputFullFileDirectory))
            {
                _console.WriteLine("Please use the -p to add a path first");
                return;
            }

            // used in this session to find the files back

            if (_hostStorageProvider.IsFolderOrFile(inputFullFileDirectory)
                == FolderOrFileModel.FolderOrFileTypeList.Deleted)
            {
                _console.WriteLine($"Folder location {inputFullFileDirectory} " +
                                   $"is not found \nPlease try the `-h` command to get help ");
                return;
            }

            // check if settings is valid
            if (string.IsNullOrEmpty(_appSettings.WebFtp))
            {
                _console.WriteLine($"Please update the WebFtp settings in appsettings.json");
                return;
            }

            var settingsFullFilePath = Path.Combine(inputFullFileDirectory, "_settings.json");

            if (!_hostStorageProvider.ExistFile(settingsFullFilePath))
            {
                _console.WriteLine($"Please run 'starskywebhtmlcli' " +
                                   $"first to generate a settings file");
                return;
            }

            var settings =
                new DeserializeJson(_hostStorageProvider).Read <FtpPublishManifestModel>(
                    settingsFullFilePath);

            var ftpService = new FtpService(_appSettings, _hostStorageProvider,
                                            _console, _webRequestFactory)
                             .Run(inputFullFileDirectory, settings.Slug, settings.Copy);

            if (!ftpService)
            {
                _console.WriteLine("Ftp copy failed");
                return;
            }

            _console.WriteLine($"Ftp copy successful done: {settings.Slug}");
        }