1+ using org . dmxc . wkdt . Light . ArtNet ;
2+
3+ namespace org . dmxc . wkdt . Tests . Light . ArtNet
4+ {
5+ public class Address_Tests
6+ {
7+ [ Test ]
8+ public void TestAddress ( )
9+ {
10+ Address a = new Address ( 1 ) ;
11+ Assert . Multiple ( ( ) =>
12+ {
13+ Assert . That ( a . Universe . Value , Is . EqualTo ( 1 ) ) ;
14+ Assert . That ( a . Combined , Is . EqualTo ( 1 ) ) ;
15+ } ) ;
16+
17+ a = new Address ( 15 ) ;
18+ Assert . Multiple ( ( ) =>
19+ {
20+ Assert . That ( a . Universe . Value , Is . EqualTo ( 15 ) ) ;
21+ Assert . That ( a . Combined , Is . EqualTo ( 15 ) ) ;
22+ } ) ;
23+
24+ a = new Address ( 16 ) ;
25+ Assert . Multiple ( ( ) =>
26+ {
27+ Assert . That ( a . Universe . Value , Is . EqualTo ( 0 ) ) ;
28+ Assert . That ( a . Subnet . Value , Is . EqualTo ( 1 ) ) ;
29+ Assert . That ( a . Combined , Is . EqualTo ( 16 ) ) ;
30+ } ) ;
31+
32+ a = new Address ( 0xff ) ;
33+ Assert . Multiple ( ( ) =>
34+ {
35+ Assert . That ( a . Universe . Value , Is . EqualTo ( 15 ) ) ;
36+ Assert . That ( a . Subnet . Value , Is . EqualTo ( 15 ) ) ;
37+ Assert . That ( a . Combined , Is . EqualTo ( 0xff ) ) ;
38+ Assert . That ( new Address ( 16 ) == new Address ( 1 , 0 ) ) ;
39+ Assert . That ( new Address ( 16 ) != new Address ( 0 , 1 ) ) ;
40+ Assert . That ( new Address ( 16 ) , Is . EqualTo ( new Address ( 1 , 0 ) ) ) ;
41+ Assert . That ( new Address ( 16 ) , Is . Not . EqualTo ( new Address ( 0 , 1 ) ) ) ;
42+ Assert . That ( new Address ( 16 ) , Is . EqualTo ( ( object ) new Address ( 1 , 0 ) ) ) ;
43+ Assert . That ( new Address ( 16 ) . GetHashCode ( ) , Is . Not . EqualTo ( new Address ( 0 , 1 ) . GetHashCode ( ) ) ) ;
44+ Assert . That ( new Address ( 16 ) . Equals ( ( object ) new Address ( 1 , 0 ) ) , Is . True ) ;
45+ Assert . That ( new Address ( 16 ) . Equals ( ( object ) new Address ( 0 , 1 ) ) , Is . False ) ;
46+ Assert . That ( new Address ( 16 ) . Equals ( null ) , Is . False ) ;
47+ Assert . That ( new Address ( 16 ) , Is . Not . EqualTo ( null ) ) ;
48+ Assert . That ( new Address ( 16 ) . ToString ( ) , Is . Not . Empty ) ;
49+ } ) ;
50+
51+ HashSet < Address > addresses = new HashSet < Address > ( ) ;
52+ for ( byte b = 0 ; b < byte . MaxValue ; b ++ )
53+ {
54+ Address address = ( Address ) b ;
55+ addresses . Add ( address ) ;
56+ Assert . That ( ( byte ) address , Is . EqualTo ( b ) ) ;
57+ }
58+ Assert . That ( addresses , Has . Count . EqualTo ( byte . MaxValue ) ) ;
59+
60+ Assert . That ( addresses . OrderByDescending ( s => s . Universe ) . ThenBy ( s => s ) . ToArray ( ) , Has . Length . EqualTo ( byte . MaxValue ) ) ;
61+ }
62+ }
63+ }
0 commit comments