Files
wehub-resource-sync bb087aad19
CI / format (push) Failing after 2s
CI / packaging (push) Failing after 0s
CI / test (push) Failing after 3s
chore: import upstream snapshot with attribution
2026-07-13 11:58:56 +08:00

61 lines
1.8 KiB
Dart

import 'package:common/model/device.dart';
import 'package:test/test.dart';
void main() {
test('Should not have duplicate DiscoveryMethod', () {
final set = <DiscoveryMethod>{};
set.add(MulticastDiscovery());
expect(set, hasLength(1));
set.add(MulticastDiscovery());
expect(set, hasLength(1));
set.add(HttpDiscovery(ip: 'a'));
expect(set, hasLength(2));
expect(set, contains(MulticastDiscovery()));
expect(set, contains(HttpDiscovery(ip: 'a')));
set.add(HttpDiscovery(ip: 'a'));
expect(set, hasLength(2));
expect(set, contains(MulticastDiscovery()));
expect(set, contains(HttpDiscovery(ip: 'a')));
set.add(HttpDiscovery(ip: 'b'));
expect(set, hasLength(3));
expect(set, contains(MulticastDiscovery()));
expect(set, contains(HttpDiscovery(ip: 'a')));
expect(set, contains(HttpDiscovery(ip: 'b')));
set.add(SignalingDiscovery(signalingServer: 'sa'));
expect(set, hasLength(4));
expect(set, contains(MulticastDiscovery()));
expect(set, contains(HttpDiscovery(ip: 'a')));
expect(set, contains(HttpDiscovery(ip: 'b')));
expect(set, contains(SignalingDiscovery(signalingServer: 'sa')));
set.add(SignalingDiscovery(signalingServer: 'sa'));
expect(set, hasLength(4));
expect(set, contains(MulticastDiscovery()));
expect(set, contains(HttpDiscovery(ip: 'a')));
expect(set, contains(HttpDiscovery(ip: 'b')));
expect(set, contains(SignalingDiscovery(signalingServer: 'sa')));
set.add(SignalingDiscovery(signalingServer: 'sb'));
expect(set, hasLength(5));
expect(set, contains(MulticastDiscovery()));
expect(set, contains(HttpDiscovery(ip: 'a')));
expect(set, contains(HttpDiscovery(ip: 'b')));
expect(set, contains(SignalingDiscovery(signalingServer: 'sa')));
expect(set, contains(SignalingDiscovery(signalingServer: 'sb')));
});
}