Skip to content

Latest commit

 

History

History
45 lines (37 loc) · 1.86 KB

feh.phtpe.vectors.VectorMeasuresSpec.md

File metadata and controls

45 lines (37 loc) · 1.86 KB

Vector Measures Specification

[+] Creation

	[+] zeros[Int, _2].of[kg]    phEquals (0, 0).vector[kg]  
	[+] zeros[Double, _3].of[m]  phEquals (0, 0, 0).vector[m]  
	[+] ones[Float, _2].of[m/s]  phEquals (1, 1).vector[m/s]  
	[+] ones[Long, _3].of[N]     phEquals (1, 1, 1).vector[N]  

[+] Elements

	[+] zeros[Float, _3].of[N/m]*5 |> {v => (v.x =@= v.y) and (v.y =@= v.z) and (v.z =@= 0.of[kg/(s^_2)]) }  
	[+] (zeros[Float, _2].of[N/m]._2 =@= 1.of[kg/(s^_2)]) must beFalse  

[+] Numeric Transforms

	[+] ones[Int, _2].of[kg].to[Float] / 10   phEquals ones[Float, _2].of[kg] / 10  
	[+] ( (ones[Float, _2].of[s] / 10).to[Int]  phEquals ones[Float, _2].of[s] / 10 ) must beFalse  

[+] Scalar Operations

	[+] ones[Int, _3].of[m/s] * 10.of[s]          phEquals (10, 10, 10).vector[m]  
	[+] ones[Float, _2].of[m] / 2.of[s]           phEquals (.5, .5).vector[m/s]  
	[+] ones[Float, _2].of[N].abs                 phEquals math.sqrt(2).toFloat.of[N]  
	[+] ones[Float, _2].of[N/m].*(5).normalize._1 phEquals (1f/math.sqrt(2).toFloat).of[kg/(s^_2)]  
	[+] (2, 3).vector[m/s] * 2.of[s]              phEquals (4, 6).vector[m]  
	[+] (2d, 2d).vector[m] / 2.of[s]              phEquals ones[Int, _2].of[m/s]  
	[+] (2d, 2d).vector[m] / 2.of[m]              phEquals ones[Int, _2]  

[+] Vector Operations

	[+] (1, 1).vector[m] + (1, 0).vector[m]            phEquals  (2, 1).vector[m]  
	[+] (2, 1).vector[N] - (1, 0).vector[N]            phEquals ones[Int, _2].of[N]  
	[+] (2, 3).vector[m] ** (3, 2).vector[s^-_1]       phEquals (6, 6).vector[m/s]  
	[+] (2, 3).vector[m] `.` (3, 2).vector[s^-_1]      phEquals 12.of[m/s]  
	[+] (1, 2, 3).vector[m] X (3, 2, 1).vector[s^-_1]  phEquals (-4, 8, -4).vector[m/s]  
   

| Vector Measures Specification | Finished in 57 ms | 20 examples, 22 expectations, 0 failure, 0 error |