Skip to content

Commit 3d5cdd8

Browse files
committed
Move test utils into TestBase project
1 parent 3a69790 commit 3d5cdd8

7 files changed

Lines changed: 58 additions & 65 deletions

File tree

tests/Common/FSharpTestBase/FSharpTestBase.fsproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@
1717
<Compile Include="TestCharts\Chart2DTestCharts.fs" />
1818
</ItemGroup>
1919

20+
<ItemGroup>
21+
<PackageReference Include="Deedle" Version="2.4.1" />
22+
<PackageReference Include="Expecto" Version="9.*" />
23+
<PackageReference Include="FSharp.Data" Version="4.2.0" />
24+
</ItemGroup>
25+
2026
<ItemGroup>
2127
<ProjectReference Include="..\..\..\src\Plotly.NET\Plotly.NET.fsproj" />
2228
</ItemGroup>

tests/Common/FSharpTestBase/TestCharts/Chart2DTestCharts.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ module Image =
283283
|> Chart.withTitle "ARGB image chart"
284284

285285
let ``Image chart from base64 string`` =
286-
let base64String = TestUtils.getLogoPNG()
286+
let base64String = TestUtils.HtmlCodegen.getLogoPNG()
287287
Chart.Image(
288288
Source=($"data:image/jpg;base64,{base64String}"),
289289
UseDefaults = false

tests/Common/FSharpTestBase/TestCharts/ChartDomainTestCharts.fs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
open Plotly.NET
44

5-
65
module Pie =
76

87
let ``Simple pie chart`` =

tests/Common/FSharpTestBase/TestUtils.fs

Lines changed: 51 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,55 @@
22

33
open System.Reflection
44
open System.IO
5+
open Expecto
6+
open Plotly.NET
7+
open DynamicObj
8+
open Newtonsoft.Json
9+
10+
module HtmlCodegen =
11+
12+
let getLogoPNG() =
13+
let assembly = Assembly.GetExecutingAssembly()
14+
use str = assembly.GetManifestResourceStream($"FSharpTestBase.logo.png")
15+
use r = new BinaryReader(str)
16+
r.ReadBytes(int(str.Length))
17+
|> System.Convert.ToBase64String
18+
19+
let getFullPlotlyJS() =
20+
let assembly = Assembly.GetExecutingAssembly()
21+
use str = assembly.GetManifestResourceStream($"FSharpTestBase.plotly-{Globals.PLOTLYJS_VERSION}.min.js")
22+
use r = new StreamReader(str)
23+
r.ReadToEnd()
24+
25+
let substringIsInChart chart htmlizer substring =
26+
chart
27+
|> htmlizer
28+
|> Expect.stringContains
29+
|> (fun expecting -> expecting substring $"Should've contained {substring}")
30+
31+
32+
let substringListIsInChart chart htmlizer substringList =
33+
for substring in substringList do
34+
substringIsInChart chart htmlizer substring
35+
36+
37+
let chartGeneratedContains chart substring =
38+
substringIsInChart chart GenericChart.toChartHTML substring
39+
substringIsInChart chart GenericChart.toEmbeddedHTML substring
40+
41+
42+
let chartGeneratedContainsList chart substringList =
43+
for substring in substringList do
44+
chartGeneratedContains chart substring
45+
46+
let emptyLayout chart =
47+
"var layout = {};" |> chartGeneratedContains chart
48+
49+
module Objects =
50+
51+
let jsonFieldIsSetWith fieldName expected (object:#DynamicObj) =
52+
Expect.equal
53+
((object :> DynamicObj)?($"{fieldName}") |> JsonConvert.SerializeObject)
54+
expected
55+
($"Field `{fieldName}` not set correctly in serialized dynamic object.")
556

6-
let getLogoPNG() =
7-
let assembly = Assembly.GetExecutingAssembly()
8-
use str = assembly.GetManifestResourceStream($"FSharpTestBase.logo.png")
9-
use r = new BinaryReader(str)
10-
r.ReadBytes(int(str.Length))
11-
|> System.Convert.ToBase64String
12-
13-
let getFullPlotlyJS() =
14-
let assembly = Assembly.GetExecutingAssembly()
15-
use str = assembly.GetManifestResourceStream($"FSharpTestBase.plotly-{Globals.PLOTLYJS_VERSION}.min.js")
16-
use r = new StreamReader(str)
17-
r.ReadToEnd()

tests/CoreTests/CoreTests/CoreTests.fsproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
<ItemGroup>
1111
<EmbeddedResource Include="..\..\..\src\Plotly.NET\plotly-2.19.1.min.js" />
1212
<EmbeddedResource Include="..\..\..\src\Plotly.NET\plotly-2.19.1.min.js.LICENSE.txt" />
13-
<Compile Include="TestUtils.fs" />
1413
<!--Test charts-->
1514
<Compile Include="HTMLCodegen\Chart2D.fs" />
1615
<!--HTMLCodegen-->

tests/CoreTests/CoreTests/HTMLCodegen/SimpleCharts.fs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,4 @@ let ``Image charts`` =
229229
"""var layout = {"title":{"text":"This is Plotly.NET:"}};"""
230230
|> chartGeneratedContains Image.``Image chart from base64 string``
231231
);
232-
233-
234232
]

tests/CoreTests/CoreTests/TestUtils.fs

Lines changed: 0 additions & 48 deletions
This file was deleted.

0 commit comments

Comments
 (0)