diff options
Diffstat (limited to 'db_actions_test.go')
-rw-r--r-- | db_actions_test.go | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/db_actions_test.go b/db_actions_test.go new file mode 100644 index 0000000..7b96426 --- /dev/null +++ b/db_actions_test.go @@ -0,0 +1,73 @@ +// db_actions defines actions on the database +// Copyright (C) 2019 Emile Hansmaennel +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <https://www.gnu.org/licenses/>. + +package db_actions + +import ( + "database/sql" + "reflect" + "testing" + + "git.darknebu.la/GalaxySimulator/structs" + _ "github.com/lib/pq" +) + +func TestCalcAllForces(t *testing.T) { + // define a database + db = ConnectToDB() + db.SetMaxOpenConns(75) + + type args struct { + database *sql.DB + star structs.Star2D + theta float64 + } + tests := []struct { + name string + args args + want structs.Vec2 + }{ + { + name: "force acting on a single star", + args: args{ + database: db, + star: structs.Star2D{ + C: structs.Vec2{ + X: 100, + Y: 100, + }, + V: structs.Vec2{ + X: 0, + Y: 0, + }, + M: 1000, + }, + theta: 0.5, + }, + want: structs.Vec2{ + X: 0, + Y: 0, + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if got := CalcAllForces(tt.args.database, tt.args.star, tt.args.theta); !reflect.DeepEqual(got, tt.want) { + t.Errorf("CalcAllForces() = %v, want %v", got, tt.want) + } + }) + } +} |