Coverage for intelligence_toolkit/tests/unit/generate_mock_data/test_prompts.py: 100%

35 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2025-10-16 13:41 -0300

1# Copyright (c) 2024 Microsoft Corporation. All rights reserved. 

2# Licensed under the MIT license. See LICENSE file in the project. 

3 

4import pytest 

5from intelligence_toolkit.generate_mock_data.prompts import ( 

6 unseeded_data_generation_prompt, 

7 seeded_data_generation_prompt, 

8 text_generation_prompt, 

9) 

10 

11 

12def test_unseeded_data_generation_prompt_exists(): 

13 assert isinstance(unseeded_data_generation_prompt, str) 

14 assert len(unseeded_data_generation_prompt) > 0 

15 

16 

17def test_unseeded_data_generation_prompt_has_placeholders(): 

18 assert "{generation_guidance}" in unseeded_data_generation_prompt 

19 assert "{primary_record_array}" in unseeded_data_generation_prompt 

20 assert "{total_records}" in unseeded_data_generation_prompt 

21 

22 

23def test_unseeded_data_generation_prompt_has_instructions(): 

24 assert "JSON object" in unseeded_data_generation_prompt 

25 assert "schema" in unseeded_data_generation_prompt.lower() 

26 

27 

28def test_seeded_data_generation_prompt_exists(): 

29 assert isinstance(seeded_data_generation_prompt, str) 

30 assert len(seeded_data_generation_prompt) > 0 

31 

32 

33def test_seeded_data_generation_prompt_has_placeholders(): 

34 assert "{generation_guidance}" in seeded_data_generation_prompt 

35 assert "{primary_record_array}" in seeded_data_generation_prompt 

36 assert "{seed_record}" in seeded_data_generation_prompt 

37 assert "{record_targets}" in seeded_data_generation_prompt 

38 

39 

40def test_seeded_data_generation_prompt_mentions_duplicates(): 

41 assert "duplicate" in seeded_data_generation_prompt.lower() 

42 assert "relation" in seeded_data_generation_prompt.lower() 

43 

44 

45def test_text_generation_prompt_exists(): 

46 assert isinstance(text_generation_prompt, str) 

47 assert len(text_generation_prompt) > 0 

48 

49 

50def test_text_generation_prompt_has_placeholders(): 

51 assert "{generation_guidance}" in text_generation_prompt 

52 assert "{input_text}" in text_generation_prompt 

53 

54 

55def test_text_generation_prompt_mentions_document(): 

56 assert "text" in text_generation_prompt.lower() or "document" in text_generation_prompt.lower() 

57 

58 

59def test_prompts_are_distinct(): 

60 # Verify each prompt is unique 

61 assert unseeded_data_generation_prompt != seeded_data_generation_prompt 

62 assert unseeded_data_generation_prompt != text_generation_prompt 

63 assert seeded_data_generation_prompt != text_generation_prompt