|
1 | 1 | using System;
|
2 | 2 | using System.Collections.Generic;
|
| 3 | +using FaunaDB.Query; |
3 | 4 | using FaunaDB.Types;
|
4 | 5 | using NUnit.Framework;
|
5 | 6 |
|
@@ -397,5 +398,49 @@ public void TestStringOverride()
|
397 | 398 | Encode(new StringOverride(testUri, testGuid))
|
398 | 399 | );
|
399 | 400 | }
|
| 401 | + |
| 402 | + [Test] |
| 403 | + public void TestToStringTypes() |
| 404 | + { |
| 405 | + Assert.AreEqual( |
| 406 | + "SetRef({\"match\": Ref(id=\"spells_by_element\", collection=Ref(id=\"indexes\")), \"terms\": \"water\"})", |
| 407 | + new SetRefV(new Dictionary<string, Value>() { |
| 408 | + { "terms", StringV.Of("water") }, |
| 409 | + { "match", new RefV("spells_by_element", new RefV("indexes")) } |
| 410 | + }).ToString() |
| 411 | + ); |
| 412 | + |
| 413 | + Assert.AreEqual("true", BooleanV.Of(true).ToString()); |
| 414 | + Assert.AreEqual("3.14", DoubleV.Of(3.14).ToString()); |
| 415 | + Assert.AreEqual("42", LongV.Of(42).ToString()); |
| 416 | + Assert.AreEqual("null", NullV.Instance.ToString()); |
| 417 | + Assert.AreEqual("Date(\"2001-01-01\")", new DateV("2001-01-01").ToString()); |
| 418 | + Assert.AreEqual("Time(\"2000-01-01T01:10:30.123Z\")", new TimeV("2000-01-01T01:10:30.123Z").ToString()); |
| 419 | + Assert.AreEqual(@"[1, 3.14, true, ""foo bar"", ""my \""quote""]", ArrayV.Of(1, 3.14, true, "foo bar", "my \"quote").ToString()); |
| 420 | + Assert.AreEqual("Bytes(0x01, 0x02, 0x03)", BytesV.Of(0x1, 0x2, 0x3).ToString()); |
| 421 | + |
| 422 | + Assert.AreEqual("{\"answer\": 42, \"question\": \"meaning\"}", |
| 423 | + ObjectV.With("answer", 42, "question", "meaning").ToString()); |
| 424 | + Assert.AreEqual("{\"answer\": 42, \"question\": \"meaning\"}", |
| 425 | + ObjectV.With("question", "meaning", "answer", 42).ToString()); |
| 426 | + |
| 427 | + Assert.AreEqual( |
| 428 | + "Query({\"api_version\": \"3\", \"expr\": {\"add\": [{\"var\": \"x\"}, 1]}, \"lambda\": \"x\"})", |
| 429 | + new QueryV(new Dictionary<string, Expr>() { |
| 430 | + {"lambda", StringV.Of("x")}, |
| 431 | + {"expr", ObjectV.With("add", ArrayV.Of(ObjectV.With("var", "x"), 1))}, |
| 432 | + { "api_version", StringV.Of("3") } |
| 433 | + }).ToString() |
| 434 | + ); |
| 435 | + |
| 436 | + Assert.AreEqual( |
| 437 | + "Query({\"api_version\": \"3\", \"expr\": {\"add\": [{\"var\": \"x\"}, 1, 3.14]}, \"lambda\": \"x\"})", |
| 438 | + new QueryV(new Dictionary<string, Expr>() { |
| 439 | + {"lambda", "x"}, |
| 440 | + {"expr", Add(Var("x"), 1, 3.14)}, |
| 441 | + { "api_version", "3" } |
| 442 | + }).ToString() |
| 443 | + ); |
| 444 | + } |
400 | 445 | }
|
401 | 446 | }
|
0 commit comments