#=============================================================================================
# @TITLE			Checking forth window - Backup Wizard.
#
# @NUMBER			DBM3_BackupP_039_CheckProperties_inc
#
# @DESCRIPTION		Checking the properties window of a backup medium.
#
# @EXP_RESULT		All controls will be displayed there will be a medium in the lvwMedia -
# @					listview.
#
# @REQUIREMENTS		"Database Manager" is installed.
#=============================================================================================
static WizardOpen = 1;
static unit_array [] = {"KB","MB","GB","Pages"};
static unit_array_ok = 1;

static function RoundNum (in num, in places) {
	auto ans, no, val;
	static tempArr[];
	
	ans = int(num*10 ** places +.5)*10 ** (-places);
	no = split(ans, tempArr, ",");
	
	val = length(tempArr[2]);
	
	while (val != places) {
		tempArr[2] = tempArr[2] & "0";
		val = length(tempArr[2]);
	}

	if (places == 0)
		return tempArr[1];
	else
		return tempArr[1] & "," & tempArr[2];
}

TestName = getvar("testname");
#=============================================================================================
# @STEP 1			Checking window and clicking 'New Parallel Medium'.
#=============================================================================================
if (win_exists("Database Manager Backup Wizard",0) == 0) {
	
	tl_step("Database Manager Backup Wizard - Window Check", "0", "Window still open. - TN: " & TestName);
	
	set_window ("Database Manager Backup Wizard", 1);
	
	set_window ("Database Manager Backup Wizard", 2);
	list_select_item ("lvwMedia", "TestBackupP_inc", Left);
	wait(2);
	toolbar_button_press ("msvb_lib_toolbar", "Properties");
#=============================================================================================
# @STEP 2			Checking the window content.
#=============================================================================================	
	set_window("Medium Properties", 1);
	L_RC_1 = obj_exists("picMedium",0);
	L_RC_2 = obj_exists("txtName",0);
	L_RC_3 = obj_exists("txtBackupType",0);
	L_RC_4 = obj_exists("cmbDeviceType",0);
	L_RC_5 = obj_exists("flxGrid",0);
	
	if (L_RC_1 == 0 &&
		L_RC_2 == 0 &&
		L_RC_3 == 0 &&
		L_RC_4 == 0 &&
		L_RC_5 == 0) {
		
		tl_step ("Medium Properties - TextBackupP_inc - General","0","All controls displayed. - TN: " & TestName);
		
		set_window("Medium Properties", 1);
		obj_get_info("txtName","text", Text_TestBackup);
		obj_get_info("txtBackupType","text", Text_BackupType);
		list_get_selected("cmbDeviceType", Item_DeviceType, number);

		tbl_get_cell_data ("flxGrid", "#1", "#1", cell_value1);
		tbl_get_cell_data ("flxGrid", "#2", "#1", cell_value2);
		
		if (Text_TestBackup == "TestBackupP_inc" &&
			Text_BackupType == "Incremental Data" &&
			Item_DeviceType == "File" &&
			cell_value1 == database & "_INC_01" &&
			cell_value2 == database & "_INC_02") {
			
			tl_step ("Medium Properties - TestBackup - General","0","All expected entries correct. - TN: " & TestName);
		} else {
			tl_step ("Medium Properties - TestBackup - General","1","Not all expected entries correct. - TN: " & TestName);
			tl_step ("Medium Properties - TestBackup - General","1","Name: " & Text_TestBackup & " expected: TestBackupP_inc. - TN: " & TestName);
			tl_step ("Medium Properties - TestBackup - General","1","Name: " & Text_BackupType & " expected: Complete Data. - TN: " & TestName);
			tl_step ("Medium Properties - TestBackup - General","1","Name: " & Item_DeviceType & " expected: File. - TN: " & TestName);
			tl_step ("Medium Properties - TestBackup - General","1","Name: " & cell_value1 & " expected: " & database & "_COM_01. - TN: " & TestName);
			tl_step ("Medium Properties - TestBackup - General","1","Name: " & cell_value2 & " expected: " & database & "_COM_02. - TN: " & TestName);
		}
		
	} else {
		tl_step ("Medium Properties - TextBackup - General","1","Not all controls displayed. - TN: " & TestName);
		tl_step ("Medium Properties - TextBackup - General","1","picMedium: " & L_RC_1 & " expected: 0. - TN: " & TestName);
		tl_step ("Medium Properties - TextBackup - General","1","txtName: " & L_RC_2 & " expected: 0. - TN: " & TestName);
		tl_step ("Medium Properties - TextBackup - General","1","txtBackupType: " & L_RC_3 & " expected: 0. - TN: " & TestName);
		tl_step ("Medium Properties - TextBackup - General","1","cmbDeviceType: " & L_RC_4 & " expected: 0. - TN: " & TestName);
		tl_step ("Medium Properties - TextBackup - General","1","txtLocation " & L_RC_5 & " expected: 0. - TN: " & TestName);
	}
#=============================================================================================
# @STEP 4			Going to 'Extended' tab and checking the objects.
#=============================================================================================
	set_window ("Medium Properties", 1);
	tab_select_item ("tabPages", "&Extended");
	
	L_RC_6 = obj_exists("cmbUnit",0);
	L_RC_7 = obj_exists("ThunderRT6CheckBox_0",0);
	L_RC_8 = obj_exists("ThunderRT6CheckBox_1",0);
	L_RC_9 = obj_exists("txtBlocksize",0);
	L_RC_10 = obj_exists("ThunderRT6CheckBox_2",0);
	L_RC_11 = obj_exists("flxGrid",0);
	
	if (L_RC_6 == 0 &&
		L_RC_7 == 0 &&
		L_RC_8 == 0 &&
		L_RC_9 == 0 &&
		L_RC_10 == 0 &&
		L_RC_11 == 0) {
		
		tl_step ("Medium Properties - TextBackup - Extended","0","All controls displayed. - TN: " & TestName);
		
		set_window ("Medium Properties", 1);
		obj_get_info ("ThunderRT6CheckBox_0", "value", Value_Overwrite);
		obj_get_info ("ThunderRT6CheckBox_1", "value", Value_CheckBlocksize);
		ActiveX_get_info ("txtBlocksize", "Locked", Locked_Blocksize);
		obj_get_info ("txtBlocksize", "text", Text_Blocksize);
		obj_get_info ("ThunderRT6CheckBox_2", "enabled", Enabled_Autoloader);
		
		
		if (match(database, "TT730") != 0) {			
			exp_CheckBlocksize = 1;
			exp_Locked_Blocksize = "False";
		}
			else {
		    	exp_CheckBlocksize = 0;
				exp_Locked_Blocksize = "True";
			}
		
		
		if (Value_Overwrite == 1 &&
			Value_CheckBlocksize == exp_CheckBlocksize &&
			Locked_Blocksize == exp_Locked_Blocksize &&
			Text_Blocksize == "8" &&
			Enabled_Autoloader == 0) {
			
			tl_step ("Medium Properties - TextBackup - Extended - Controls content","0","All like expected. - TN: " & TestName);
		} else {
			tl_step ("Medium Properties - TextBackup - Extended - Controls content","1","Not all like expected. - TN: " & TestName);
			tl_step ("Medium Properties - TextBackup - Extended - Controls content","1","ThunderRT6CheckBox_0: " & Value_Overwrite & " expected: 1. - TN: " & TestName);
			tl_step ("Medium Properties - TextBackup - Extended - Controls content","1","ThunderRT6CheckBox_1: " & Value_CheckBlocksize & " expected: 0. - TN: " & TestName);
			tl_step ("Medium Properties - TextBackup - Extended - Controls content","1","txtBlocksize (locked): " & Locked_Blocksize & " expected: True. - TN: " & TestName);
			tl_step ("Medium Properties - TextBackup - Extended - Controls content","1","txtBlocksize (text): " & Text_Blocksize & " expected: 8. - TN: " & TestName);
			tl_step ("Medium Properties - TextBackup - Extended - Controls content","1","ThunderRT6CheckBox_2: " & Enabled_Autoloader & " expected: 0. - TN: " & TestName);
		}	

	} else {
		tl_step ("Medium Properties - TextBackup - Extended","1","Not all controls displayed. - TN: " & TestName);
		tl_step ("Medium Properties - TextBackup - Extended","1","cmbUnit: " & L_RC_6 & " expected: 0. - TN: " & TestName);
		tl_step ("Medium Properties - TextBackup - Extended","1","ThunderRT6CheckBox_0: " & L_RC_7 & " expected: 0. - TN: " & TestName);
		tl_step ("Medium Properties - TextBackup - Extended","1","ThunderRT6CheckBox_1: " & L_RC_8 & " expected: 0. - TN: " & TestName);
		tl_step ("Medium Properties - TextBackup - Extended","1","txtBlocksize: " & L_RC_9 & " expected: 0. - TN: " & TestName);
		tl_step ("Medium Properties - TextBackup - Extended","1","ThunderRT6CheckBox_2: " & L_RC_10 & " expected: 0. - TN: " & TestName);
		tl_step ("Medium Properties - TextBackup - Extended","1","flxGrid: " & L_RC_11 & " expected: 0. - TN: " & TestName);
	}

#=============================================================================================
# @STEP 6			Checking units.
#=============================================================================================
	set_window ("Medium Properties", 7);
	list_get_info("cmbUnit","count",UnitCount);

	for (i = 0;i < UnitCount;i++) {
		
		list_get_item("cmbUnit",i,item);
		
		if (item != unit_array[i]) {
			
			unit_array_ok = 0;
			break;
		}
	}
	
	if (unit_array_ok == 0) {
		tl_step ("Medium Properties - TextBackup - Extended - units","1","Items not o.k.. - TN: " & TestName);
	} else {
		tl_step ("Medium Properties - TextBackup - Extended - units","0","Items o.k.. - TN: " & TestName);
	}
#=============================================================================================
# @STEP 7			Checking blocksize field.
#=============================================================================================
	obj_get_info("ThunderRT6CheckBox_1", "value", BlockSizeCheckbox);	
	ActiveX_get_info("txtBlocksize","Locked",BlockSizeTextfield);
	
	if (match(database, "TT730") != 0) {			
		exp_CheckBlocksize = 1;
		exp_Locked_Blocksize = "False";
	}
		else {
		    exp_CheckBlocksize = 0;
			exp_Locked_Blocksize = "True";
		}

	if (BlockSizeCheckbox == exp_CheckBlocksize &&
		BlockSizeTextfield == exp_Locked_Blocksize) {
		tl_step ("Medium Properties - TextBackup - Extended - Checking blocksize field (Blocksize off)","0","Correct state. - TN: " & TestName);
	} else {
		tl_step ("Medium Properties - TextBackup - Extended - Checking blocksize field (Blocksize off)","1","Incorrect state. - TN: " & TestName);
	}
	
	set_window ("Medium Properties", 1);

	if (match (database, "TT730") != 0) {			
		button_set ("ThunderRT6CheckBox_1", OFF);
	}
		else {
		    button_set ("ThunderRT6CheckBox_1", ON);
		}
			
	obj_get_info("ThunderRT6CheckBox_1", "value", BlockSizeCheckbox);
	ActiveX_get_info("txtBlocksize","Locked",BlockSizeTextfield);

	
	if (match (database, "TT730") != 0) {			
		exp_BlockSizeCheckbox = 0;
		exp_BlockSizeTextfield = "True";
	}
		else {
		    exp_BlockSizeCheckbox = 1;
			exp_BlockSizeTextfield = "False";
		}
		
	if (BlockSizeCheckbox == exp_BlockSizeCheckbox &&
		BlockSizeTextfield == exp_BlockSizeTextfield) {
		tl_step ("Medium Properties - TextBackup - Extended - Checking blocksize field (Blocksize on)","0","Correct state. - TN: " & TestName);
	} else {
		tl_step ("Medium Properties - TextBackup - Extended - Checking blocksize field (Blocksize on)","1","Incorrect state. - TN: " & TestName);
	}
	
	set_window ("Medium Properties", 1);

	if (match (database, "TT730") != 0) {			
		button_set ("ThunderRT6CheckBox_1", ON);
	}
		else {
		    button_set ("ThunderRT6CheckBox_1", OFF);
		}
	
	obj_get_info("ThunderRT6CheckBox_1", "value", BlockSizeCheckbox);	
	ActiveX_get_info("txtBlocksize","Locked",BlockSizeTextfield);

	if (match (database, "TT730") != 0) {			
		exp_BlockSizeCheckbox = 1;
		exp_BlockSizeTextfield = "False";
	}
		else {
		exp_BlockSizeCheckbox = 0;
		exp_BlockSizeTextfield = "True";
		}
	
	if (BlockSizeCheckbox == exp_BlockSizeCheckbox &&
		BlockSizeTextfield == exp_BlockSizeTextfield) {
		tl_step ("Medium Properties - TextBackup - Extended - Checking blocksize field (Blocksize off)","0","Correct state. - TN: " & TestName);
	} else {
		tl_step ("Medium Properties - TextBackup - Extended - Checking blocksize field (Blocksize off)","1","Incorrect state. - TN: " & TestName);
	}
#=============================================================================================
# @STEP 8			Going to 'Label' tab and checking the objects.
#=============================================================================================
	set_window ("Medium Properties", 1);
	tab_select_item ("tabPages", "&Label");
	
	L_RC_12 = obj_exists("Read Label",0);
	L_RC_13 = obj_exists("lvwLabel",0);
	
	if (L_RC_12 == 0 &&
		L_RC_13 == 0) {
		
		tl_step ("Medium Properties - TextBackup - Label","0","All expected controls displayed. - TN: " & TestName);
	} else {
		tl_step ("Medium Properties - TextBackup - Label","1","Not all expected controls displayed. - TN: " & TestName);
		tl_step ("Medium Properties - TextBackup - Label","1","Read Label: " & L_RC_12 & " expected: 0. - TN: " & TestName);
		tl_step ("Medium Properties - TextBackup - Label","1","lvwLabel: " & L_RC_13 & " expected: 0. - TN: " & TestName);
	}
#=============================================================================================
# @STEP 9			Clicking 'Read Label' - expecting error.
#=============================================================================================
	set_window ("Medium Properties", 2);
	button_press ("Read Label");

	if (win_exists("Error while Read Label",0) == 0) {
		
		set_window ("Error while Read Label", 2);
		button_press ("OK");
	} else {
		
		tl_step ("Error while Read Label - window","1","not open. - TN: " & TestName);
	}
#=============================================================================================
# @STEP 10			Clicking 'Cancel'.
#=============================================================================================
	set_window ("Medium Properties", 2);
	button_press ("Cancel");
} else {
	
	tl_step("Database Manager Backup Wizard - Window Check", "1", "Window not open. - TN: " & TestName);
	WizardOpen = 0;
}
