mirror of
				https://github.com/Smaug123/WoofWare.Myriad
				synced 2025-10-31 08:38:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Forth
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Forth
		
	
	
	
	
	
| namespace WoofWare.Myriad.Plugins.Test
 | |
| 
 | |
| open System.Text.Json.Nodes
 | |
| open ConsumePlugin
 | |
| open NUnit.Framework
 | |
| open FsUnitTyped
 | |
| 
 | |
| [<TestFixture>]
 | |
| module TestJsonParse =
 | |
|     [<Test>]
 | |
|     let ``Single example`` () =
 | |
|         let s =
 | |
|             """
 | |
| {
 | |
|     "a": 3, "another-thing": "hello", "hi": [6, 1], "d": {"something": "oh hi"},
 | |
|     "e": ["something", "else"], "f": []
 | |
| }
 | |
| """
 | |
| 
 | |
|         let expected =
 | |
|             {
 | |
|                 A = 3
 | |
|                 B = "hello"
 | |
|                 C = [ 6 ; 1 ]
 | |
|                 D =
 | |
|                     {
 | |
|                         Thing = "oh hi"
 | |
|                     }
 | |
|                 E = [| "something" ; "else" |]
 | |
|                 F = [||]
 | |
|             }
 | |
| 
 | |
|         let actual = s |> JsonNode.Parse |> JsonRecordType.jsonParse
 | |
|         actual |> shouldEqual expected
 | |
| 
 | |
|     [<Test>]
 | |
|     let ``Inner example`` () =
 | |
|         let s =
 | |
|             """{
 | |
|     "something": "oh hi"
 | |
| }"""
 | |
| 
 | |
|         let expected =
 | |
|             {
 | |
|                 Thing = "oh hi"
 | |
|             }
 | |
| 
 | |
|         let actual = s |> JsonNode.Parse |> InnerType.jsonParse
 | |
|         actual |> shouldEqual expected
 |