v8.run/go/exp@v0.0.26-0.20230226010534-afcdbd3f782d/util/mathutil/map_test.go (about)

     1  package mathutil
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestMapInt(t *testing.T) {
     8  	type args struct {
     9  		v      int
    10  		inMin  int
    11  		inMax  int
    12  		outMin int
    13  		outMax int
    14  	}
    15  	tests := []struct {
    16  		name string
    17  		args args
    18  		want int
    19  	}{
    20  		{
    21  			name: "0",
    22  			args: args{
    23  				v:      0,
    24  				inMin:  0,
    25  				inMax:  10,
    26  				outMin: 0,
    27  				outMax: 10000,
    28  			},
    29  			want: 0,
    30  		},
    31  		{
    32  			name: "10",
    33  			args: args{
    34  				v:      10,
    35  				inMin:  0,
    36  				inMax:  10,
    37  				outMin: 0,
    38  				outMax: 10000,
    39  			},
    40  			want: 10000,
    41  		},
    42  		{
    43  			name: "5",
    44  			args: args{
    45  				v:      5,
    46  				inMin:  0,
    47  				inMax:  10,
    48  				outMin: 0,
    49  				outMax: 10000,
    50  			},
    51  			want: 5000,
    52  		},
    53  		{
    54  			name: "2",
    55  			args: args{
    56  				v:      2,
    57  				inMin:  0,
    58  				inMax:  10,
    59  				outMin: 0,
    60  				outMax: 10000,
    61  			},
    62  			want: 2000,
    63  		},
    64  		{
    65  			name: "7",
    66  			args: args{
    67  				v:      7,
    68  				inMin:  0,
    69  				inMax:  10,
    70  				outMin: 0,
    71  				outMax: 10000,
    72  			},
    73  			want: 7000,
    74  		},
    75  	}
    76  	for _, tt := range tests {
    77  		t.Run(tt.name, func(t *testing.T) {
    78  			if got := MapInt(tt.args.v, tt.args.inMin, tt.args.inMax, tt.args.outMin, tt.args.outMax); got != tt.want {
    79  				t.Errorf("MapInt() = %v, want %v", got, tt.want)
    80  			}
    81  		})
    82  	}
    83  }
    84  
    85  func TestMapFloat64(t *testing.T) {
    86  	type args struct {
    87  		v      float64
    88  		inMin  float64
    89  		inMax  float64
    90  		outMin float64
    91  		outMax float64
    92  	}
    93  	tests := []struct {
    94  		name string
    95  		args args
    96  		want float64
    97  	}{
    98  		{
    99  			name: "0",
   100  			args: args{
   101  				v:      0,
   102  				inMin:  0,
   103  				inMax:  10,
   104  				outMin: 0,
   105  				outMax: 10000,
   106  			},
   107  			want: 0,
   108  		},
   109  		{
   110  			name: "10",
   111  			args: args{
   112  				v:      10,
   113  				inMin:  0,
   114  				inMax:  10,
   115  				outMin: 0,
   116  				outMax: 10000,
   117  			},
   118  			want: 10000,
   119  		},
   120  		{
   121  			name: "5",
   122  			args: args{
   123  				v:      5,
   124  				inMin:  0,
   125  				inMax:  10,
   126  				outMin: 0,
   127  				outMax: 10000,
   128  			},
   129  			want: 5000,
   130  		},
   131  		{
   132  			name: "2",
   133  			args: args{
   134  				v:      2,
   135  				inMin:  0,
   136  				inMax:  10,
   137  				outMin: 0,
   138  				outMax: 10000,
   139  			},
   140  			want: 2000,
   141  		},
   142  		{
   143  			name: "7",
   144  			args: args{
   145  				v:      7,
   146  				inMin:  0,
   147  				inMax:  10,
   148  				outMin: 0,
   149  				outMax: 10000,
   150  			},
   151  			want: 7000,
   152  		},
   153  	}
   154  	for _, tt := range tests {
   155  		t.Run(tt.name, func(t *testing.T) {
   156  			if got := MapFloat64(tt.args.v, tt.args.inMin, tt.args.inMax, tt.args.outMin, tt.args.outMax); got != tt.want {
   157  				t.Errorf("MapFloat64() = %v, want %v", got, tt.want)
   158  			}
   159  		})
   160  	}
   161  }
   162  
   163  func TestMapFloat32(t *testing.T) {
   164  	type args struct {
   165  		v      float32
   166  		inMin  float32
   167  		inMax  float32
   168  		outMin float32
   169  		outMax float32
   170  	}
   171  	tests := []struct {
   172  		name string
   173  		args args
   174  		want float32
   175  	}{
   176  		{
   177  			name: "0",
   178  			args: args{
   179  				v:      0,
   180  				inMin:  0,
   181  				inMax:  10,
   182  				outMin: 0,
   183  				outMax: 10000,
   184  			},
   185  			want: 0,
   186  		},
   187  		{
   188  			name: "10",
   189  			args: args{
   190  				v:      10,
   191  				inMin:  0,
   192  				inMax:  10,
   193  				outMin: 0,
   194  				outMax: 10000,
   195  			},
   196  			want: 10000,
   197  		},
   198  		{
   199  			name: "5",
   200  			args: args{
   201  				v:      5,
   202  				inMin:  0,
   203  				inMax:  10,
   204  				outMin: 0,
   205  				outMax: 10000,
   206  			},
   207  			want: 5000,
   208  		},
   209  		{
   210  			name: "2",
   211  			args: args{
   212  				v:      2,
   213  				inMin:  0,
   214  				inMax:  10,
   215  				outMin: 0,
   216  				outMax: 10000,
   217  			},
   218  			want: 2000,
   219  		},
   220  		{
   221  			name: "7",
   222  			args: args{
   223  				v:      7,
   224  				inMin:  0,
   225  				inMax:  10,
   226  				outMin: 0,
   227  				outMax: 10000,
   228  			},
   229  			want: 7000,
   230  		},
   231  	}
   232  	for _, tt := range tests {
   233  		t.Run(tt.name, func(t *testing.T) {
   234  			if got := MapFloat32(tt.args.v, tt.args.inMin, tt.args.inMax, tt.args.outMin, tt.args.outMax); got != tt.want {
   235  				t.Errorf("MapFloat32() = %v, want %v", got, tt.want)
   236  			}
   237  		})
   238  	}
   239  }