Module:CineMol/fitting/testcases

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
-- Unit tests for [[Module:CineMol/fitting]]. Click talk page to run tests.

-- This is a port of CineMol to lua
-- CineMol https://github.com/moltools/CineMol was written by David Meijer, Marnix H. Medema & Justin J. J. van der Hooft and is MIT licensed
-- Please consider any edits I make to this page also dual licensed MIT & CC-BY-SA 4.0

require('strict')
local p = require('Module:UnitTests')
local calculate_convex_hull = require('Module:CineMol/fitting').calculate_convex_hull
local Point2D = require('Module:CineMol/geometry').Point2D


function p:test_calculate_convex_hull_basic()
        local points = {Point2D(0, 0), Point2D(1, 1), Point2D(2, 0), Point2D(1, -1)}
        local result = calculate_convex_hull(points)
        self:equals_deep("basic", result, {1, 4, 3, 2}) 
end

function p:test_calculate_convex_hull_including_centroid()
        local points = {Point2D(0, 0), Point2D(1, 1), Point2D(2, 0), Point2D(1, -1), Point2D(1, 0)}
        local result = calculate_convex_hull(points)
        self:equals_deep("basic", result, {1, 4, 3, 2}) 
end

return p