summaryrefslogtreecommitdiff
path: root/tests/SomhairlesDream.Shared.Tests/ReplayTests.fs
blob: 317fabe50395f6a82da779dafdebc201ff109a59 (plain)
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
namespace SomhairlesDream.Shared.Tests

open Xunit
open SomhairlesDream.Shared

module ReplayTests =
    [<Fact>]
    let ``reconstruction contains three visibly different geometry frames`` () =
        let frames = Replay.frames ()

        Assert.Equal(3, frames.Length)
        Assert.True([| 1; 2; 3 |] = (frames |> Array.map (fun frame -> frame.Version)))
        Assert.Equal("重建起点", frames[0].Label)
        Assert.Equal("主承力骨架", frames[1].Label)
        Assert.Equal("舱段重构", frames[2].Label)
        Assert.False(frames[0].Mesh.Vertices = frames[1].Mesh.Vertices)
        Assert.False(frames[1].Mesh.Vertices = frames[2].Mesh.Vertices)

    [<Fact>]
    let ``mesh snapshots expose indexed triangle buffers`` () =
        let mesh = (Replay.frames ()).[2].Mesh
        let positions = MeshData.positionData mesh
        let indices = MeshData.triangleIndices mesh

        Assert.Equal(mesh.Vertices.Length * 3, positions.Length)
        Assert.Equal(45, indices.Length)