Skip to content
Snippets Groups Projects
Select Git revision
  • 6298d56ae0f4c81cc72d9b9af57f9649b9fb6836
  • main default protected
  • development
  • integration
  • v1.1.5
  • v1.1.4
  • v1.1.3
  • v1.1.2
  • v1.1.1
  • v1.1.0
  • v1.0.0
11 results

NodeRegistrationReportTests.swift

Blame
  • NodeRegistrationReportTests.swift 1.01 KiB
    import CustomDump
    import XCTest
    @testable import ElixxirDAppsSDK
    
    final class NodeRegistrationReportTests: XCTestCase {
      func testCoding() throws {
        let registered: Int = 128
        let total: Int = 2048
        let jsonString = """
        {
          "NumberOfNodesRegistered": \(registered),
          "NumberOfNodes": \(total)
        }
        """
        let jsonData = jsonString.data(using: .utf8)!
        let model = try NodeRegistrationReport.decode(jsonData)
    
        XCTAssertNoDifference(model, NodeRegistrationReport(
          registered: registered,
          total: total
        ))
    
        let encodedModel = try model.encode()
        let decodedModel = try NodeRegistrationReport.decode(encodedModel)
    
        XCTAssertNoDifference(decodedModel, model)
      }
    
      func testRatio() {
        let model = NodeRegistrationReport(
          registered: 128,
          total: 2048
        )
    
        XCTAssertEqual(model.ratio, 0.0625)
      }
    
      func testRatioWhenNoNodes() {
        let model = NodeRegistrationReport(
          registered: 128,
          total: 0
        )
    
        XCTAssertEqual(model.ratio, 0)
      }
    }