public void OracleTest() { BaseKeyPair kp = BaseKeyPair.Generate(); Account oracleAccount = fluentClient.ConstructAccount(kp); Account account = fluentClient.ConstructAccount(baseKeyPair); ulong money = (ulong)1m.ToAettos(Unit.AE); bool result = account.SendAmount(oracleAccount.KeyPair.PublicKey, money).WaitForFinish(TimeSpan.FromSeconds(30)); Assert.IsTrue(result); oracleAccount.Refresh(); Assert.AreEqual(oracleAccount.Balance, money); OracleServer <CityQuery, TemperatureResponse> query = oracleAccount.RegisterOracle <CityQuery, TemperatureResponse>().WaitForFinish(TimeSpan.FromSeconds(30)); CityTemperatureService svc = new CityTemperatureService(); svc.Server = query; Task.Factory.StartNew(svc.Start); OracleClient <CityQuery, TemperatureResponse> reg = account.GetOracle <CityQuery, TemperatureResponse>(query.OracleId); TemperatureResponse resp = reg.Ask(new CityQuery { City = "montevideo" }).WaitForFinish(TimeSpan.FromSeconds(300)); Assert.AreEqual(resp.TemperatureCelsius, 24); resp = reg.Ask(new CityQuery { City = "sofia" }).WaitForFinish(TimeSpan.FromSeconds(30)); Assert.AreEqual(resp.TemperatureCelsius, 25); resp = reg.Ask(new CityQuery { City = "hell" }).WaitForFinish(TimeSpan.FromSeconds(30)); Assert.AreEqual(resp.TemperatureCelsius, 2000); svc.Stop(); }