Skip to main content

quantrs2_core/quantum_internet/
functions.rs

1//! Auto-generated module
2//!
3//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)
4
5use super::types::{GeographicLocation, QuantumInternet, QuantumRouting, QuantumRoutingAlgorithm};
6
7#[cfg(test)]
8mod tests {
9    use super::*;
10    #[test]
11    fn test_quantum_internet_creation() {
12        let quantum_internet = QuantumInternet::new();
13        assert_eq!(
14            quantum_internet
15                .quantum_network_infrastructure
16                .quantum_nodes
17                .len(),
18            0
19        );
20    }
21    #[test]
22    fn test_global_network_deployment() {
23        let mut quantum_internet = QuantumInternet::new();
24        let result = quantum_internet.deploy_global_quantum_network();
25        assert!(result.is_ok());
26        let deployment_result = result.expect("global network deployment should succeed");
27        assert!(deployment_result.total_nodes > 0);
28        assert!(deployment_result.satellite_coverage > 90.0);
29        assert!(deployment_result.network_reliability > 99.0);
30    }
31    #[test]
32    fn test_quantum_internet_advantages() {
33        let mut quantum_internet = QuantumInternet::new();
34        let report = quantum_internet.demonstrate_quantum_internet_advantages();
35        assert!(report.communication_advantage > 1.0);
36        assert!(report.distributed_computing_advantage > 1.0);
37        assert!(report.sensing_advantage > 1.0);
38        assert!(report.security_advantage > 1.0);
39        assert!(report.scalability_advantage > 1.0);
40        assert!(report.overall_advantage > 1.0);
41    }
42    #[test]
43    fn test_global_qkd() {
44        let mut quantum_internet = QuantumInternet::new();
45        quantum_internet
46            .deploy_global_quantum_network()
47            .expect("network deployment should succeed for QKD test");
48        let source = GeographicLocation {
49            latitude: 40.7128,
50            longitude: -74.0060,
51            altitude: 0.0,
52            country: "USA".to_string(),
53            city: "New York".to_string(),
54        };
55        let destination = GeographicLocation {
56            latitude: 51.5074,
57            longitude: -0.1278,
58            altitude: 0.0,
59            country: "UK".to_string(),
60            city: "London".to_string(),
61        };
62        let result = quantum_internet.execute_global_qkd(source, destination, 256);
63        assert!(result.is_ok());
64        let qkd_result = result.expect("global QKD should succeed");
65        assert_eq!(qkd_result.distributed_key.key_length, 256);
66        assert!(qkd_result.quantum_advantage > 1.0);
67    }
68    #[test]
69    fn test_quantum_routing() {
70        let routing = QuantumRouting::new();
71        assert!(matches!(
72            routing.routing_algorithm,
73            QuantumRoutingAlgorithm::MultiObjective
74        ));
75    }
76}