| // Copyright (c) 2015, Google Inc. Please see the AUTHORS file for details. |
| // All rights reserved. Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| import 'package:test/test.dart'; |
| |
| import 'package:vector_math/vector_math.dart'; |
| |
| import 'test_utils.dart'; |
| |
| void testSphereContainsVector3() { |
| final parent = Sphere.centerRadius($v3(1.0, 1.0, 1.0), 2.0); |
| final child = $v3(1.0, 1.0, 2.0); |
| final cutting = $v3(1.0, 3.0, 1.0); |
| final outside = $v3(-10.0, 10.0, 10.0); |
| |
| expect(parent.containsVector3(child), isTrue); |
| expect(parent.containsVector3(cutting), isFalse); |
| expect(parent.containsVector3(outside), isFalse); |
| } |
| |
| void testSphereIntersectionVector3() { |
| final parent = Sphere.centerRadius($v3(1.0, 1.0, 1.0), 2.0); |
| final child = $v3(1.0, 1.0, 2.0); |
| final cutting = $v3(1.0, 3.0, 1.0); |
| final outside = $v3(-10.0, 10.0, 10.0); |
| |
| expect(parent.intersectsWithVector3(child), isTrue); |
| expect(parent.intersectsWithVector3(cutting), isTrue); |
| expect(parent.intersectsWithVector3(outside), isFalse); |
| } |
| |
| void testSphereIntersectionSphere() { |
| final parent = Sphere.centerRadius($v3(1.0, 1.0, 1.0), 2.0); |
| final child = Sphere.centerRadius($v3(1.0, 1.0, 2.0), 1.0); |
| final cutting = Sphere.centerRadius($v3(1.0, 6.0, 1.0), 3.0); |
| final outside = Sphere.centerRadius($v3(10.0, -1.0, 1.0), 1.0); |
| |
| expect(parent.intersectsWithSphere(child), isTrue); |
| expect(parent.intersectsWithSphere(cutting), isTrue); |
| expect(parent.intersectsWithSphere(outside), isFalse); |
| } |
| |
| void main() { |
| group('Sphere', () { |
| test(' Contains Vector3', testSphereContainsVector3); |
| test('Sphere Intersection Vector3', testSphereIntersectionVector3); |
| test('Sphere Intersection Sphere', testSphereIntersectionSphere); |
| }); |
| } |