-
Notifications
You must be signed in to change notification settings - Fork 284
Expand file tree
/
Copy pathHtmlTableCell.fs
More file actions
98 lines (81 loc) · 3.29 KB
/
HtmlTableCell.fs
File metadata and controls
98 lines (81 loc) · 3.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
module FSharp.Data.Tests.HtmlTableCell
open NUnit.Framework
open FsUnit
open System
open FSharp.Data
open FSharp.Data.Runtime
[<Test>]
let ``HtmlTableCell.Cell creates cell with header flag and data``() =
let cell = HtmlTableCell.Cell(true, "Header Text")
cell.IsHeader |> should equal true
cell.Data |> should equal "Header Text"
[<Test>]
let ``HtmlTableCell.Cell creates cell with non-header flag and data``() =
let cell = HtmlTableCell.Cell(false, "Cell Data")
cell.IsHeader |> should equal false
cell.Data |> should equal "Cell Data"
[<Test>]
let ``HtmlTableCell.Empty creates empty cell``() =
let cell = HtmlTableCell.Empty
cell.IsHeader |> should equal true // Empty cells are considered headers
cell.Data |> should equal ""
[<Test>]
let ``HtmlTableCell IsHeader property works for various cell types``() =
let headerCell = HtmlTableCell.Cell(true, "Header")
let dataCell = HtmlTableCell.Cell(false, "Data")
let emptyCell = HtmlTableCell.Empty
headerCell.IsHeader |> should equal true
dataCell.IsHeader |> should equal false
emptyCell.IsHeader |> should equal true
[<Test>]
let ``HtmlTableCell Data property returns correct content``() =
let headerCell = HtmlTableCell.Cell(true, "Column Title")
let dataCell = HtmlTableCell.Cell(false, "Row Value")
let emptyCell = HtmlTableCell.Empty
headerCell.Data |> should equal "Column Title"
dataCell.Data |> should equal "Row Value"
emptyCell.Data |> should equal ""
[<Test>]
let ``HtmlTableCell handles empty string data``() =
let cell = HtmlTableCell.Cell(false, "")
cell.IsHeader |> should equal false
cell.Data |> should equal ""
[<Test>]
let ``HtmlTableCell handles whitespace data``() =
let cell = HtmlTableCell.Cell(true, " \t\n ")
cell.IsHeader |> should equal true
cell.Data |> should equal " \t\n "
[<Test>]
let ``HtmlTableCell handles special characters in data``() =
let specialText = "Test with ñ, ü, and émojis 🎯"
let cell = HtmlTableCell.Cell(false, specialText)
cell.IsHeader |> should equal false
cell.Data |> should equal specialText
[<Test>]
let ``HtmlTableCell equality comparison works``() =
let cell1 = HtmlTableCell.Cell(true, "Test")
let cell2 = HtmlTableCell.Cell(true, "Test")
let cell3 = HtmlTableCell.Cell(false, "Test")
let empty1 = HtmlTableCell.Empty
let empty2 = HtmlTableCell.Empty
(cell1 = cell2) |> should equal true
(cell1 = cell3) |> should equal false
(empty1 = empty2) |> should equal true
[<Test>]
let ``HtmlTableCell pattern matching works correctly``() =
let headerCell = HtmlTableCell.Cell(true, "Header")
let dataCell = HtmlTableCell.Cell(false, "Data")
let emptyCell = HtmlTableCell.Empty
match headerCell with
| HtmlTableCell.Cell(isHeader, data) ->
isHeader |> should equal true
data |> should equal "Header"
| HtmlTableCell.Empty -> failwith "Should not match Empty"
match dataCell with
| HtmlTableCell.Cell(isHeader, data) ->
isHeader |> should equal false
data |> should equal "Data"
| HtmlTableCell.Empty -> failwith "Should not match Empty"
match emptyCell with
| HtmlTableCell.Empty -> () // Should match
| HtmlTableCell.Cell(_, _) -> failwith "Should not match Cell"