def test_parse_create_invalid_name(self, *_): window = MagicMock(spec=sublime.Window) cmd = JavatarCreateCommand(window) tests = [ "", "~", ":", "<", ":<", "<:", "alpha.", ".alpha", ".alpha.", "alpha.bravo.", ".alpha.bravo", ".alpha.bravo.", ":charlie", "<charlie", ":charlie,delta", "<charlie,delta" ] for test in tests: self.assertEqual(cmd.parse_create(test), "Invalid class naming") self.assertEqual(cmd.parse_create("~" + test), "Invalid class naming")
def test_parse_create_invalid_location(self, *_): window = MagicMock(spec=sublime.Window) cmd = JavatarCreateCommand(window) tests = [ "", "~", ":", "<", ":<", "<:", "alpha.", ".alpha", ".alpha.", "alpha.bravo.", ".alpha.bravo", ".alpha.bravo.", ":charlie", "<charlie", ":charlie,delta", "<charlie,delta" ] for test in tests: self.assertEqual(cmd.parse_create(test), "Cannot specify package location") self.assertEqual(cmd.parse_create("~" + test), "Cannot specify package location")
def test_parse_create_invalid_name(self, *_): window = MagicMock(spec=sublime.Window) cmd = JavatarCreateCommand(window) tests = [ "", "~", ":", "<", ":<", "<:", "alpha.", ".alpha", ".alpha.", "alpha.bravo.", ".alpha.bravo", ".alpha.bravo.", ":charlie", "<charlie", ":charlie,delta", "<charlie,delta" ] for test in tests: self.assertEqual( cmd.parse_create(test), "Invalid class naming" ) self.assertEqual( cmd.parse_create("~" + test), "Invalid class naming" )
def test_parse_create_invalid_location(self, *_): window = MagicMock(spec=sublime.Window) cmd = JavatarCreateCommand(window) tests = [ "", "~", ":", "<", ":<", "<:", "alpha.", ".alpha", ".alpha.", "alpha.bravo.", ".alpha.bravo", ".alpha.bravo.", ":charlie", "<charlie", ":charlie,delta", "<charlie,delta" ] for test in tests: self.assertEqual( cmd.parse_create(test), "Cannot specify package location" ) self.assertEqual( cmd.parse_create("~" + test), "Cannot specify package location" )
def test_parse_create(self, *_): window = MagicMock(spec=sublime.Window) cmd = JavatarCreateCommand(window) tests = [{ "input": "Alpha", "expected": { "relative_path": True, "class_name": "Alpha", "package": "bravo", "as_main": False, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/", "file": "alpha/bravo/Alpha.java" } }, { "input": "Alpha.Bravo", "expected": { "relative_path": True, "class_name": "Bravo", "package": "bravo.Alpha", "as_main": False, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/Alpha", "file": "alpha/bravo/Alpha/Bravo.java" } }, { "input": "Alpha.Bravo.Charlie", "expected": { "relative_path": True, "class_name": "Charlie", "package": "bravo.Alpha.Bravo", "as_main": False, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/Alpha/Bravo", "file": "alpha/bravo/Alpha/Bravo/Charlie.java" } }, { "input": "Alpha.Bravo.CharlieAsMain", "expected": { "relative_path": True, "class_name": "Charlie", "package": "bravo.Alpha.Bravo", "as_main": True, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/Alpha/Bravo", "file": "alpha/bravo/Alpha/Bravo/Charlie.java" } }, { "input": "Alpha.Bravo.privateCharlieAsMain", "expected": { "relative_path": True, "class_name": "Charlie", "package": "bravo.Alpha.Bravo", "as_main": True, "extends": [], "implements": [], "visibility_keyword": "private", "modifier_keyword": "", "directory": "alpha/bravo/Alpha/Bravo", "file": "alpha/bravo/Alpha/Bravo/Charlie.java" } }, { "input": "Alpha.Bravo.abstractCharlieAsMain", "expected": { "relative_path": True, "class_name": "Charlie", "package": "bravo.Alpha.Bravo", "as_main": True, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "abstract", "directory": "alpha/bravo/Alpha/Bravo", "file": "alpha/bravo/Alpha/Bravo/Charlie.java" } }, { "input": "Alpha.Bravo.ProtectedFinalCharlieAsMain", "expected": { "relative_path": True, "class_name": "Charlie", "package": "bravo.Alpha.Bravo", "as_main": True, "extends": [], "implements": [], "visibility_keyword": "protected", "modifier_keyword": "final", "directory": "alpha/bravo/Alpha/Bravo", "file": "alpha/bravo/Alpha/Bravo/Charlie.java" } }, { "input": "Alpha.Bravo:Charlie", "expected": { "relative_path": True, "class_name": "Bravo", "package": "bravo.Alpha", "as_main": False, "extends": ["Charlie"], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/Alpha", "file": "alpha/bravo/Alpha/Bravo.java" } }, { "input": "Alpha.Bravo:Charlie,Delta", "expected": { "relative_path": True, "class_name": "Bravo", "package": "bravo.Alpha", "as_main": False, "extends": ["Charlie", "Delta"], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/Alpha", "file": "alpha/bravo/Alpha/Bravo.java" } }, { "input": "Alpha.Bravo<Charlie,Delta", "expected": { "relative_path": True, "class_name": "Bravo", "package": "bravo.Alpha", "as_main": False, "extends": [], "implements": ["Charlie", "Delta"], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/Alpha", "file": "alpha/bravo/Alpha/Bravo.java" } }, { "input": "Alpha.Bravo:Charlie<Delta", "expected": { "relative_path": True, "class_name": "Bravo", "package": "bravo.Alpha", "as_main": False, "extends": ["Charlie"], "implements": ["Delta"], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/Alpha", "file": "alpha/bravo/Alpha/Bravo.java" } }, { "input": "Alpha.Bravo:Charlie,Delta<Echo,Foxtrot", "expected": { "relative_path": True, "class_name": "Bravo", "package": "bravo.Alpha", "as_main": False, "extends": ["Charlie", "Delta"], "implements": ["Echo", "Foxtrot"], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/Alpha", "file": "alpha/bravo/Alpha/Bravo.java" } }, { "input": "~Alpha", "expected": { "relative_path": False, "class_name": "Alpha", "package": "", "as_main": False, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/", "file": "alpha/Alpha.java" } }, { "input": "~Alpha.Bravo", "expected": { "relative_path": False, "class_name": "Bravo", "package": "Alpha", "as_main": False, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/Alpha", "file": "alpha/Alpha/Bravo.java" } }, { "input": "~Alpha.Bravo.Charlie", "expected": { "relative_path": False, "class_name": "Charlie", "package": "Alpha.Bravo", "as_main": False, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/Alpha/Bravo", "file": "alpha/Alpha/Bravo/Charlie.java" } }, { "input": "~Alpha.Bravo.CharlieAsMain", "expected": { "relative_path": False, "class_name": "Charlie", "package": "Alpha.Bravo", "as_main": True, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/Alpha/Bravo", "file": "alpha/Alpha/Bravo/Charlie.java" } }, { "input": "~Alpha.Bravo.privateCharlieAsMain", "expected": { "relative_path": False, "class_name": "Charlie", "package": "Alpha.Bravo", "as_main": True, "extends": [], "implements": [], "visibility_keyword": "private", "modifier_keyword": "", "directory": "alpha/Alpha/Bravo", "file": "alpha/Alpha/Bravo/Charlie.java" } }, { "input": "~Alpha.Bravo.abstractCharlieAsMain", "expected": { "relative_path": False, "class_name": "Charlie", "package": "Alpha.Bravo", "as_main": True, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "abstract", "directory": "alpha/Alpha/Bravo", "file": "alpha/Alpha/Bravo/Charlie.java" } }, { "input": "~Alpha.Bravo.ProtectedFinalCharlieAsMain", "expected": { "relative_path": False, "class_name": "Charlie", "package": "Alpha.Bravo", "as_main": True, "extends": [], "implements": [], "visibility_keyword": "protected", "modifier_keyword": "final", "directory": "alpha/Alpha/Bravo", "file": "alpha/Alpha/Bravo/Charlie.java" } }, { "input": "~Alpha.Bravo:Charlie", "expected": { "relative_path": False, "class_name": "Bravo", "package": "Alpha", "as_main": False, "extends": ["Charlie"], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/Alpha", "file": "alpha/Alpha/Bravo.java" } }, { "input": "~Alpha.Bravo:Charlie,Delta", "expected": { "relative_path": False, "class_name": "Bravo", "package": "Alpha", "as_main": False, "extends": ["Charlie", "Delta"], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/Alpha", "file": "alpha/Alpha/Bravo.java" } }, { "input": "~Alpha.Bravo<Charlie,Delta", "expected": { "relative_path": False, "class_name": "Bravo", "package": "Alpha", "as_main": False, "extends": [], "implements": ["Charlie", "Delta"], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/Alpha", "file": "alpha/Alpha/Bravo.java" } }, { "input": "~Alpha.Bravo:Charlie<Delta", "expected": { "relative_path": False, "class_name": "Bravo", "package": "Alpha", "as_main": False, "extends": ["Charlie"], "implements": ["Delta"], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/Alpha", "file": "alpha/Alpha/Bravo.java" } }, { "input": "~Alpha.Bravo:Charlie,Delta<Echo,Foxtrot", "expected": { "relative_path": False, "class_name": "Bravo", "package": "Alpha", "as_main": False, "extends": ["Charlie", "Delta"], "implements": ["Echo", "Foxtrot"], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/Alpha", "file": "alpha/Alpha/Bravo.java" } }] for test in tests: info = cmd.parse_create(test["input"]) for key in test["expected"]: if key == "package": self.assertEqual(test["expected"][key], info[key].as_class_path()) else: self.assertEqual(test["expected"][key], info[key])
def test_parse_create(self, *_): window = MagicMock(spec=sublime.Window) cmd = JavatarCreateCommand(window) tests = [ { "input": "Alpha", "expected": { "relative_path": True, "class_name": "Alpha", "package": "bravo", "as_main": False, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/", "file": "alpha/bravo/Alpha.java" } }, { "input": "Alpha.Bravo", "expected": { "relative_path": True, "class_name": "Bravo", "package": "bravo.Alpha", "as_main": False, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/Alpha", "file": "alpha/bravo/Alpha/Bravo.java" } }, { "input": "Alpha.Bravo.Charlie", "expected": { "relative_path": True, "class_name": "Charlie", "package": "bravo.Alpha.Bravo", "as_main": False, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/Alpha/Bravo", "file": "alpha/bravo/Alpha/Bravo/Charlie.java" } }, { "input": "Alpha.Bravo.CharlieAsMain", "expected": { "relative_path": True, "class_name": "Charlie", "package": "bravo.Alpha.Bravo", "as_main": True, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/Alpha/Bravo", "file": "alpha/bravo/Alpha/Bravo/Charlie.java" } }, { "input": "Alpha.Bravo.privateCharlieAsMain", "expected": { "relative_path": True, "class_name": "Charlie", "package": "bravo.Alpha.Bravo", "as_main": True, "extends": [], "implements": [], "visibility_keyword": "private", "modifier_keyword": "", "directory": "alpha/bravo/Alpha/Bravo", "file": "alpha/bravo/Alpha/Bravo/Charlie.java" } }, { "input": "Alpha.Bravo.abstractCharlieAsMain", "expected": { "relative_path": True, "class_name": "Charlie", "package": "bravo.Alpha.Bravo", "as_main": True, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "abstract", "directory": "alpha/bravo/Alpha/Bravo", "file": "alpha/bravo/Alpha/Bravo/Charlie.java" } }, { "input": "Alpha.Bravo.ProtectedFinalCharlieAsMain", "expected": { "relative_path": True, "class_name": "Charlie", "package": "bravo.Alpha.Bravo", "as_main": True, "extends": [], "implements": [], "visibility_keyword": "protected", "modifier_keyword": "final", "directory": "alpha/bravo/Alpha/Bravo", "file": "alpha/bravo/Alpha/Bravo/Charlie.java" } }, { "input": "Alpha.Bravo:Charlie", "expected": { "relative_path": True, "class_name": "Bravo", "package": "bravo.Alpha", "as_main": False, "extends": ["Charlie"], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/Alpha", "file": "alpha/bravo/Alpha/Bravo.java" } }, { "input": "Alpha.Bravo:Charlie,Delta", "expected": { "relative_path": True, "class_name": "Bravo", "package": "bravo.Alpha", "as_main": False, "extends": ["Charlie", "Delta"], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/Alpha", "file": "alpha/bravo/Alpha/Bravo.java" } }, { "input": "Alpha.Bravo<Charlie,Delta", "expected": { "relative_path": True, "class_name": "Bravo", "package": "bravo.Alpha", "as_main": False, "extends": [], "implements": ["Charlie", "Delta"], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/Alpha", "file": "alpha/bravo/Alpha/Bravo.java" } }, { "input": "Alpha.Bravo:Charlie<Delta", "expected": { "relative_path": True, "class_name": "Bravo", "package": "bravo.Alpha", "as_main": False, "extends": ["Charlie"], "implements": ["Delta"], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/Alpha", "file": "alpha/bravo/Alpha/Bravo.java" } }, { "input": "Alpha.Bravo:Charlie,Delta<Echo,Foxtrot", "expected": { "relative_path": True, "class_name": "Bravo", "package": "bravo.Alpha", "as_main": False, "extends": ["Charlie", "Delta"], "implements": ["Echo", "Foxtrot"], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/bravo/Alpha", "file": "alpha/bravo/Alpha/Bravo.java" } }, { "input": "~Alpha", "expected": { "relative_path": False, "class_name": "Alpha", "package": "", "as_main": False, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/", "file": "alpha/Alpha.java" } }, { "input": "~Alpha.Bravo", "expected": { "relative_path": False, "class_name": "Bravo", "package": "Alpha", "as_main": False, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/Alpha", "file": "alpha/Alpha/Bravo.java" } }, { "input": "~Alpha.Bravo.Charlie", "expected": { "relative_path": False, "class_name": "Charlie", "package": "Alpha.Bravo", "as_main": False, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/Alpha/Bravo", "file": "alpha/Alpha/Bravo/Charlie.java" } }, { "input": "~Alpha.Bravo.CharlieAsMain", "expected": { "relative_path": False, "class_name": "Charlie", "package": "Alpha.Bravo", "as_main": True, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/Alpha/Bravo", "file": "alpha/Alpha/Bravo/Charlie.java" } }, { "input": "~Alpha.Bravo.privateCharlieAsMain", "expected": { "relative_path": False, "class_name": "Charlie", "package": "Alpha.Bravo", "as_main": True, "extends": [], "implements": [], "visibility_keyword": "private", "modifier_keyword": "", "directory": "alpha/Alpha/Bravo", "file": "alpha/Alpha/Bravo/Charlie.java" } }, { "input": "~Alpha.Bravo.abstractCharlieAsMain", "expected": { "relative_path": False, "class_name": "Charlie", "package": "Alpha.Bravo", "as_main": True, "extends": [], "implements": [], "visibility_keyword": "public", "modifier_keyword": "abstract", "directory": "alpha/Alpha/Bravo", "file": "alpha/Alpha/Bravo/Charlie.java" } }, { "input": "~Alpha.Bravo.ProtectedFinalCharlieAsMain", "expected": { "relative_path": False, "class_name": "Charlie", "package": "Alpha.Bravo", "as_main": True, "extends": [], "implements": [], "visibility_keyword": "protected", "modifier_keyword": "final", "directory": "alpha/Alpha/Bravo", "file": "alpha/Alpha/Bravo/Charlie.java" } }, { "input": "~Alpha.Bravo:Charlie", "expected": { "relative_path": False, "class_name": "Bravo", "package": "Alpha", "as_main": False, "extends": ["Charlie"], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/Alpha", "file": "alpha/Alpha/Bravo.java" } }, { "input": "~Alpha.Bravo:Charlie,Delta", "expected": { "relative_path": False, "class_name": "Bravo", "package": "Alpha", "as_main": False, "extends": ["Charlie", "Delta"], "implements": [], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/Alpha", "file": "alpha/Alpha/Bravo.java" } }, { "input": "~Alpha.Bravo<Charlie,Delta", "expected": { "relative_path": False, "class_name": "Bravo", "package": "Alpha", "as_main": False, "extends": [], "implements": ["Charlie", "Delta"], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/Alpha", "file": "alpha/Alpha/Bravo.java" } }, { "input": "~Alpha.Bravo:Charlie<Delta", "expected": { "relative_path": False, "class_name": "Bravo", "package": "Alpha", "as_main": False, "extends": ["Charlie"], "implements": ["Delta"], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/Alpha", "file": "alpha/Alpha/Bravo.java" } }, { "input": "~Alpha.Bravo:Charlie,Delta<Echo,Foxtrot", "expected": { "relative_path": False, "class_name": "Bravo", "package": "Alpha", "as_main": False, "extends": ["Charlie", "Delta"], "implements": ["Echo", "Foxtrot"], "visibility_keyword": "public", "modifier_keyword": "", "directory": "alpha/Alpha", "file": "alpha/Alpha/Bravo.java" } } ] for test in tests: info = cmd.parse_create(test["input"]) for key in test["expected"]: if key == "package": self.assertEqual( test["expected"][key], info[key].as_class_path() ) else: self.assertEqual(test["expected"][key], info[key])