| 
									
										
										
										
											2015-12-02 14:27:18 +00:00
										 |  |  | package assert | 
					
						
							| 
									
										
										
										
											2015-09-09 15:18:29 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-12-02 15:41:19 +00:00
										 |  |  | import ( | 
					
						
							| 
									
										
										
										
											2015-12-05 21:10:14 +01:00
										 |  |  | 	"strings" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-12-02 16:27:55 +00:00
										 |  |  | 	"github.com/v2ray/v2ray-core/common/serial" | 
					
						
							| 
									
										
										
										
											2015-12-02 15:41:19 +00:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func StringLiteral(value string) *StringSubject { | 
					
						
							| 
									
										
										
										
											2015-12-02 16:27:55 +00:00
										 |  |  | 	return String(serial.StringLiteral((value))) | 
					
						
							| 
									
										
										
										
											2015-12-02 15:41:19 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func String(value serial.String) *StringSubject { | 
					
						
							| 
									
										
										
										
											2015-12-02 14:27:18 +00:00
										 |  |  | 	return &StringSubject{value: value} | 
					
						
							| 
									
										
										
										
											2015-09-09 15:18:29 +02:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-12-02 14:27:18 +00:00
										 |  |  | type StringSubject struct { | 
					
						
							|  |  |  | 	Subject | 
					
						
							| 
									
										
										
										
											2015-12-02 15:41:19 +00:00
										 |  |  | 	value serial.String | 
					
						
							| 
									
										
										
										
											2015-09-09 15:18:29 +02:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (subject *StringSubject) Named(name string) *StringSubject { | 
					
						
							|  |  |  | 	subject.Subject.Named(name) | 
					
						
							|  |  |  | 	return subject | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (subject *StringSubject) DisplayString() string { | 
					
						
							| 
									
										
										
										
											2015-12-02 15:41:19 +00:00
										 |  |  | 	return subject.Subject.DisplayString(subject.value.String()) | 
					
						
							| 
									
										
										
										
											2015-09-09 15:18:29 +02:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (subject *StringSubject) Equals(expectation string) { | 
					
						
							| 
									
										
										
										
											2015-12-02 15:41:19 +00:00
										 |  |  | 	if subject.value.String() != expectation { | 
					
						
							|  |  |  | 		subject.Fail(subject.DisplayString(), "is equal to", serial.StringLiteral(expectation)) | 
					
						
							| 
									
										
										
										
											2015-09-09 15:18:29 +02:00
										 |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2015-12-05 21:10:14 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-12-12 13:11:49 +01:00
										 |  |  | func (subject *StringSubject) NotEquals(expectation string) { | 
					
						
							|  |  |  | 	if subject.value.String() == expectation { | 
					
						
							|  |  |  | 		subject.Fail(subject.DisplayString(), "is not equal to ", serial.StringLiteral(expectation)) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-12-05 21:10:14 +01:00
										 |  |  | func (subject *StringSubject) Contains(substring serial.String) { | 
					
						
							|  |  |  | 	if !strings.Contains(subject.value.String(), substring.String()) { | 
					
						
							|  |  |  | 		subject.Fail(subject.DisplayString(), "contains", substring) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (subject *StringSubject) NotContains(substring serial.String) { | 
					
						
							|  |  |  | 	if strings.Contains(subject.value.String(), substring.String()) { | 
					
						
							|  |  |  | 		subject.Fail(subject.DisplayString(), "doesn't contain", substring) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } |