public IEnumerator Progress() { var progress = new ScheduledNotifier <float>(); var hasReported = false; var latestProgress = 0.0f; var reportCount = 0; progress .Subscribe( x => { hasReported = true; latestProgress = x; reportCount++; } ); var yieldInstruction = ObservableUnityWebRequest .GetAsObservable("http://localhost:3001/fruits", null, progress) .ToYieldInstruction(false); yield return(yieldInstruction); Assert.True(hasReported); Assert.AreEqual(1.0f, latestProgress); Assert.GreaterOrEqual(reportCount, 1); }
public IEnumerator GetAudioClipAsObservable() { var yieldInstruction = ObservableUnityWebRequest .GetAudioClipAsObservable($"file://{Application.dataPath}/Tests/Runtime/Fixtures/AudioClip.ogg", AudioType.OGGVORBIS) .ToYieldInstruction(false); yield return(yieldInstruction); Assert.AreEqual(8, (int)yieldInstruction.Result.length); }
public IEnumerator GetAsObservable() { var yieldInstruction = ObservableUnityWebRequest .GetAsObservable($"file://{Application.dataPath}/Tests/Runtime/Fixtures/Text.txt") .ToYieldInstruction(false); yield return(yieldInstruction); Assert.AreEqual("Text", yieldInstruction.Result); }
public IEnumerator GetTexture2DAsObservable() { var yieldInstruction = ObservableUnityWebRequest .GetTexture2DAsObservable($"file://{Application.dataPath}/Tests/Runtime/Fixtures/Texture2D.png") .ToYieldInstruction(false); yield return(yieldInstruction); Assert.AreEqual(423, yieldInstruction.Result.width); Assert.AreEqual(500, yieldInstruction.Result.height); }
public IEnumerator HttpHeadAsObservable() { var yieldInstruction = ObservableUnityWebRequest .HeadAsObservable("http://localhost:3001/fruits") .ToYieldInstruction(false); yield return(yieldInstruction); var responseHeaders = yieldInstruction.Result; Assert.AreEqual("application/json; charset=utf-8", responseHeaders["Content-Type"]); Assert.AreEqual("Express", responseHeaders["X-Powered-By"]); }
public IEnumerator HttpPutAsObservable() { var yieldInstruction = ObservableUnityWebRequest .PutAsObservable("http://localhost:3001/fruits/2", Encoding.UTF8.GetBytes("id=2&name=BloodOrange&name_ja=ぶらっどおれんじ")) .ToYieldInstruction(false); yield return(yieldInstruction); var fruit = JsonUtility.FromJson <Fruit>(yieldInstruction.Result); Assert.AreEqual(2, fruit.Id); Assert.AreEqual("BloodOrange", fruit.Name); Assert.AreEqual("ぶらっどおれんじ", fruit.NameJapanese); }
public IEnumerator HttpGetAsObservable() { var yieldInstruction = ObservableUnityWebRequest .GetAsObservable("http://localhost:3001/fruits") .ToYieldInstruction(false); yield return(yieldInstruction); var fruits = JsonUtility.FromJson <Fruits>($"{{\"fruits\":{yieldInstruction.Result}}}"); Assert.AreEqual(1, fruits.FruitList[0].Id); Assert.AreEqual("Apple", fruits.FruitList[0].Name); Assert.AreEqual("りんご", fruits.FruitList[0].NameJapanese); }
/// <summary> /// Put record if not exists for idempotency /// </summary> /// <returns></returns> private static IEnumerator PrepareForDelete() { var yieldInstruction = ObservableUnityWebRequest .HeadAsObservable("http://localhost:3001/fruits/3") .ToYieldInstruction(false); yield return(yieldInstruction); if (yieldInstruction.HasError && yieldInstruction.Error is UnityWebRequestErrorException.NotFound) { yield return(ObservableUnityWebRequest .PostAsObservable("http://localhost:3001/fruits", Encoding.UTF8.GetBytes("id=3&name=Grape&name_ja=ぶどう")) .ToYieldInstruction(false)); } }
/// <summary> /// Remove record if exists for idempotency /// </summary> /// <returns></returns> private static IEnumerator PrepareForPost() { var yieldInstruction = ObservableUnityWebRequest .HeadAsObservable("http://localhost:3001/fruits/4") .ToYieldInstruction(false); yield return(yieldInstruction); if (!yieldInstruction.HasError) { yield return(ObservableUnityWebRequest .DeleteAsObservable("http://localhost:3001/fruits/4") .ToYieldInstruction(false)); } }
public IEnumerator HttpDeleteAsObservable() { yield return(PrepareForDelete()); var yieldInstruction = ObservableUnityWebRequest .DeleteAsObservable("http://localhost:3001/fruits/3") .ToYieldInstruction(false); yield return(yieldInstruction); var fruit = JsonUtility.FromJson <Fruit>(yieldInstruction.Result); Assert.AreEqual(default(int), fruit.Id); Assert.Null(fruit.Name); Assert.Null(fruit.NameJapanese); }
public IEnumerator HttpPostAsObservable() { yield return(PrepareForPost()); var yieldInstruction = ObservableUnityWebRequest .PostAsObservable("http://localhost:3001/fruits", "id=4&name=Banana&name_ja=ばなな") .ToYieldInstruction(false); yield return(yieldInstruction); var fruit = JsonUtility.FromJson <Fruit>(yieldInstruction.Result); Assert.AreEqual(4, fruit.Id); Assert.AreEqual("Banana", fruit.Name); Assert.AreEqual("ばなな", fruit.NameJapanese); }
public IEnumerator GetAssetBundleAsObservable() { var yieldInstruction = ObservableUnityWebRequest .GetAssetBundleAsObservable($"file://{Application.dataPath}/Tests/Runtime/Fixtures/AssetBundle.assetbundle", 0U, 0U) .ToYieldInstruction(false); yield return(yieldInstruction); var assetBundle = yieldInstruction.Result; var assetBundleRequest = assetBundle.LoadAssetAsync <TextAsset>(assetBundle.GetAllAssetNames().First()); yield return(assetBundleRequest); Assert.AreEqual(typeof(TextAsset), assetBundleRequest.asset.GetType()); Assert.AreEqual("Sample\n", (assetBundleRequest.asset as TextAsset)?.text); }
public static IObservable <string> SendWebRequestAsObservable(this UnityWebRequest self, IProgress <float> progress = default) { return(ObservableUnityWebRequest.RequestAsObservable(self, ObservableUnityWebRequest.FetchString, progress)); }
private static IObservable <Texture2D> SendTexture2DWebRequestAsObservable(this UnityWebRequest self, IProgress <float> progress = default) { return(ObservableUnityWebRequest.RequestAsObservable(self, ObservableUnityWebRequest.FetchTexture2D, progress)); }
private static IObservable <AudioClip> SendAudioClipWebRequestAsObservable(this UnityWebRequest self, IProgress <float> progress = default) { return(ObservableUnityWebRequest.RequestAsObservable(self, ObservableUnityWebRequest.FetchAudioClip, progress)); }
private static IObservable <AssetBundle> SendAssetBundleWebRequestAsObservable(this UnityWebRequest self, IProgress <float> progress = default) { return(ObservableUnityWebRequest.RequestAsObservable(self, ObservableUnityWebRequest.FetchAssetBundle, progress)); }
private static IObservable <IEnumerable <byte> > SendBytesWebRequestAsObservable(this UnityWebRequest self, IProgress <float> progress = default) { return(ObservableUnityWebRequest.RequestAsObservable(self, ObservableUnityWebRequest.FetchBytes, progress)); }